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/24 03:58] – admin | elearning:workbooks:redhat:rh134:l107 [2024/11/21 15:28] (Version actuelle) – admin | ||
---|---|---|---|
Ligne 3: | Ligne 3: | ||
Dernière mise-à-jour : ~~LASTMOD~~ | Dernière mise-à-jour : ~~LASTMOD~~ | ||
- | ======RH13408 - Gestion du Serveur NFS====== | + | ======RH13408 - Gestion du Stockage en Réseau====== |
=====Contenu du Module===== | =====Contenu du Module===== | ||
- | * **RH13408 - Gestion du Serveur NFS** | + | * **RH13408 - Gestion du Stockage en Réseau** |
- | * Présentation | + | * Contenu du Module |
- | * Les Services et Processus du Serveur NFSv3 | + | * Présentation |
- | | + | |
- | | + | |
- | * Commandes de Base | + | * Options d'un Partage |
- | * Installation | + | * Commandes de Base de NFSv3 |
- | * Mise en Place | + | * NFSv4 |
- | * Configuration du Serveur | + | * Différences entre NFSv4 et NFSv3 |
- | * Configuration du Client | + | * LAB #1 - Configuration du Serveur |
- | * Surveillance | + | * 1.1 - Désactivation de NFSv3 |
- | * La Commande rpcinfo | + | * 1.2 - Définition d'un Partage |
- | * La Commande nfsstat | + | * 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 | ||
+ | * Configuration du Client | ||
+ | * 3.2 - Création d'un Fichier de Mappage Indirect | ||
+ | * Configuration du Serveur | ||
+ | * Configuration du Client | ||
- | =====Présentation===== | + | =====Présentation |
- | Quand on parle de NFS, on parle d'**exportation** | + | Le Network File System (NFS) est un protocole Internet standard que Linux, UNIX et d'autres systèmes |
+ | les permissions Linux natives | ||
- | Le Network File System (NFS) est le protocole de partage de fichiers historique sur des systèmes Unix. Lors de l' | + | 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' |
- | * le partage ainsi que ses caractéristiques sont configurés par rapport à l' | + | Les serveurs |
- | * aucun mot de passe n'est demandé lors de la connexion d'un utilisateur à une ressource car le serveur | + | |
- | Cependant l' | + | * Manuellement en utilisant |
+ | * De manière persistante au démarrage en configurant des entrées | ||
+ | * À la demande, en configurant une méthode de d' | ||
- | Il existe actuellement 3 versions de NFS : | + | Les méthodes d' |
- | ^ Version ^ Protocole Utilisé ^ Dépendance ^ | + | |
- | | **NFSv2** | TCP et UDP | portmap | | + | * systemd.automount. |
- | | **NFSv3** | TCP et UDP | portmap | | + | |
- | | **NFSv4** | TCP | Aucune - les fonctions de portmap sont incluses dans NFSv4 | | + | |
- | La version utilisée par défaut sous CentOS/ | + | Il convient d' |
- | ====Les Services et Processus du Serveur NFSv3==== | + | 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 | ||
La version NFSv3 utilise les services suivants : | La version NFSv3 utilise les services suivants : | ||
^ Services ^ Fonction ^ | ^ Services ^ Fonction ^ | ||
- | | **nfs** | Démarre le service NFS ainsi que les processus RPC pour recevoir et traiter les demandes des clients | | + | | **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 | | **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 | | | **portmap** | Gestion des réservations des ports pour les services RPC locaux afin que les services RPC distants puissent se connecter | | ||
- | ===Les Services RPC=== | + | ===Options d'un Partage |
- | + | ||
- | Les services RPC ( //Remote Procedure Calls// ou appel de procédures distantes ) ont été inventé par SUN Microsystem pour faciliter le travail des développeurs | + | |
- | + | ||
- | Lorsque le client veut faire une requête à un service RPC, il contacte en premier lieu le service **rpcbind** qui assigne un numéro de port au délà du numéro **32768** à un numéro de programme RPC. | + | |
- | + | ||
- | ====Options d'un Partage | + | |
- | Certaines options, appliquées à un partage, modifient le comportement du serveur | + | Certaines options, appliquées à un partage, modifient le comportement du serveur |
^ Option ^ Comportement ^ | ^ Option ^ Comportement ^ | ||
Ligne 76: | Ligne 88: | ||
</ | </ | ||
- | ====Commandes de Base==== | + | ===Commandes de Base de NFSv3=== |
- | Plusieurs commandes permettent de gérer et de s' | + | Plusieurs commandes permettent de gérer et de s' |
^ Commande ^ Comportement ^ | ^ Commande ^ Comportement ^ | ||
Ligne 87: | Ligne 99: | ||
| **mount** | Permet de monter un partage distant sur un répertoire local | | | **mount** | Permet de monter un partage distant sur un répertoire local | | ||
- | =====Installation===== | + | ====NFSv4==== |
- | Installez | + | ===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 | ||
< | < | ||
- | root@debian8: | + | # mkdir /mountpoint |
- | Reading package lists... Done | + | |
- | Building dependency tree | + | |
- | Reading state information... Done | + | |
- | nfs-common is already the newest version. | + | |
- | The following NEW packages will be installed: | + | |
- | nfs-kernel-server | + | |
- | 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. | + | |
- | Need to get 115 kB of archives. | + | |
- | After this operation, 515 kB of additional disk space will be used. | + | |
- | Do you want to continue? [Y/n] y | + | |
- | Get:1 http:// | + | |
- | Fetched 115 kB in 0s (318 kB/s) | + | |
- | Selecting previously unselected package nfs-kernel-server. | + | |
- | (Reading database ... 82450 files and directories currently installed.) | + | |
- | Preparing to unpack .../ | + | |
- | Unpacking nfs-kernel-server (1:1.2.8-9) ... | + | |
- | Processing triggers for man-db (2.7.0.2-5) ... | + | |
- | Processing triggers for systemd (215-17+deb8u4) ... | + | |
- | Setting up nfs-kernel-server (1:1.2.8-9) ... | + | |
- | Creating config file /etc/exports with new version | + | # mount -t nfs -o rw,sync server:/export |
+ | </ | ||
- | Creating config file / | + | <WRAP center round important 60%> |
- | Processing triggers for systemd (215-17+deb8u4) | + | **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 | ||
+ | | ||
+ | ------------------------- | ||
+ | | ||
+ | | ||
</ | </ | ||
- | =====Mise en Place===== | + | Connectez-vous à machine virtuelle **testvm2** et activez et démarrez le service **nfs-server** : |
- | ====Configuration du Serveur==== | + | < |
+ | [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=/bin/sh -c if systemctl -q is-active gssproxy; then> | ||
+ | Main PID: 5329 (code=exited, status=0/ | ||
+ | CPU: 31ms | ||
- | <WRAP center round important> | + | Oct 28 12:08:12 testvm2.ittraining.loc systemd[1]: Starting NFS server and serv> |
- | **Important** | + | Oct 28 12:08:12 testvm2.ittraining.loc systemd[1]: Finished NFS server and serv> |
- | </WRAP> | + | </code> |
- | Configurez votre interface réseau #2 (eth1) | + | ====1.1 - Désactivation de NFSv3==== |
+ | |||
+ | Le serveur NFS fonctionne en mode mixte NFSv3/ | ||
< | < | ||
- | root@debian8:~# nmcli connection add con-name ip_fixe ifname eth1 type ethernet ip4 10.0.2.16/ | + | [root@testvm2 |
- | Connection ' | + | Server rpc stats: |
- | root@debian8:~# nmcli connection mod ip_fixe ipv4.dns 8.8.8.8 | + | calls badcalls |
- | root@debian8: | + | 0 0 0 0 0 |
- | Connection successfully activated (D-Bus active path: / | + | |
- | root@debian8: | + | |
- | NAME | + | |
- | eth1 | + | |
- | eth0 | + | |
- | Ifupdown (eth0) | + | |
- | ip_fixe | + | |
- | root@debian8: | + | |
- | root@debian8: | + | |
- | NAME | + | |
- | eth0 | + | |
- | ip_fixe | + | |
- | Ifupdown (eth0) | + | |
- | eth1 | + | |
</ | </ | ||
- | Ajoutez une autre adresse IP pour le NFS : | + | Pour désactiver |
+ | |||
+ | < | ||
+ | [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@debian8:~# nmcli connection mod ip_fixe +ipv4.addresses 192.168.1.2/24 | + | [root@testvm2 |
+ | [root@testvm2 ~]# cat /etc/nfs.conf | ||
+ | ... | ||
+ | [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 | ||
+ | ... | ||
</ | </ | ||
- | Continuez maintenant par la mise en place du service **nfs** | + | Désactivez tous les services NFSv3 : |
< | < | ||
- | root@debian8:~# systemctl | + | [root@testvm2 |
- | Synchronizing state for nfs-kernel-server.service | + | Created symlink / |
- | Executing | + | Created symlink |
- | Executing | + | Created symlink |
</ | </ | ||
- | La mise en place d'un partage ponctuel se fait en utilisant la commande | + | Redémarrez le service |
< | < | ||
- | root@debian8:~# exportfs | + | [root@testvm2 |
- | root@debian8: | + | |
- | root@debian8: | + | |
- | / | + | |
</ | </ | ||
- | Afin de mettre | + | Vérifiez la désactivation |
< | < | ||
- | root@debian8:~# vi /etc/exports | + | [root@testvm2 ~]# cat / |
- | root@debian8:~# cat / | + | -3 +4 +4.1 +4.2 |
- | # / | + | </ |
- | # to NFS clients. See exports(5). | + | |
+ | Créez ensuite le fichier **/ | ||
+ | |||
+ | < | ||
+ | [root@testvm2 ~]# mkdir / | ||
+ | |||
+ | [root@testvm2 | ||
+ | |||
+ | [root@testvm2 | ||
+ | [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 / | ||
+ | </ | ||
+ | |||
+ | Modifez les permissions et le groupe du répertoire : | ||
+ | |||
+ | < | ||
+ | [root@testvm2 ~]# chmod 2770 / | ||
+ | |||
+ | [root@testvm2 ~]# chgrp users / | ||
+ | |||
+ | [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 / | ||
+ | |||
+ | [root@testvm1 /]# cat / | ||
# | # | ||
- | # Example for NFSv2 and NFSv3: | + | # /etc/fstab |
- | # /srv/homes | + | # Created by anaconda on Fri Oct 25 15:41:24 2024 |
# | # | ||
- | # Example for NFSv4: | + | # Accessible filesystems, |
- | # /srv/nfs4 gss/krb5i(rw,sync,fsid=0, | + | # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info. |
- | # / | + | |
# | # | ||
- | /home/trainee 192.168.1.1 | + | # After editing this file, run ' |
- | /tmp *(fsid=0) | + | # units generated from this file. |
+ | # | ||
+ | UUID=e778bb41-0528-4e4b-9b6b-b80070117978 | ||
+ | UUID=6d55a589-bef2-4a9b-941f-d2f288057104 | ||
+ | UUID=11306088-b22e-4906-9c31-b2f1a8b416fd none swap defaults | ||
+ | 192.168.56.100:/mountpoint | ||
</ | </ | ||
- | <WRAP center round important> | + | Exécutez la commande |
- | **Important** : Dans ce cas, nous avons partagé le répertoire **/ | + | |
- | </ | + | |
- | Démarrez | + | < |
+ | [root@testvm1 /]# systemctl daemon-reload | ||
+ | [175309.751966] systemd-rc-local-generator[4833]: | ||
+ | </ | ||
+ | |||
+ | Appliquez | ||
< | < | ||
- | root@debian8:~# systemctl reload nfs-kernel-server | + | [root@testvm1 /]# mount -a |
- | root@debian8: | + | |
- | root@debian8: | + | |
- | ● nfs-kernel-server.service - LSB: Kernel NFS server support | + | |
- | | + | |
- | | + | |
- | Process: 10475 ExecReload=/ | + | |
- | Mar 22 10:04:01 debian8 nfs-kernel-server[506]: Not starting NFS kernel daemon: no exports. ... (warning). | + | [root@testvm1 /]# mount | grep mountpoint |
- | Mar 22 10:25:59 debian8 nfs-kernel-server[10475]: | + | 192.168.56.100:/mountpoint on /mnt type nfs4 (rw, |
- | Mar 22 10:25:59 debian8 nfs-kernel-server[10475]: | + | |
- | Mar 22 10:25:59 debian8 nfs-kernel-server[10475]: | + | |
- | Mar 22 10:25:59 debian8 nfs-kernel-server[10475]: | + | |
- | Mar 22 10:25:59 debian8 nfs-kernel-server[10475]: | + | |
- | Mar 22 10:25:59 debian8 nfs-kernel-server[10475]: | + | |
- | Mar 22 10:25:59 debian8 nfs-kernel-server[10475]: | + | |
- | Mar 22 10:25:59 debian8 nfs-kernel-server[10475]: | + | |
- | Hint: Some lines were ellipsized, use -l to show in full. | + | |
</ | </ | ||
- | Puisque aucune option ne soit spécifiée pour les montages, ceux-ci ont été exportés avec des option par défaut. En utilisant | + | Devenez |
< | < | ||
- | root@debian8:~# exportfs | + | [root@testvm1 /]# su - trainee |
- | /home/trainee | + | Dernière connexion : lundi 28 octobre 2024 à 14:04:58 CET sur ttyS0 |
- | /tmp < | + | |
+ | [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 | ||
</ | </ | ||
- | ====Configuration du Client==== | + | Déconnectez-vous de la machine virtuelle **testvm1** : |
- | <WRAP center round important> | + | <code> |
- | **Important** : Arrêtez votre VM. Créez une clône de votre VM. Démarrez la VM clonée. | + | [root@testvm1 /]# [CTRL]+[VERR MAJ]+[5] |
- | </WRAP> | + | [root@redhat9 ~]# |
+ | </code> | ||
- | Re-configurez ensuite l' | + | Connectez-vous à la machine virtuelle **testvm2** |
< | < | ||
- | root@debian8:~# nmcli connection del ip_fixe | + | [root@redhat9 |
- | root@debian8: | + | Connected to domain |
- | Error: ip_fixe - no such connection profile. | + | Escape character is ^] (Ctrl + ]) |
- | root@debian8: | + | [Enter] |
- | Connection | + | [root@testvm2 |
- | root@debian8: | + | |
- | root@debian8: | + | |
- | root@debian8: | + | |
- | Connection successfully activated (D-Bus active path: / | + | |
- | root@debian8:~# systemctl restart NetworkManager.service | + | |
</ | </ | ||
- | <WRAP center round important > | + | Vérifiez la présence des trois fichiers dans le répertoire **/ |
- | **Important** : Démarrez la VM d' | + | |
+ | < | ||
+ | [root@testvm2 ~]# ls -l / | ||
+ | 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 | ||
+ | **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. | ||
</ | </ | ||
- | A partir | + | Afin d' |
< | < | ||
- | root@debian8:~# showmount --exports 192.168.1.2 | + | [root@testvm1 /]# vi / |
- | Export list for 192.168.1.2: | + | |
- | /tmp * | + | [root@testvm1 /]# cat / |
- | / | + | ... |
+ | # In order of likelihood of use to accelerate lookup. | ||
+ | passwd: sss files systemd | ||
+ | shadow: | ||
+ | group: | ||
+ | hosts: | ||
+ | services: | ||
+ | netgroup: | ||
+ | automount: | ||
+ | ... | ||
</ | </ | ||
- | Créez maintenant le répertoire **/nfs** dans le client | + | Activez |
< | < | ||
- | root@debian8:~# mkdir /nfs | + | [root@testvm1 |
- | root@debian8:~# mount -t nfs 192.168.1.2:/home/trainee | + | |
+ | [root@testvm1 /]# systemctl status autofs | ||
+ | ● autofs.service | ||
+ | | ||
+ | | ||
+ | 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> | ||
</ | </ | ||
- | =====Surveillance du Serveur===== | + | Vérifiez la prise en compte de la configuration : |
- | ====La Commande rpcinfo==== | + | < |
+ | [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, | ||
+ | / | ||
+ | </ | ||
- | La commande | + | Devenez l' |
< | < | ||
- | root@debian8:/# rpcinfo | + | [root@testvm1 |
- | | + | Dernière connexion |
- | 100000 | + | |
- | 100000 | + | |
- | 100000 | + | |
- | 100000 | + | |
- | 100000 | + | |
- | 100000 | + | |
- | 100000 | + | |
- | 100000 | + | |
- | 100000 | + | |
- | 100000 | + | |
- | 100000 | + | |
- | 100000 | + | |
- | 100024 | + | |
- | 100024 | + | |
- | 100024 | + | |
- | 100024 | + | |
- | 100003 | + | |
- | 100003 | + | |
- | 100003 | + | |
- | 100227 | + | |
- | | + | |
- | 100003 | + | |
- | 100003 | + | |
- | 100003 | + | |
- | 100227 | + | |
- | 100227 | + | |
- | 100003 | + | |
- | 100003 | + | |
- | 100003 | + | |
- | 100227 | + | |
- | 100227 | + | |
- | 100003 | + | |
- | 100003 | + | |
- | 100003 | + | |
- | 100227 | + | |
- | 100227 | + | |
- | 100021 | + | |
- | 100021 | + | |
- | 100021 | + | |
- | 100021 | + | |
- | 100021 | + | |
- | 100021 | + | |
- | 100021 | + | |
- | 100021 | + | |
- | 100021 | + | |
- | 100021 | + | |
- | 100021 | + | |
- | 100021 | + | |
- | 100005 | + | |
- | 100005 | + | |
- | 100005 | + | |
- | 100005 | + | |
- | 100005 | + | |
- | 100005 | + | |
- | 100005 | + | |
- | 100005 | + | |
- | 100005 | + | |
- | 100005 | + | |
- | 100005 | + | |
- | 100005 | + | |
</ | </ | ||
- | ====La Commande nfsstat==== | + | Exécutez la commande **ls**. Vous devez voir le fichier **test4.txt** qui a été créé dans la machine virtuelle **testvm2** : |
- | La Commande | + | < |
+ | [trainee@testvm1 ~]$ ls | ||
+ | test4.txt | ||
+ | |||
+ | [trainee@testvm1 ~]$ exit | ||
+ | </ | ||
+ | |||
+ | Déconnectez-vous de la machine virtuelle | ||
< | < | ||
- | root@debian8:/# nfsstat | + | [root@testvm1 |
- | Server rpc stats: | + | [root@redhat9 ~]# |
- | calls badcalls | + | </ |
- | 0 0 0 0 0 | + | |
- | Client rpc stats: | + | Connectez-vous à la machine virtuelle **testvm2** |
- | calls retrans | + | |
- | 77 | + | |
- | Client nfs v3: | + | < |
- | null | + | [root@redhat9 ~]# virsh console testvm2 |
- | 0 0% 10 27% 0 0% 2 5% 8 22% 0 | + | Connected to domain ' |
- | read | + | Escape character is ^] (Ctrl + ]) |
- | 0 0% 0 0% 1 2% 0 0% 0 0% 0 | + | [Enter] |
- | remove | + | [root@testvm2 ~]# |
- | 0 0% 0 0% 0 0% 0 0% 0 0% 6 16% | + | </ |
- | fsstat | + | |
- | 0 0% 6 16% 3 8% 0 | + | |
- | Client nfs v4: | + | Devenez l' |
- | null | + | |
- | 0 0% 0 0% 0 0% 0 0% 0 0% 0 | + | < |
- | open_noat | + | [root@testvm2 ~]# su - trainee |
- | 0 0% 0 0% 0 0% 0 0% 6 16% 0 | + | Last login: Tue Oct 29 13:56:07 CET 2024 on ttyS0 |
- | setclntid | + | |
- | 3 8% 3 8% 0 0% 0 0% 0 0% 3 | + | [trainee@testvm2 ~]$ touch test5.txt |
- | getattr | + | |
- | 3 8% 3 8% 3 | + | [trainee@testvm2 ~]$ ls |
- | symlink | + | test4.txt |
- | 0 0% 0 0% 3 8% 0 0% 0 0% 0 | + | </ |
- | server_caps | + | |
- | 9 25% 0 0% 0 0% 0 0% 0 0% 0 | + | Déconnectez-vous de la machine virtuelle **testvm2** : |
- | secinfo | + | |
- | 0 0% 0 0% 0 0% 0 0% 0 0% 0 | + | < |
- | reclaim_comp layoutget | + | [root@testvm2 ~]# [CTRL]+[VERR MAJ]+[5] |
- | 0 0% 0 0% 0 0% 0 0% 0 0% 0 | + | [root@redhat9 ~]# |
- | (null) | + | </ |
- | 0 | + | |
+ | 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: | ||
+ | Memory: 5.9M | ||
+ | | ||
+ | CGroup: / | ||
+ | └─3612 / | ||
+ | |||
+ | 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 | ||
+ | </ | ||
+ | |||
+ | Déconnectez-vous de la machine virtuelle **testvm2** : | ||
+ | |||
+ | < | ||
+ | [root@testvm2 ~]# [CTRL]+[VERR MAJ]+[5] | ||
+ | [root@redhat9 ~]# | ||
</ | </ | ||
----- | ----- | ||
- | Copyright © 2020 Hugh Norris | + | Copyright © 2024 Hugh Norris |