CPFS prend en charge l'accès via le protocole NFS. Après avoir créé un système de fichiers CPFS, activez le service de protocole et créez un répertoire d'exportation pour générer une cible de montage. Installez ensuite le client CPFS-NFS sur une instance ECS et exécutez la commande de montage pour accéder au système de fichiers. La cible de montage d'un répertoire d'exportation est indépendante des cibles de montage POSIX. Si vous devez uniquement accéder au système de fichiers CPFS via le protocole NFS, la création d'une cible de montage POSIX n'est pas nécessaire. La suppression d'une cible de montage POSIX existante n'affecte pas l'accès aux données via le répertoire d'exportation.
Prérequis
Un système de fichiers CPFS est créé. Pour plus d'informations, consultez Créer un système de fichiers.
Un service de protocole est créé. Pour plus d'informations, consultez Créer un service de protocole.
Un répertoire d'exportation est créé. Pour plus d'informations, consultez Créer un répertoire d'exportation.
-
Une ou plusieurs instances ECS sont créées et répondent aux conditions suivantes. Pour plus d'informations, consultez Créer une instance ECS.
L'instance ECS dispose d'une adresse IPv4 publique attribuée ou d'une adresse IP élastique associée.
Le système d'exploitation de l'instance figure parmi les systèmes d'exploitation pris en charge par le client CPFS-NFS.
Utilisation
Systèmes d'exploitation pris en charge
|
Type de système d'exploitation |
Version du système d'exploitation |
|
Alibaba Cloud Linux |
|
|
CentOS |
|
|
Ubuntu |
|
|
Debian |
|
|
SUSE |
|
Adresses IP et ports
Lors du montage d'un système de fichiers, le client CPFS-NFS utilise l'adresse IP locale 127.0.1.255 et la plage de ports TCP 30000 à 60000 pour la mise en correspondance des ports.
Si une autre application utilise déjà l'adresse IP 127.0.1.255 ou la plage de ports 30000 à 60000, modifiez la configuration du client CPFS-NFS. Pour plus d'informations, consultez Configuration du client.
Répertoires de fichiers
L'installation du client CPFS-NFS crée les répertoires suivants sur l'instance ECS : le répertoire des fichiers de configuration (/etc/aliyun/cpfs), le répertoire d'exécution (/var/run/cpfs) et le répertoire des journaux (/var/log/aliyun/cpfs/).
Le répertoire d'exécution stocke les fichiers de configuration haproxy générés automatiquement. Si vous spécifiez un chemin personnalisé à l'aide de l'option hp_config_dir , ce chemin prévaut.
Processus
Après le montage d'un système de fichiers CPFS à l'aide du client CPFS-NFS, un processus haproxy démarre sur l'instance ECS pour gérer les accès E/S. Un processus watchdog démarre également afin de surveiller l'état de santé du client CPFS-NFS.
Journaux du client
Les journaux du client CPFS-NFS, situés dans le répertoire /var/log/aliyun/cpfs/, contiennent des informations sur les erreurs de montage. Pour personnaliser le contenu des journaux, modifiez les paramètres du fichier de configuration des journaux situé dans /etc/aliyun/cpfs/cpfs-utils.conf. Après avoir modifié le fichier de configuration, exécutez la commande sudo service aliyun-cpfs-mount-watchdog restart pour redémarrer le processus watchdog backend.
Étape 1 : Télécharger et installer le client CPFS-NFS
Ce client est open source. Pour obtenir le code source ou le compiler manuellement, visitez le référentiel GitHub .
Connectez-vous à l'instance ECS sur laquelle vous souhaitez monter le système de fichiers CPFS. Pour plus d'informations sur la connexion à une instance ECS, consultez Méthodes de connexion.
-
Téléchargez et installez le client CPFS-NFS.
Alibaba Cloud Linux
-
Téléchargez le client CPFS-NFS.
wget https://cpfs-hangzhou-nfs-client.oss-cn-hangzhou.aliyuncs.com/aliyun-alinas-utils-latest.al.noarch.rpm -
Installez le client CPFS-NFS.
sudo yum install aliyun-alinas-utils-*.rpm
CentOS
-
Téléchargez le client CPFS-NFS.
wget https://cpfs-hangzhou-nfs-client.oss-cn-hangzhou.aliyuncs.com/aliyun-alinas-utils-latest.el.noarch.rpm -
Installez le client CPFS-NFS.
sudo yum install aliyun-alinas-utils-*.rpm
Ubuntu
-
Téléchargez le client CPFS-NFS.
sudo wget https://cpfs-hangzhou-nfs-client.oss-cn-hangzhou.aliyuncs.com/aliyun-alinas-utils-latest.deb -O /tmp/aliyun-alinas-utils-latest.deb -
Installez le client CPFS-NFS.
sudo apt-get update sudo apt-get install /tmp/aliyun-alinas-utils-latest.deb
Debian
-
Téléchargez le client CPFS-NFS.
sudo wget https://cpfs-hangzhou-nfs-client.oss-cn-hangzhou.aliyuncs.com/aliyun-alinas-utils-latest.deb -O /tmp/aliyun-alinas-utils-latest.deb -
Installez le client CPFS-NFS.
sudo apt-get update sudo apt-get install /tmp/aliyun-alinas-utils-latest.deb
SUSE
-
Téléchargez le client CPFS-NFS.
wget https://cpfs-hangzhou-nfs-client.oss-cn-hangzhou.aliyuncs.com/aliyun-alinas-utils-latest.lp15.x86_64.rpm -
Installez le client CPFS-NFS.
sudo zypper --no-gpg-checks install -y aliyun-alinas-utils-*.rpm
-
-
Vérifiez l'installation.
which mount.cpfs-nfsUne installation réussie renvoie le résultat suivant :
/usr/sbin/mount.cpfs-nfs
Étape 2 : Monter le système de fichiers avec le client
-
Montez le système de fichiers CPFS.
-
Scénario 1 : Montage standard (chemin par défaut)
Ce scénario s'applique à la plupart des environnements où AppArmor, SELinux ou d'autres restrictions d'accès spécifiques aux chemins ne sont pas activés.
sudo mount -t cpfs-nfs -o vers=3,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport file-system-id.region.cpfs.aliyuncs.com:/share/path /mnt -
Scénario 2 : Montage dans un environnement haute sécurité (par exemple, sur des systèmes avec SELinux ou AppArmor activé)
Si des politiques de renforcement de la sécurité, telles qu'AppArmor ou SELinux, sont activées sur votre système d'exploitation, le montage par défaut peut entraîner des erreurs d'accès. Dans ce cas, spécifiez un chemin à l'aide de l'option hp_config_dir. Lors de l'exécution de la commande, remplacez
<custom_directory>par un chemin autorisé par la politique de sécurité de votre système.sudo mount -t cpfs-nfs -o vers=3,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport,hp_config_dir=<custom_directory> file-system-id.region.cpfs.aliyuncs.com:/share/path /mnt
-
-
Paramètres de la commande de montage
Paramètre
Description
file-system-id.region.cpfs.aliyuncs.com:/share/path /mnt
Spécifie le chemin de montage et le chemin local. Remplacez-les par vos valeurs réelles.
-
Chemin de montage : chemin de montage du répertoire d'exportation. Dans la console File Storage NAS, sur la page de liste des systèmes de fichiers, cliquez sur Manage pour le système de fichiers cible afin d'accéder à la page Protocol Service. Dans la colonne Actions, cliquez sur Export Directory pour ouvrir le panneau Export Directory et obtenir le chemin de montage.
Exemple :
cpfs-196f91a8e58b**-195ceeac7b6ac**.cn-chengdu.cpfs.aliyuncs.com:/share/fileset -
Chemin local : chemin sur l'instance ECS où vous souhaitez monter le système de fichiers. Il peut s'agir du répertoire racine (/) ou de n'importe quel sous-répertoire, tel que /mnt. Si vous spécifiez un sous-répertoire, assurez-vous qu'il existe déjà.
vers
Version NFS. CPFS prend uniquement en charge NFSv3.
Options de montage
Vous pouvez spécifier plusieurs options de montage séparées par des virgules (,). Les options suivantes sont disponibles :
-
rsize : taille du bloc de données (en octets) utilisée pour la lecture des données entre le client et le système de fichiers. Valeur recommandée : 1048576.
-
wsize : taille du bloc de données (en octets) utilisée pour l'écriture des données entre le client et le système de fichiers. Valeur recommandée : 1048576.
RemarqueSi vous devez modifier les paramètres de taille d'E/S (rsize et wsize), nous vous recommandons d'utiliser la valeur maximale (1048576) pour éviter toute dégradation des performances.
-
hard : si le système de fichiers CPFS devient temporairement indisponible, une application locale utilisant un fichier sur ce système s'arrête et attend jusqu'à ce que le système de fichiers soit de nouveau en ligne. Cette option est recommandée.
-
timeo : durée, en dixièmes de seconde, pendant laquelle le client CPFS-NFS attend une réponse avant de réessayer une requête vers le système de fichiers. Valeur recommandée : 600 (60 secondes).
RemarqueSi vous devez modifier le paramètre de délai d'attente (timeo), nous vous recommandons d'utiliser une valeur supérieure ou égale à 150. Cette valeur étant exprimée en dixièmes de seconde, 150 correspond à 15 secondes.
-
retrans : nombre de tentatives de requête effectuées par le client CPFS-NFS. Valeur recommandée : 2.
-
noresvport : utilise un nouveau port TCP lors de la reconnexion réseau afin de garantir que la connexion n'est pas interrompue pendant la récupération après une panne réseau. Cette option est recommandée.
Important-
L'option
softn'est pas recommandée car elle présente un risque pour la cohérence des données. Si vous utilisez l'optionsoft, vous assumez tous les risques associés. -
Évitez de définir d'autres options de montage sur des valeurs différentes des valeurs recommandées. Par exemple, la modification des tailles de tampon de lecture ou d'écriture, ou la désactivation de la mise en cache des attributs, peut dégrader les performances.
-
-
hp_config_dir : (Facultatif) Spécifie le répertoire contenant le fichier de configuration haproxy. Définissez ce paramètre si votre système d'exploitation applique des politiques de renforcement de la sécurité (telles que AppArmor ou SELinux) ou d'autres politiques de haute sécurité qui restreignent les processus à la lecture des configurations ou à l'exécution uniquement dans des chemins spécifiques.
-
Recommandation pour le choix du chemin : sélectionnez un répertoire approprié dans la liste d'autorisation de la politique de sécurité de votre système et assurez-vous que le chemin est autorisé par le module de sécurité.
-
Logique : le client CPFS tente d'abord d'utiliser le répertoire spécifié par ce paramètre. Si vous ne spécifiez pas ce paramètre, le client tente d'analyser automatiquement la liste d'autorisation de la politique de sécurité. En cas d'échec de l'analyse, le client revient au chemin par défaut
/var/run/cpfs.
-
-
-
Exécutez la commande mount -l pour afficher les informations de montage.
Une fois le système de fichiers monté, vous pouvez exécuter la commande
df -hpour consulter les informations de capacité du système de fichiers. -
(Facultatif) Configurez le montage automatique au démarrage.
Pour éviter la perte des informations de montage après le redémarrage de l'instance ECS, configurez le fichier
/etc/fstab. Si vous avez utilisé le paramètrehp_config_dirlors du montage manuel, vous devez également le configurer ici.-
Ouvrez le fichier de configuration
/etc/fstabet ajoutez la configuration de montage.-
Configuration pour un environnement standard :
file-system-id.region.cpfs.aliyuncs.com:/share/path /mnt cpfs-nfs vers=3,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,_netdev,noresvport 0 0 -
Exemple de configuration pour un environnement haute sécurité :
Remplacez
<custom_directory>par un chemin autorisé par la politique de sécurité de votre système.file-system-id.region.cpfs.aliyuncs.com:/share/path /mnt cpfs-nfs vers=3,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,_netdev,noresvport,hp_config_dir=<custom_directory> 0 0 -
Le tableau suivant décrit les autres paramètres.
Paramètre
Description
_netdev
Empêche le client de tenter de monter le système de fichiers avant que le réseau ne soit prêt.
0 (premier élément après noresvport)
Une valeur non nulle indique que la commande dump doit sauvegarder le système de fichiers. Pour les systèmes de fichiers CPFS, cette valeur est 0.
0 (deuxième élément après noresvport)
Indique l'ordre dans lequel la commande fsck vérifie le système de fichiers au démarrage. Pour les systèmes de fichiers CPFS, cette valeur est 0, ce qui empêche l'exécution de fsck au démarrage.
-
-
Exécutez la commande
rebootpour redémarrer l'instance ECS.Avant de redémarrer l'instance ECS, confirmez que le montage manuel a réussi afin d'éviter un échec du redémarrage. Si le montage automatique est configuré correctement, vous pouvez exécuter la commande
df -hpour afficher le système de fichiers CPFS monté après le redémarrage de l'instance ECS.
-
Configuration du client
Fichier de configuration
Si vous devez modifier la configuration du client CPFS-NFS, contactez l'équipe de support technique CPFS. Modifiez le fichier de configuration uniquement sous leur supervision pour éviter de perturber les accès E/S. Le fichier de configuration se trouve dans /etc/aliyun/cpfs/cpfs-utils.conf. Voici un exemple de configuration :
[DEFAULT]
logging_level = INFO
logging_max_bytes = 1048576
logging_file_count = 10
[mount]
stunnel_debug_enabled = false
# Validate the certificate hostname on mount. This option is not supported by certain stunnel versions.
stunnel_check_cert_hostname = false
# Use OCSP to check certificate validity. This option is not supported by certain stunnel versions.
stunnel_check_cert_validity = false
proxy_port = 12049
cpfs_proxy_addr = 127.0.1.255
cpfs_proxy_port_min = 30000
cpfs_proxy_port_max = 60000
[mount-watchdog]
poll_interval_sec = 1
unmount_grace_period_sec = 30
dns_refresh_interval = 60
[client-tool]
Le tableau suivant décrit les paramètres importants du fichier de configuration.
|
Paramètre |
Description |
|
logging_level |
Niveau de journalisation. Valeur par défaut : INFO. |
|
logging_max_bytes |
Taille maximale d'un fichier journal, en octets. Valeur par défaut : 1048576 (1 Mio). |
|
logging_file_count |
Nombre maximal de fichiers journaux à conserver. Valeur par défaut : 10. |
|
cpfs_proxy_addr |
Adresse IP du proxy pour le client CPFS. Valeur par défaut : 127.0.1.255. |
|
cpfs_proxy_port_min |
Valeur minimale de la plage de ports proxy pour le client CPFS. Valeur par défaut : 30000. |
|
cpfs_proxy_port_max |
Valeur maximale de la plage de ports proxy pour le client CPFS. Valeur par défaut : 60000. |
|
poll_interval_sec |
Intervalle de détection pour le service watchdog en arrière-plan. Valeur par défaut : 1 s. |
|
unmount_grace_period_sec |
Délai de grâce pour le nettoyage des fichiers de configuration correspondants après le démontage d'une cible de montage CPFS-NFS. Valeur par défaut : 30 s. |
|
dns_refresh_interval |
Intervalle auquel le service watchdog en arrière-plan vérifie les enregistrements DNS pour déterminer si les nœuds principal et secondaire sont disponibles. Valeur par défaut : 60 s. |
Configuration Haproxy
Pendant le processus de montage, le client CPFS-NFS génère automatiquement un fichier de configuration haproxy et démarre les processus associés. Ne modifiez pas manuellement ce fichier de configuration, sous peine de perturber les accès E/S. Vous pouvez consulter le fichier de configuration haproxy-config.dns pour plus de détails. Par défaut, ce fichier est stocké dans le répertoire /var/run/cpfs/. Si vous avez spécifié le paramètre hp_config_dir lors du montage, le fichier est stocké dans le répertoire personnalisé indiqué. Le code suivant montre un exemple du contenu du fichier :
global
maxconn 4096
defaults
mode tcp
balance leastconn
timeout client 60s
timeout server 60s
timeout connect 3s
retries 3
frontend cpfs2049
bind 127.0.1.255:30000
default_backend bk2049
backend bk2049
server cpfs_primary 172.27.1.189:2049 maxconn 2048 check port 2049 inter 2s fall 5 rise 30 on-marked-up shutdown-backup-sessions
server cpfs_backup 172.27.0.214:2049 maxconn 2048 check port 2049 inter 2s fall 5 rise 30 backup
Le tableau suivant décrit les paramètres importants.
|
Paramètre |
Description |
|
defaults |
Nous vous recommandons de ne pas modifier les valeurs des paramètres par défaut. |
|
frontend |
Adresse IP locale et port pour le proxy haproxy. L'adresse IP par défaut est 127.0.1.255 et la plage de ports va de 30000 à 60000. |
|
backend |
Adresses IP du service CPFS-NFS backend, où |