Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
elearning:workbooks:redhat:rh134:l107 [2024/10/22 07:23] – removed admin | elearning:workbooks:redhat:rh134:l107 [2024/11/21 15:28] (Version actuelle) – admin | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ~~PDF: | ||
+ | Dernière mise-à-jour : ~~LASTMOD~~ | ||
+ | |||
+ | ======RH13408 - Gestion du Stockage en Réseau====== | ||
+ | |||
+ | =====Contenu du Module===== | ||
+ | |||
+ | * **RH13408 - Gestion du Stockage en Réseau** | ||
+ | * Contenu du Module | ||
+ | * Présentation du Network File System (NFS) | ||
+ | * NFSv3 | ||
+ | * Les Services et Processus Principaux du Serveur NFSv3 | ||
+ | * Options d'un Partage NFSv3 | ||
+ | * Commandes de Base de NFSv3 | ||
+ | * NFSv4 | ||
+ | * Différences entre NFSv4 et NFSv3 | ||
+ | * LAB #1 - Configuration du Serveur NFSv4 | ||
+ | * 1.1 - Désactivation de NFSv3 | ||
+ | * 1.2 - Définition d'un Partage | ||
+ | * LAB #2 - Configuration du Client | ||
+ | * 2.1 - Montage Éphémère | ||
+ | * 2.2 - Montage Persistant | ||
+ | * LAB #3 - Configuration de NFSv4 avec Automounter | ||
+ | * Présentation | ||
+ | * Le Service autofs | ||
+ | * 3.1 - Création d'un Fichier de Mappage Indirect | ||
+ | * Configuration du Serveur | ||
+ | * Configuration du Client | ||
+ | * 3.2 - Création d'un Fichier de Mappage Indirect | ||
+ | * Configuration du Serveur | ||
+ | * Configuration du Client | ||
+ | |||
+ | =====Présentation du Network File System (NFS)===== | ||
+ | |||
+ | Le Network File System (NFS) est un protocole Internet standard que Linux, UNIX et d' | ||
+ | les permissions Linux natives et les attributs du système de fichiers. | ||
+ | |||
+ | Par défaut, Red Hat 9 utilise la version 4.2 de NFS. RHEL prend entièrement en charge les protocoles NFSv3 et NFSv4. NFSv3 peut utiliser un protocole de transport TCP ou UDP, mais NFSv4 n' | ||
+ | |||
+ | Les serveurs NFS exportent des répertoires. Les clients NFS montent les répertoires exportés dans un répertoire local existant. Les clients NFS peuvent monter les répertoires exportés de plusieurs manières : | ||
+ | |||
+ | * Manuellement en utilisant la commande mount, | ||
+ | * De manière persistante au démarrage en configurant des entrées dans le fichier /etc/fstab, | ||
+ | * À la demande, en configurant une méthode de d' | ||
+ | |||
+ | Les méthodes d' | ||
+ | |||
+ | * le service autofs, | ||
+ | * systemd.automount. | ||
+ | |||
+ | Il convient d' | ||
+ | |||
+ | Red Hat 9 prend également en charge le montage de répertoires partagés à partir de systèmes Microsoft Windows(R) en utilisant les mêmes méthodes que pour le protocole NFS, en utilisant les protocoles **Server Message Block** (SMB) ou | ||
+ | **Common Internet File System** (CIFS). Les options de montage sont spécifiques au protocole et dépendent de la configuration du Windows ou du Samba. | ||
+ | |||
+ | ====NFSv3==== | ||
+ | |||
+ | Le protocole NFS a changé de manière significative entre NFSv3 et NFSv4. La méthode d' | ||
+ | |||
+ | ===Les Services et Processus Principaux du Serveur NFSv3=== | ||
+ | |||
+ | La version NFSv3 utilise les services suivants : | ||
+ | |||
+ | ^ Services ^ Fonction ^ | ||
+ | | **nfsd** | Démarre le service NFS ainsi que les processus RPC pour recevoir et traiter les demandes des clients | | ||
+ | | **nfslock** | Démarre les processus RPC qui permettent aux clients de verrouiller les fichiers sur le serveur | ||
+ | | **portmap** | Gestion des réservations des ports pour les services RPC locaux afin que les services RPC distants puissent se connecter | | ||
+ | |||
+ | ===Options d'un Partage NFSv3=== | ||
+ | |||
+ | Certaines options, appliquées à un partage, modifient le comportement du serveur NFSv3 pour le partage concerné lors de son démarrage : | ||
+ | |||
+ | ^ Option ^ Comportement ^ | ||
+ | | **ro** | Accès en lecture seule | | ||
+ | | **rw** | Accès en lecture / écriture | | ||
+ | | **sync** | Ecriture synchrone ( écriture immédiate sur disque ) | | ||
+ | | **async** | Ecriture asynchrone ( écriture sur disque en utilisant une cache ) | | ||
+ | | **root_squash** | Root perd ses prérogatives sur le partage concerné | | ||
+ | | **no_root_squash** | Root garde ses prérogatives sur le partage concerné | | ||
+ | | **no_lock** | Pas de verrous sur les fichiers accédés | | ||
+ | | **all_squash** | Force la mapping de tous les utilisateurs vers l' | ||
+ | | **anonuid** | Fixe l'UID de l' | ||
+ | | **anongid** | Fixe le GID de l' | ||
+ | |||
+ | <WRAP center round important> | ||
+ | **Important** : Si plusieurs options sont spécifiées, | ||
+ | </ | ||
+ | |||
+ | ===Commandes de Base de NFSv3=== | ||
+ | |||
+ | Plusieurs commandes permettent de gérer et de s' | ||
+ | |||
+ | ^ Commande ^ Comportement ^ | ||
+ | | **exportfs** | Affiche les partages actifs sur le serveur courant | | ||
+ | | **nfsstat** | Affiche les statistiques de l' | ||
+ | | **rpcinfo** | Affiche les démons gérés en effectuant une requête RPC sur le serveur courant | | ||
+ | | **showmount** | Affiche les partages actifs sur un serveur distant | | ||
+ | | **mount** | Permet de monter un partage distant sur un répertoire local | | ||
+ | |||
+ | ====NFSv4==== | ||
+ | |||
+ | ===Différences entre NFSv4 et NFSv3==== | ||
+ | |||
+ | Le protocole NFSv4 a éliminé l' | ||
+ | |||
+ | NFSv4 a introduit une arborescence d' | ||
+ | |||
+ | Le format de cette commande est le suivant : | ||
+ | |||
+ | < | ||
+ | # mkdir /mountpoint | ||
+ | |||
+ | # mount -t nfs -o rw,sync server:/ | ||
+ | </ | ||
+ | |||
+ | <WRAP center round important 60%> | ||
+ | **Important** : L' | ||
+ | </ | ||
+ | |||
+ | Pour monter une exportation NFSv4 tout en parcourant l' | ||
+ | |||
+ | A noter que, les répertoires exportés qui utilisent la sécurité Kerberos n' | ||
+ | |||
+ | =====LAB #1 - Configuration du Serveur NFSv4===== | ||
+ | |||
+ | Vérifiez l' | ||
+ | |||
+ | < | ||
+ | [root@redhat9 ~]# virsh list --all | ||
+ | | ||
+ | ------------------------- | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | Connectez-vous à machine virtuelle **testvm2** et activez et démarrez le service **nfs-server** : | ||
+ | |||
+ | < | ||
+ | [root@redhat9 ~]# virsh console testvm2 | ||
+ | Connected to domain ' | ||
+ | Escape character is ^] (Ctrl + ]) | ||
+ | [Enter] | ||
+ | [root@testvm2 ~]# systemctl enable --now nfs-server | ||
+ | Created symlink / | ||
+ | [root@testvm2 ~]# systemctl status nfs-server | ||
+ | ● nfs-server.service - NFS server and services | ||
+ | | ||
+ | | ||
+ | Docs: man: | ||
+ | | ||
+ | Process: 5309 ExecStartPre=/ | ||
+ | Process: 5310 ExecStart=/ | ||
+ | Process: 5329 ExecStart=/ | ||
+ | Main PID: 5329 (code=exited, | ||
+ | CPU: 31ms | ||
+ | |||
+ | Oct 28 12:08:12 testvm2.ittraining.loc systemd[1]: Starting NFS server and serv> | ||
+ | Oct 28 12:08:12 testvm2.ittraining.loc systemd[1]: Finished NFS server and serv> | ||
+ | </ | ||
+ | |||
+ | ====1.1 - Désactivation de NFSv3==== | ||
+ | |||
+ | Le serveur NFS fonctionne en mode mixte NFSv3/ | ||
+ | |||
+ | < | ||
+ | [root@testvm2 ~]# nfsstat | ||
+ | Server rpc stats: | ||
+ | calls badcalls | ||
+ | 0 0 0 0 0 | ||
+ | </ | ||
+ | |||
+ | Pour désactiver le serveur NFSv3, éditez la section **[nfsd]** du fichier **/ | ||
+ | |||
+ | < | ||
+ | [root@testvm2 ~]# cat / | ||
+ | ... | ||
+ | [nfsd] | ||
+ | # debug=0 | ||
+ | # threads=8 | ||
+ | # host= | ||
+ | # port=0 | ||
+ | # grace-time=90 | ||
+ | # lease-time=90 | ||
+ | # udp=n | ||
+ | # tcp=y | ||
+ | # vers3=y | ||
+ | # vers4=y | ||
+ | # vers4.0=y | ||
+ | # vers4.1=y | ||
+ | # vers4.2=y | ||
+ | rdma=y | ||
+ | rdma-port=20049 | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | [root@testvm2 ~]# vi / | ||
+ | [root@testvm2 ~]# cat / | ||
+ | ... | ||
+ | [nfsd] | ||
+ | # debug=0 | ||
+ | # threads=8 | ||
+ | # host= | ||
+ | # port=0 | ||
+ | # grace-time=90 | ||
+ | # lease-time=90 | ||
+ | # udp=n | ||
+ | # tcp=y | ||
+ | vers3=n | ||
+ | # vers4=y | ||
+ | # vers4.0=y | ||
+ | # vers4.1=y | ||
+ | vers4.2=y | ||
+ | rdma=y | ||
+ | rdma-port=20049 | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | Désactivez tous les services NFSv3 : | ||
+ | |||
+ | < | ||
+ | [root@testvm2 ~]# systemctl mask --now rpc-statd.service rpcbind.service rpcbind.socket | ||
+ | Created symlink / | ||
+ | Created symlink / | ||
+ | Created symlink / | ||
+ | </ | ||
+ | |||
+ | Redémarrez le service **nfs-server** : | ||
+ | |||
+ | < | ||
+ | [root@testvm2 ~]# systemctl restart nfs-server | ||
+ | </ | ||
+ | |||
+ | Vérifiez la désactivation de NFSv3 en consultant le fichier **/ | ||
+ | |||
+ | < | ||
+ | [root@testvm2 ~]# cat / | ||
+ | -3 +4 +4.1 +4.2 | ||
+ | </ | ||
+ | |||
+ | Créez ensuite le fichier **/ | ||
+ | |||
+ | < | ||
+ | [root@testvm2 ~]# mkdir / | ||
+ | |||
+ | [root@testvm2 ~]# vi / | ||
+ | |||
+ | [root@testvm2 ~]# cat / | ||
+ | [Service] | ||
+ | ExecStart= | ||
+ | ExecStart=/ | ||
+ | </ | ||
+ | |||
+ | Rechargez le service **nfs-mountd** : | ||
+ | |||
+ | < | ||
+ | [root@testvm2 ~]# systemctl daemon-reload | ||
+ | |||
+ | [root@testvm2 ~]# systemctl restart nfs-mountd | ||
+ | |||
+ | [root@testvm2 ~]# systemctl status nfs-mountd | ||
+ | ● nfs-mountd.service - NFS Mount Daemon | ||
+ | | ||
+ | Drop-In: / | ||
+ | | ||
+ | | ||
+ | Docs: man: | ||
+ | Process: 1410 ExecStart=/ | ||
+ | Main PID: 1412 (rpc.mountd) | ||
+ | Tasks: 1 (limit: 11096) | ||
+ | | ||
+ | CPU: 6ms | ||
+ | | ||
+ | | ||
+ | |||
+ | Oct 28 12:44:22 testvm2.ittraining.loc systemd[1]: Starting NFS Mount Daemon... | ||
+ | Oct 28 12:44:22 testvm2.ittraining.loc rpc.mountd[1410]: | ||
+ | Oct 28 12:44:22 testvm2.ittraining.loc rpc.mountd[1412]: | ||
+ | Oct 28 12:44:22 testvm2.ittraining.loc systemd[1]: Started NFS Mount Daemon. | ||
+ | </ | ||
+ | |||
+ | ====1.2 - Définition d'un Partage==== | ||
+ | |||
+ | Créez le répertoire **/ | ||
+ | |||
+ | < | ||
+ | [root@testvm2 ~]# mkdir /mountpoint | ||
+ | </ | ||
+ | |||
+ | Modifez les permissions et le groupe du répertoire : | ||
+ | |||
+ | < | ||
+ | [root@testvm2 ~]# chmod 2770 /mountpoint | ||
+ | |||
+ | [root@testvm2 ~]# chgrp users /mountpoint | ||
+ | |||
+ | [root@testvm2 ~]# ls -ld / | ||
+ | drwxrws---. 2 root users 6 Oct 28 13:05 / | ||
+ | </ | ||
+ | |||
+ | Créez ensuite les fichiers **test1.txt** et **test2.txt** dans le répertoire **/ | ||
+ | |||
+ | < | ||
+ | [root@testvm2 mountpoint1]# | ||
+ | |||
+ | [root@testvm2 mountpoint]# | ||
+ | |||
+ | [root@testvm2 mountpoint1]# | ||
+ | </ | ||
+ | |||
+ | Editez ensuite le fichier **/ | ||
+ | |||
+ | < | ||
+ | [root@testvm2 ~]# vi / | ||
+ | |||
+ | [root@testvm2 ~]# cat / | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | Configurez SELinux en mode **permissive** et arrêtez le service **firewalld** : | ||
+ | |||
+ | < | ||
+ | [root@testvm2 ~]# setenforce permissive | ||
+ | |||
+ | [root@testvm2 ~]# systemctl stop firewalld | ||
+ | </ | ||
+ | |||
+ | Redémarrez le service **nfs-server** : | ||
+ | |||
+ | < | ||
+ | [root@testvm2 ~]# systemctl restart nfs-server | ||
+ | |||
+ | [root@testvm2 ~]# systemctl status nfs-server | ||
+ | ● nfs-server.service - NFS server and services | ||
+ | | ||
+ | | ||
+ | Docs: man: | ||
+ | | ||
+ | Process: 1475 ExecStartPre=/ | ||
+ | Process: 1476 ExecStart=/ | ||
+ | Process: 1486 ExecStart=/ | ||
+ | Main PID: 1486 (code=exited, | ||
+ | CPU: 30ms | ||
+ | |||
+ | Oct 28 13:10:34 testvm2.ittraining.loc systemd[1]: Starting NFS server and serv> | ||
+ | Oct 28 13:10:35 testvm2.ittraining.loc systemd[1]: Finished NFS server and serv> | ||
+ | </ | ||
+ | |||
+ | Ajoutez le groupe et l' | ||
+ | |||
+ | < | ||
+ | [root@testvm2 ~]# groupadd trainee && useradd trainee -c Trainee -d / | ||
+ | </ | ||
+ | |||
+ | Définissez le mot de passe **trainee** pour l' | ||
+ | |||
+ | < | ||
+ | [root@testvm2 ~]# passwd trainee | ||
+ | Changement de mot de passe pour l' | ||
+ | Nouveau mot de passe : trainee | ||
+ | MOT DE PASSE INCORRECT : Le mot de passe comporte moins de 8 caractères | ||
+ | Retapez le nouveau mot de passe : trainee | ||
+ | passwd : mise à jour réussie de tous les jetons d' | ||
+ | </ | ||
+ | |||
+ | =====LAB #2 - Configuration du Client NFSv4===== | ||
+ | |||
+ | Déconnectez-vous de la machine virtuelle **testvm2** : | ||
+ | |||
+ | < | ||
+ | [root@testvm2 ~]# [CTRL]+[VERR MAJ]+[5] | ||
+ | [root@redhat9 ~]# | ||
+ | </ | ||
+ | |||
+ | Connectez-vous à la machine virtuelle **testvm1** : | ||
+ | |||
+ | < | ||
+ | [root@redhat9 ~]# virsh console testvm1 | ||
+ | Connected to domain ' | ||
+ | Escape character is ^] (Ctrl + ]) | ||
+ | [Enter] | ||
+ | [root@testvm1 /]# | ||
+ | </ | ||
+ | |||
+ | Installez le paquet **nfs-utils** : | ||
+ | |||
+ | < | ||
+ | [root@testvm1 /]# dnf install -y nfs-utils | ||
+ | </ | ||
+ | |||
+ | Ajoutez le groupe et l' | ||
+ | |||
+ | < | ||
+ | [root@testvm1 /]# groupadd trainee && useradd trainee -c Trainee -d / | ||
+ | </ | ||
+ | |||
+ | Définissez le mot de passe **trainee** pour l' | ||
+ | |||
+ | < | ||
+ | [root@testvm1 /]# passwd trainee | ||
+ | Changement de mot de passe pour l' | ||
+ | Nouveau mot de passe : trainee | ||
+ | MOT DE PASSE INCORRECT : Le mot de passe comporte moins de 8 caractères | ||
+ | Retapez le nouveau mot de passe : trainee | ||
+ | passwd : mise à jour réussie de tous les jetons d' | ||
+ | </ | ||
+ | |||
+ | ===2.1 - Montage Ephémère=== | ||
+ | |||
+ | Montez le partage **192.168.56.100:/ | ||
+ | |||
+ | < | ||
+ | [root@testvm1 /]# mount -t nfs -o rw,sync 192.168.56.100:/ | ||
+ | [172524.919003] FS-Cache: Loaded | ||
+ | [172525.206140] Key type dns_resolver registered | ||
+ | [172525.606078] NFS: Registering the id_resolver key type | ||
+ | [172525.606089] Key type id_resolver registered | ||
+ | [172525.606090] Key type id_legacy registered | ||
+ | </ | ||
+ | |||
+ | Vérifiez que le montage a été effectué : | ||
+ | |||
+ | < | ||
+ | [root@testvm1 /]# mount | grep mountpoint | ||
+ | 192.168.56.100:/ | ||
+ | </ | ||
+ | |||
+ | Essayez de vous placer dans le répertoire **/mnt** : | ||
+ | |||
+ | < | ||
+ | [root@testvm1 /]# ls -l /mnt | ||
+ | ls: impossible d' | ||
+ | </ | ||
+ | |||
+ | L' | ||
+ | |||
+ | < | ||
+ | [root@testvm1 /]# su - trainee | ||
+ | |||
+ | [trainee@testvm1 ~]$ ls -l /mnt | ||
+ | total 0 | ||
+ | -rw-r--r--. 1 root users 0 28 oct. 13:59 test1.txt | ||
+ | -rw-r--r--. 1 root users 0 28 oct. 13:59 test2.txt | ||
+ | </ | ||
+ | |||
+ | Créez maintenant le fichier **/ | ||
+ | |||
+ | < | ||
+ | [trainee@testvm1 ~]$ touch / | ||
+ | |||
+ | [trainee@testvm1 ~]$ ls -l /mnt | ||
+ | total 0 | ||
+ | -rw-r--r--. 1 root users 0 28 oct. 13:59 test1.txt | ||
+ | -rw-r--r--. 1 root users 0 28 oct. 13:59 test2.txt | ||
+ | -rw-r--r--. 1 trainee users 0 28 oct. 14:06 test3.txt | ||
+ | </ | ||
+ | |||
+ | ====2.2 - Montage Permanent==== | ||
+ | |||
+ | Démontez le point de montage **/mnt** : | ||
+ | |||
+ | < | ||
+ | [root@testvm1 /]# umount /mnt | ||
+ | |||
+ | [root@testvm1 /]# mount | grep mountpoint | ||
+ | |||
+ | [root@testvm1 /]# ls /mnt | ||
+ | |||
+ | </ | ||
+ | |||
+ | Editez ensuite le fichier **/ | ||
+ | |||
+ | < | ||
+ | [root@testvm1 /]# vi /etc/fstab | ||
+ | |||
+ | [root@testvm1 /]# cat /etc/fstab | ||
+ | |||
+ | # | ||
+ | # /etc/fstab | ||
+ | # Created by anaconda on Fri Oct 25 15:41:24 2024 | ||
+ | # | ||
+ | # Accessible filesystems, | ||
+ | # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info. | ||
+ | # | ||
+ | # After editing this file, run ' | ||
+ | # units generated from this file. | ||
+ | # | ||
+ | UUID=e778bb41-0528-4e4b-9b6b-b80070117978 / | ||
+ | UUID=6d55a589-bef2-4a9b-941f-d2f288057104 /boot | ||
+ | UUID=11306088-b22e-4906-9c31-b2f1a8b416fd none swap defaults | ||
+ | 192.168.56.100:/ | ||
+ | </ | ||
+ | |||
+ | Exécutez la commande **systemctl daemon-reload** pour une prise en compte des modifications : | ||
+ | |||
+ | < | ||
+ | [root@testvm1 /]# systemctl daemon-reload | ||
+ | [175309.751966] systemd-rc-local-generator[4833]: | ||
+ | </ | ||
+ | |||
+ | Appliquez maintenant le fichier **/ | ||
+ | |||
+ | < | ||
+ | [root@testvm1 /]# mount -a | ||
+ | |||
+ | [root@testvm1 /]# mount | grep mountpoint | ||
+ | 192.168.56.100:/ | ||
+ | </ | ||
+ | |||
+ | Devenez l' | ||
+ | |||
+ | < | ||
+ | [root@testvm1 /]# su - trainee | ||
+ | Dernière connexion : lundi 28 octobre 2024 à 14:04:58 CET sur ttyS0 | ||
+ | |||
+ | [trainee@testvm1 ~]$ ls -l /mnt | ||
+ | total 0 | ||
+ | -rw-r--r--. 1 root users 0 28 oct. 13:59 test1.txt | ||
+ | -rw-r--r--. 1 root users 0 28 oct. 13:59 test2.txt | ||
+ | -rw-r--r--. 1 trainee users 0 28 oct. 14:06 test3.txt | ||
+ | |||
+ | [trainee@testvm1 ~]$ exit | ||
+ | déconnexion | ||
+ | </ | ||
+ | |||
+ | Déconnectez-vous de la machine virtuelle **testvm1** : | ||
+ | |||
+ | < | ||
+ | [root@testvm1 /]# [CTRL]+[VERR MAJ]+[5] | ||
+ | [root@redhat9 ~]# | ||
+ | </ | ||
+ | |||
+ | Connectez-vous à la machine virtuelle **testvm2** : | ||
+ | |||
+ | < | ||
+ | [root@redhat9 ~]# virsh console testvm2 | ||
+ | Connected to domain ' | ||
+ | Escape character is ^] (Ctrl + ]) | ||
+ | [Enter] | ||
+ | [root@testvm2 ~]# | ||
+ | </ | ||
+ | |||
+ | Vérifiez la présence des trois fichiers dans le répertoire **/ | ||
+ | |||
+ | < | ||
+ | [root@testvm2 ~]# ls -l /mountpoint | ||
+ | total 0 | ||
+ | -rw-r--r--. 1 root users 0 Oct 28 13:59 test1.txt | ||
+ | -rw-r--r--. 1 root users 0 Oct 28 13:59 test2.txt | ||
+ | -rw-r--r--. 1 trainee users 0 Oct 28 14:06 test3.txt | ||
+ | </ | ||
+ | |||
+ | =====LAB #3 - Configuration de NFSv4 avec Automounter===== | ||
+ | |||
+ | ====Présentation==== | ||
+ | |||
+ | L' | ||
+ | |||
+ | Automounter a été créée pour résoudre le problème des utilisateurs non privilégiés qui ne disposent pas des autorisations suffisantes pour utiliser la commande **mount**. Sans l' | ||
+ | |||
+ | En outre, si un système de fichiers local ou distant n'est pas monté au démarrage à l'aide de la configuration **/ | ||
+ | |||
+ | Les fichiers de configuration d' | ||
+ | |||
+ | Bien que les systèmes de fichiers spécifiés dans /etc/fstab se montent au démarrage du système restent montés jusqu' | ||
+ | |||
+ | L' | ||
+ | |||
+ | L' | ||
+ | |||
+ | Lorsque le système de fichiers est à nouveau monté, le service autofs utilise la configuration de montage la plus récente, contrairement à un montage dans le fichier /etc/fstab, qui peut encore utiliser une configuration montée il y a plusieurs mois lors du dernier démarrage du système. En outre, si la configuration de serveur NFS comprend des serveurs et des chemins d' | ||
+ | |||
+ | ====Le Service autofs==== | ||
+ | |||
+ | Le service autofs prend en charge les mêmes systèmes de fichiers locaux et distants que le fichier /etc/fstab, y compris les protocoles de partage de fichiers NFS et SMB, et prend en charge les mêmes options de montage spécifiques au protocole, y compris les paramètres de sécurité. Les systèmes de fichiers montés par l' | ||
+ | |||
+ | Comme l' | ||
+ | |||
+ | La différence est qu'un système de fichiers Automounter reste démonté jusqu' | ||
+ | |||
+ | ====3.1 - Création d'un Fichier de Mappage Indirect==== | ||
+ | |||
+ | On parle de montage indirect lorsque l' | ||
+ | |||
+ | ===Configuration du Serveur=== | ||
+ | |||
+ | Editez le fichier **/ | ||
+ | |||
+ | < | ||
+ | [root@testvm2 ~]# vi / | ||
+ | |||
+ | [root@testvm2 ~]# cat / | ||
+ | / | ||
+ | /home | ||
+ | </ | ||
+ | |||
+ | Redémarrez le service **nfs-server** : | ||
+ | |||
+ | < | ||
+ | [root@testvm2 ~]# systemctl restart nfs-server | ||
+ | </ | ||
+ | |||
+ | Devenez l' | ||
+ | |||
+ | < | ||
+ | [root@testvm2 ~]# su - trainee | ||
+ | Last login: Tue Oct 29 13:56:07 CET 2024 on ttyS0 | ||
+ | |||
+ | [trainee@testvm2 ~]$ touch test4.txt | ||
+ | </ | ||
+ | |||
+ | ===Configuration du Client=== | ||
+ | |||
+ | Déconnectez-vous de la machine virtuelle **testvm2** : | ||
+ | |||
+ | < | ||
+ | [root@testvm2 ~]# [CTRL]+[VERR MAJ]+[5] | ||
+ | [root@redhat9 ~]# | ||
+ | </ | ||
+ | |||
+ | Connectez-vous à la machine virtuelle **testvm1** : | ||
+ | |||
+ | < | ||
+ | [root@redhat9 ~]# virsh console testvm1 | ||
+ | Connected to domain ' | ||
+ | Escape character is ^] (Ctrl + ]) | ||
+ | [Enter] | ||
+ | [root@testvm1 /]# | ||
+ | </ | ||
+ | |||
+ | Configurez SELinux en mode **permissive** | ||
+ | |||
+ | < | ||
+ | [root@testvm1 /]# setenforce permissive | ||
+ | </ | ||
+ | |||
+ | Arrêtez le service **firewalld** : | ||
+ | |||
+ | < | ||
+ | [root@testvm1 /]# systemctl stop firewalld | ||
+ | </ | ||
+ | |||
+ | Installez le paquet **autofs** : | ||
+ | |||
+ | < | ||
+ | [root@testvm1 /]# dnf install autofs -y | ||
+ | </ | ||
+ | |||
+ | Créez ensuite le fichier de mappage indirect maître **/ | ||
+ | |||
+ | < | ||
+ | [root@testvm1 /]# vi / | ||
+ | |||
+ | [root@testvm1 /]# cat / | ||
+ | /home / | ||
+ | </ | ||
+ | |||
+ | Créez le fichier de mappage **/ | ||
+ | |||
+ | < | ||
+ | [root@testvm1 /]# vi / | ||
+ | |||
+ | [root@testvm1 /]# cat / | ||
+ | * | ||
+ | </ | ||
+ | |||
+ | <WRAP center round important 60%> | ||
+ | **Important** : Notez que le format du nom du fichier de mappage maître est **nom**.autofs et que le format du nom du fichier de mappage est auto.**nom**. Les deux valeurs de **nom** doivent être identique. | ||
+ | </ | ||
+ | |||
+ | Afin d' | ||
+ | |||
+ | < | ||
+ | [root@testvm1 /]# vi / | ||
+ | |||
+ | [root@testvm1 /]# cat / | ||
+ | ... | ||
+ | # In order of likelihood of use to accelerate lookup. | ||
+ | passwd: | ||
+ | shadow: | ||
+ | group: | ||
+ | hosts: | ||
+ | services: | ||
+ | netgroup: | ||
+ | automount: | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | Activez et démarrez le service **autofs** : | ||
+ | |||
+ | < | ||
+ | [root@testvm1 /]# systemctl enable --now autofs | ||
+ | |||
+ | [root@testvm1 /]# systemctl status autofs | ||
+ | ● autofs.service - Automounts filesystems on demand | ||
+ | | ||
+ | | ||
+ | Main PID: 3425 (automount) | ||
+ | Tasks: 7 (limit: 23172) | ||
+ | | ||
+ | CPU: 68ms | ||
+ | | ||
+ | | ||
+ | |||
+ | oct. 29 13:55:10 testvm1.ittraining.loc systemd[1]: Starting Automounts filesys> | ||
+ | oct. 29 13:55:10 testvm1.ittraining.loc systemd[1]: Started Automounts filesyst> | ||
+ | </ | ||
+ | |||
+ | Vérifiez la prise en compte de la configuration : | ||
+ | |||
+ | < | ||
+ | [root@testvm1 /]# mount | tail | ||
+ | none on / | ||
+ | fusectl on / | ||
+ | /dev/vda1 on /boot type xfs (rw, | ||
+ | none on / | ||
+ | sunrpc on / | ||
+ | 192.168.56.100:/ | ||
+ | tmpfs on /run/user/0 type tmpfs (rw, | ||
+ | / | ||
+ | -hosts on /net type autofs (rw, | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | Devenez l' | ||
+ | |||
+ | < | ||
+ | [root@testvm1 /]# su - trainee | ||
+ | Dernière connexion : mardi 29 octobre 2024 à 13:55:17 CET sur ttyS0 | ||
+ | </ | ||
+ | |||
+ | Exécutez la commande **ls**. Vous devez voir le fichier **test4.txt** qui a été créé dans la machine virtuelle **testvm2** : | ||
+ | |||
+ | < | ||
+ | [trainee@testvm1 ~]$ ls | ||
+ | test4.txt | ||
+ | |||
+ | [trainee@testvm1 ~]$ exit | ||
+ | </ | ||
+ | |||
+ | Déconnectez-vous de la machine virtuelle **testvm1** : | ||
+ | |||
+ | < | ||
+ | [root@testvm1 /]# [CTRL]+[VERR MAJ]+[5] | ||
+ | [root@redhat9 ~]# | ||
+ | </ | ||
+ | |||
+ | Connectez-vous à la machine virtuelle **testvm2** : | ||
+ | |||
+ | < | ||
+ | [root@redhat9 ~]# virsh console testvm2 | ||
+ | Connected to domain ' | ||
+ | Escape character is ^] (Ctrl + ]) | ||
+ | [Enter] | ||
+ | [root@testvm2 ~]# | ||
+ | </ | ||
+ | |||
+ | Devenez l' | ||
+ | |||
+ | < | ||
+ | [root@testvm2 ~]# su - trainee | ||
+ | Last login: Tue Oct 29 13:56:07 CET 2024 on ttyS0 | ||
+ | |||
+ | [trainee@testvm2 ~]$ touch test5.txt | ||
+ | |||
+ | [trainee@testvm2 ~]$ ls | ||
+ | test4.txt | ||
+ | </ | ||
+ | |||
+ | Déconnectez-vous de la machine virtuelle **testvm2** : | ||
+ | |||
+ | < | ||
+ | [root@testvm2 ~]# [CTRL]+[VERR MAJ]+[5] | ||
+ | [root@redhat9 ~]# | ||
+ | </ | ||
+ | |||
+ | Connectez-vous à la machine virtuelle **testvm1** : | ||
+ | |||
+ | < | ||
+ | [root@redhat9 ~]# virsh console testvm1 | ||
+ | Connected to domain ' | ||
+ | Escape character is ^] (Ctrl + ]) | ||
+ | [Enter] | ||
+ | [root@testvm1 /]# | ||
+ | </ | ||
+ | |||
+ | Devenez l' | ||
+ | |||
+ | < | ||
+ | [trainee@testvm1 ~]$ ls | ||
+ | test4.txt | ||
+ | |||
+ | [trainee@testvm1 ~]$ exit | ||
+ | </ | ||
+ | |||
+ | ====3.2 - Création d'un Fichier de Mappage Direct==== | ||
+ | |||
+ | On parle de montage direct lorsqu' | ||
+ | |||
+ | Déconnectez-vous de la machine virtuelle **testvm1** : | ||
+ | |||
+ | < | ||
+ | [root@testvm1 /]# [CTRL]+[VERR MAJ]+[5] | ||
+ | [root@redhat9 ~]# | ||
+ | </ | ||
+ | |||
+ | Connectez-vous à la machine virtuelle **testvm2** : | ||
+ | |||
+ | < | ||
+ | [root@redhat9 ~]# virsh console testvm2 | ||
+ | Connected to domain ' | ||
+ | Escape character is ^] (Ctrl + ]) | ||
+ | [Enter] | ||
+ | [root@testvm2 ~]# | ||
+ | </ | ||
+ | |||
+ | ===Configuration du Serveur=== | ||
+ | |||
+ | Éditez le fichier **/ | ||
+ | |||
+ | < | ||
+ | [root@testvm2 ~]# vi / | ||
+ | |||
+ | [root@testvm2 ~]# cat / | ||
+ | / | ||
+ | /home | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | Redémarrez le service **nfs-server** : | ||
+ | |||
+ | < | ||
+ | [root@testvm2 ~]# systemctl restart nfs-server | ||
+ | </ | ||
+ | |||
+ | Créez le répertoire **/ | ||
+ | |||
+ | < | ||
+ | [root@testvm2 ~]# mkdir / | ||
+ | |||
+ | [root@testvm2 ~]# chmod 777 / | ||
+ | </ | ||
+ | |||
+ | ===Configuration du Client=== | ||
+ | |||
+ | Déconnectez-vous de la machine virtuelle **testvm2** : | ||
+ | |||
+ | < | ||
+ | [root@testvm2 ~]# [CTRL]+[VERR MAJ]+[5] | ||
+ | [root@redhat9 ~]# | ||
+ | </ | ||
+ | |||
+ | Connectez-vous à la machine virtuelle **testvm1** : | ||
+ | |||
+ | < | ||
+ | [root@redhat9 ~]# virsh console testvm1 | ||
+ | Connected to domain ' | ||
+ | Escape character is ^] (Ctrl + ]) | ||
+ | [Enter] | ||
+ | [root@testvm1 /]# | ||
+ | </ | ||
+ | |||
+ | Créez le fichier de mappage direct maître **/ | ||
+ | |||
+ | < | ||
+ | [root@testvm1 /]# vi / | ||
+ | |||
+ | [root@testvm1 /]# cat / | ||
+ | /- / | ||
+ | </ | ||
+ | |||
+ | Créez le fichier de mappage **/ | ||
+ | |||
+ | < | ||
+ | [root@testvm1 /]# vi / | ||
+ | |||
+ | [root@testvm1 /]# cat / | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | Redémarrez le service **autofs** : | ||
+ | |||
+ | < | ||
+ | [root@testvm1 /]# systemctl restart autofs | ||
+ | |||
+ | [root@testvm1 /]# systemctl status autofs | ||
+ | ● autofs.service - Automounts filesystems on demand | ||
+ | | ||
+ | | ||
+ | Main PID: 3612 (automount) | ||
+ | Tasks: 8 (limit: 23172) | ||
+ | | ||
+ | CPU: 29ms | ||
+ | | ||
+ | | ||
+ | |||
+ | oct. 29 14:40:16 testvm1.ittraining.loc systemd[1]: Starting Automounts filesys> | ||
+ | oct. 29 14:40:16 testvm1.ittraining.loc systemd[1]: Started Automounts filesyst> | ||
+ | </ | ||
+ | |||
+ | Vérifiez la pris en compte de la configuration : | ||
+ | |||
+ | < | ||
+ | [root@testvm1 /]# mount | tail | ||
+ | fusectl on / | ||
+ | /dev/vda1 on /boot type xfs (rw, | ||
+ | none on / | ||
+ | sunrpc on / | ||
+ | 192.168.56.100:/ | ||
+ | tmpfs on /run/user/0 type tmpfs (rw, | ||
+ | / | ||
+ | -hosts on /net type autofs (rw, | ||
+ | / | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | Créez le fichier **/ | ||
+ | |||
+ | < | ||
+ | [root@testvm1 /]# touch / | ||
+ | |||
+ | [root@testvm1 /]# ls / | ||
+ | test6.txt | ||
+ | </ | ||
+ | |||
+ | Déconnectez-vous de la machine virtuelle **testvm1** : | ||
+ | |||
+ | < | ||
+ | [root@testvm1 /]# [CTRL]+[VERR MAJ]+[5] | ||
+ | [root@redhat9 ~]# | ||
+ | </ | ||
+ | |||
+ | Connectez-vous à la machine virtuelle **testvm2** : | ||
+ | |||
+ | < | ||
+ | [root@redhat9 ~]# virsh console testvm2 | ||
+ | Connected to domain ' | ||
+ | Escape character is ^] (Ctrl + ]) | ||
+ | [Enter] | ||
+ | [root@testvm2 ~]# | ||
+ | </ | ||
+ | |||
+ | Consultez ls contenu du répertoire **/ | ||
+ | |||
+ | < | ||
+ | [root@testvm2 ~]# ls -l / | ||
+ | total 0 | ||
+ | -rw-r--r--. 1 nobody nobody 0 Oct 29 14:43 test6.txt | ||
+ | </ | ||
+ | |||
+ | Déconnectez-vous de la machine virtuelle **testvm2** : | ||
+ | |||
+ | < | ||
+ | [root@testvm2 ~]# [CTRL]+[VERR MAJ]+[5] | ||
+ | [root@redhat9 ~]# | ||
+ | </ | ||
+ | |||
+ | ----- | ||
+ | Copyright © 2024 Hugh Norris |