La compatibilité de Linux avec le protocole SMB est limitée. Nous recommandons de monter un système de fichiers SMB sur un client Linux uniquement pour partager des données entre différents systèmes d'exploitation. Cette rubrique explique comment monter un système de fichiers SMB sur une instance ECS Linux pour des opérations de lecture et d'écriture.
Prérequis
-
Une instance ECS Linux est disponible dans la même région que le système de fichiers SMB. Pour plus d'informations, consultez Créer une instance ECS.
ImportantPour les clients Linux, nous recommandons de monter des systèmes de fichiers NFS. En raison de la compatibilité limitée de Linux avec le protocole SMB, ne montez un système de fichiers SMB sur un client Linux que si le partage de données entre différents systèmes d'exploitation est indispensable.
Les clients SMB de certaines versions antérieures de Linux présentent des défauts dans certains scénarios. Si vous utilisez une version du système d'exploitation Linux non officiellement prise en charge, Alibaba Cloud ne peut garantir la fiabilité du système de fichiers SMB.
Cette rubrique s'applique uniquement aux distributions Linux suivantes, officiellement prises en charge :
Système d'exploitation
Version
CentOS
CentOS 7.6 64 bits : 3.10.0-957.21.3.el7.x86_64 et versions ultérieures
Alibaba Cloud Linux
Alibaba Cloud Linux 2.1903 64 bits : 4.19.43-13.2.al7.x86_64 et versions ultérieures
Alibaba Cloud Linux 3.2104 64 bits : 5.10.23-4.al8.x86_64 et versions ultérieures
Debian
Debian 9.10 64 bits : 4.9.0-9-amd64 et versions ultérieures
Ubuntu
Ubuntu 18.04 64 bits : 4.15.0-52-generic et versions ultérieures
openSUSE
openSUSE 42.3 64 bits : 4.4.90-28-default et versions ultérieures
SUSE Linux
SUSE Linux Enterprise Server 12 SP2 64 bits : 4.4.74-92.35-default et versions ultérieures
CoreOS
CoreOS 2079.4.0 64 bits : 4.19.43-coreos et versions ultérieures
Un système de fichiers SMB a été créé. Pour plus d'informations, consultez Créer un système de fichiers NAS universel.
Une cible de montage a été créée. Pour plus d'informations, consultez Créer une cible de montage.
-
La connectivité réseau est établie.
Assurez-vous que l'instance ECS Linux et le système de fichiers SMB se trouvent dans le même VPC.
Vérifiez le groupe de sécurité associé au système de fichiers afin de confirmer que l'instance ECS Linux peut accéder au système de fichiers SMB.
-
Assurez-vous que le port TCP 445 est ouvert. Les systèmes de fichiers SMB communiquent via le port TCP 445.
Si le port 445 n'est pas ouvert, ajoutez une règle de groupe de sécurité autorisant l'accès à ce port dans le groupe de sécurité de l'instance ECS cible. Pour plus d'informations, consultez Ajouter une règle de groupe de sécurité.
Installer un client CIFS
Avant de monter un système de fichiers SMB sur un client Linux, installez un client CIFS. Cette configuration unique doit être effectuée sur chaque serveur Linux.
Connectez-vous à l'instance ECS Linux. Pour plus d'informations, consultez Méthodes de connexion.
-
Installez le client CIFS.
Ubuntu and Debian
Utilisez l'outil de gestion de paquets apt-get.
sudo apt-get update sudo apt-get install cifs-utilsRHEL, CentOS, and Alibaba Cloud Linux
Utilisez le gestionnaire de paquets yum.
sudo yum install cifs-utilsOpenSUSE and SLES12-SP2
Utilisez l'outil zypper.
sudo zypper install cifs-utilsCoreOS
Procédez comme suit pour installer le client :
-
Configurez SELinux.
sed -i 's/SELINUXTYPE=mcs/SELINUXTYPE=targeted/' /etc/selinux/config -
Compilez manuellement les outils du client CIFS sur CoreOS.
Suivez ces étapes pour démarrer un conteneur Fedora afin de compiler les outils du client CIFS. Vous pouvez également télécharger la boîte à outils CIFS officielle d'Alibaba Cloud pour CoreOS et la copier dans le répertoire /tmp/ ou /bin.
-
Sur CoreOS, démarrez un conteneur Fedora pour compiler cifs-utils.
docker run -t -i -v /tmp:/cifs fedora /bin/bash -
Dans l'environnement Docker, exécutez les commandes suivantes dans l'ordre.
-
yum groupinstall -y "Development Tools" "Development Libraries" -
yum install -y bzip2 -
curl https://download.samba.org/pub/linux-cifs/cifs-utils/cifs-utils-6.9.tar.bz2 --output cifs-utils-6.9.tar.bz2; -
bunzip2 cifs-utils-6.9.tar.bz2 && tar xvf cifs-utils-6.9.tar -
cd cifs-utils-6.9; ./configure && make -
cp mount.cifs /cifs/ -
exit
-
-
-
Monter le système de fichiers SMB
Sous Linux, vous pouvez monter un système de fichiers NAS SMB manuellement ou automatiquement. Le montage manuel est temporaire et doit être répété à chaque redémarrage du serveur. Le montage automatique est persistant et ne nécessite aucune intervention après un redémarrage. Pour garantir la persistance du montage, nous recommandons de configurer un montage automatique après avoir monté le système de fichiers manuellement avec succès.
Montage manuel
Pour monter le système de fichiers NAS SMB sur une instance ECS Linux, utilisez son adresse de cible de montage.
Connectez-vous à l'instance ECS Linux. Pour plus d'informations, consultez Méthodes de connexion.
-
Exécutez la commande suivante pour monter le système de fichiers.
sudo mount -t cifs //file-system-id.region.nas.aliyuncs.com/myshare /mnt -o vers=2.1,guest,uid=0,gid=0,dir_mode=0755,file_mode=0755,mfsymlinks,cache=strict,rsize=1048576,wsize=1048576La syntaxe de la commande est la suivante :
sudo mount -t cifs //<mount-target-address>/myshare <mount-directory> -o <mount-options>Paramètre
Description
Type de système de fichiers
Lors du montage d'un système de fichiers SMB sur Linux, spécifiez le paramètre
-t cifs.Adresse de la cible de montage
Adresse générée automatiquement lors de la création d'une cible de montage pour le système de fichiers. Remplacez l'espace réservé par votre valeur réelle. Pour obtenir cette adresse, connectez-vous à la console NAS, cliquez sur l'ID du système de fichiers cible, cliquez sur Mount Targets, puis passez le curseur sur l'icône
dans la colonne Mount Target.myshare
Nom du répertoire partagé du système de fichiers SMB. Ce nom ne peut pas être modifié.
Répertoire de montage
Répertoire local où monter le système de fichiers, par exemple /mnt/sharepath.
Options de montage
Spécifiez les options de montage requises en ajoutant le paramètre
-o:-
vers : version du protocole SMB. Les versions 2.1 et ultérieures sont prises en charge.
-
guest : active l'accès invité sans mot de passe. Cette option est requise pour les clients utilisant l'authentification NTLM.
-
rsize : taille maximale des données en octets pour chaque requête de lecture. Nous recommandons de définir cette valeur sur 1048576 (1 Mo).
-
wsize : taille maximale des données en octets pour chaque requête d'écriture. Nous recommandons de définir cette valeur sur 1048576 (1 Mo).
Spécifiez les options de montage facultatives en ajoutant le paramètre
-o:-
uid : ID utilisateur du propriétaire du fichier après le montage du système de fichiers. Valeur par défaut : 0.
-
gid : ID de groupe du propriétaire du fichier après le montage du système de fichiers. Valeur par défaut : 0.
-
dir_mode : permissions pour les répertoires. La valeur doit commencer par 0 (par exemple 0755 ou 0644). Valeur par défaut : 0755.
-
file_mode : permissions pour les fichiers standards. La valeur doit commencer par 0 (par exemple 0755 ou 0644). Valeur par défaut : 0755.
-
mfsymlinks : active la prise en charge des liens symboliques.
-
cache :
-
cache=strict : active la mise en cache côté client pour le système de fichiers SMB. Paramètre par défaut si l'option cache n'est pas spécifiée.
-
cache=none : désactive la mise en cache côté client pour le système de fichiers SMB.
-
-
atime|relatime : si votre activité n'est pas très sensible aux heures d'accès aux fichiers, n'utilisez pas l'option atime. Par défaut, le système de fichiers est monté avec l'option relatime.
Remarque-
Un administrateur autorisé dispose d'un contrôle total sur le système de fichiers SMB.
-
Exécutez la commande
mount | grep cifspour interroger les informations de votre cible de montage. -
Si vous utilisez une distribution Linux non prise en charge, nous vous recommandons vivement d'utiliser une version du noyau 3.10.0-514 ou ultérieure. Si la version du noyau Linux est 3,7 ou antérieure, définissez le paramètre
cache=strictdans les options de montage. Exécutez la commandeuname -apour vérifier la version actuelle du noyau.
-
-
Exécutez la commande
mount -lpour vérifier le résultat du montage.Si la sortie ressemble à ce qui suit, le montage a réussi.
debugfs on /sys/kernel/debug type debugfs (rw,relatime) hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime) mqueue on /dev/mqueue type mqueue (rw,relatime) sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime) tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,size=800928k,mode=700) //xxx-cn-hangzhou.nas.aliuncs.com/mushare on /mnt type cifs (rw,relatime,vers=2.1,sec=none,cache=strict,domain=,uid=0,noforceuid,gid=0,noforcegid,addr=xxx,file_mode=0755,dir_mode=0755,soft,nounix,serverino,mapposix,rsize=1048576,wsize=1048576,echo_interval=60,actimeo=1)Après un montage réussi, exécutez la commande
df -hpour afficher les informations de capacité du système de fichiers actuel.Si le montage échoue, résolvez le problème. Pour plus d'informations, consultez Résoudre les échecs de montage SMB sur Linux.
-
Une fois le système de fichiers monté, accédez-y depuis l'instance ECS Linux pour effectuer des opérations de lecture ou d'écriture.
Accédez au système de fichiers NAS SMB et utilisez-le comme un répertoire standard. Exemple :
[root@ixxxx ~]# mkdir /mnt/dir1 [root@ixxxx ~]# mkdir /mnt/dir2 [root@ixxxx ~]# touch /mnt/file1 [root@ixxxx ~]# echo 'some file content' > /mnt/file2 [root@ixxxx ~]# ls /mnt dir1 dir2 file1 file2 tmp
(Facultatif) Montage automatique
Configurez le fichier /etc/fstab sur l'instance ECS Linux pour monter automatiquement le système de fichiers SMB lors du redémarrage de l'instance.
Avant de configurer le montage automatique, assurez-vous que le montage manuel a réussi. Cela permet d'éviter tout échec de démarrage de l'instance ECS.
-
Ouvrez le fichier de configuration /etc/fstab et ajoutez la configuration de montage automatique.
Remplacez <file-system-id.region.nas.aliyuncs.com> par l'adresse de la cible de montage réelle du système de fichiers NAS, par exemple
237*******-*****.cn-hangzhou.nas.aliyuncs.com.Remplacez </mnt> par le répertoire de montage local, par exemple
/mnt.
//file-system-id.region.nas.aliyuncs.com/myshare /mnt cifs vers=3,guest,uid=0,gid=0,dir_mode=0755,file_mode=0755,mfsymlinks,cache=strict,rsize=1048576,wsize=1048576 0 0Pour une description des principaux paramètres de l'exemple, consultez le tableau des paramètres pour la commande de montage manuel. Les autres paramètres sont décrits ci-dessous.
Paramètre
Description
0 (première valeur après wsize)
Une valeur non nulle indique que le système de fichiers doit être sauvegardé par la commande dump. Pour un système de fichiers NAS, cette valeur doit être 0.
0 (deuxième valeur après wsize)
Ordre dans lequel la commande fsck vérifie les systèmes de fichiers au démarrage. Pour un système de fichiers NAS, cette valeur doit être 0, ce qui indique que fsck ne doit pas s'exécuter au démarrage.
-
Exécutez la commande
rebootpour redémarrer l'instance ECS.ImportantLe redémarrage de l'instance ECS interrompt vos services. Nous recommandons d'effectuer cette opération pendant les heures creuses.
-
Vérifiez que le montage automatique a réussi.
RemarqueDans la minute suivant le redémarrage de l'instance ECS, exécutez la commande
df -hpour confirmer que le système de fichiers NAS est monté.
Cas d'utilisation
Configurez différentes options de montage selon les cas d'utilisation afin d'optimiser les performances du système de fichiers. Les sections suivantes décrivent les cas d'utilisation courants et leurs configurations d'options de montage recommandées.
Accès partagé pour Linux
Répertoires personnels multi-utilisateurs
Accès partagé pour serveurs web
Accès partagé pour Windows et Linux
Contrôle d'accès
Les systèmes de fichiers SMB d'Alibaba Cloud NAS prennent en charge l'authentification des utilisateurs et le contrôle des permissions au niveau du système de fichiers basé sur un domaine Active Directory (AD). En accédant à un système de fichiers SMB en tant qu'utilisateur du domaine, vous pouvez mettre en œuvre un contrôle d'accès au niveau des fichiers et des répertoires.
Pour plus d'informations sur la mise en œuvre de l'authentification des utilisateurs et du contrôle d'accès au niveau du système de fichiers basé sur un système AD, consultez Joindre une cible de montage SMB à un domaine AD et Monter et utiliser un système de fichiers SMB sur un client Linux en tant qu'utilisateur de domaine AD.
Documents connexes
Pour sauvegarder les données d'un système de fichiers SMB, consultez Sauvegarder un système de fichiers NAS universel.
Vous pouvez également activer la corbeille. Si vous supprimez accidentellement des fichiers d'un système de fichiers NAS universel, utilisez la corbeille pour restaurer ces fichiers et leurs métadonnées (UID, GID, ACL). Pour plus d'informations, consultez Corbeille.
Pour monter et accéder à un système de fichiers SMB depuis un serveur local ou un centre de données sur site, consultez Accéder à un système de fichiers depuis un centre de données sur site.
Pour monter un système de fichiers entre plusieurs VPC, régions ou comptes, utilisez Cloud Enterprise Network (CEN). Pour plus d'informations, consultez Utiliser CEN pour monter un système de fichiers NAS entre plusieurs VPC dans la même région ou Monter un système de fichiers NAS entre plusieurs comptes et régions à l'aide de CEN.