Présentation
Il s'agit d'un sujet riche qui contient de nombreuses informations susceptibles de vous intéresser si vous êtes dans la zone de stockage pour être un administrateur système, de stockage ou de sauvegarde.
Il existe des variantes de types de systèmes de fichiers et notre sujet principal aujourd'hui concerne l'un d'entre eux, à savoir NFS.
Types de stockage
Les trois principaux types de stockage sont :
– DAS
– SAN
– NAS
NAS (stockage en réseau)
D'une manière simple, NAS est de partager des dossiers pour que d'autres puissent stocker leurs données au lieu de leurs disques locaux. Vous devez avoir une connectivité entre le serveur et les clients pour que cela fonctionne et bien sûr des disques avec de l'espace libre sur le serveur. NAS est un stockage de niveau fichier, ce qui signifie que vous formatez les disques côté serveur et que vous les partagez avec le système de fichiers formaté.
Et voici notre NFS système de fichiers, c'est l'un des systèmes de fichiers que vous pouvez formater sur votre NAS disques avec, et c'est ce que nous voulons faire maintenant, pour utiliser notre système d'exploitation Linux comme un NFS serveur, ce qui signifie en fait que nous l'utilisons comme un NAS serveur mais avec nos disques formatés avec NFS système de fichiers
NFS (partage de fichiers réseau)
Est un protocole qui vous permet de partager des répertoires et des fichiers avec d'autres clients Linux sur un réseau. Les répertoires partagés sont généralement créés sur un serveur de fichiers, exécutant le NFS composant serveur. Les utilisateurs y ajoutent des fichiers, qui sont ensuite partagés avec d'autres utilisateurs ayant accès au dossier.
Un NFS Le partage de fichiers est monté sur une machine cliente, ce qui le rend disponible comme les dossiers que l'utilisateur a créés localement. NFS est particulièrement utile lorsque le disque manque d'espace et que vous devez échanger des données publiques entre les ordinateurs clients.
Serveur NFS côté
Installez d'abord les packages NFS
# yum install nfs-utils rpcbind
Activez maintenant les services au démarrage
# systemctl enable nfs-server
# systemctl enable rpcbind
Démarrer les services
# systemctl start rpcbind
# systemctl start nfs-server
Créons le répertoire partagé pour que les clients stockent ou lisent leurs données
# mkdir /sharednfs
Définissez des autorisations afin que tout utilisateur sur la machine cliente puisse accéder au dossier (dans le monde réel, vous devez déterminer si le dossier nécessite des paramètres plus restrictifs).
# sudo chown nobody:nogroup /sharednfs
# sudo chmod 777 /sharednfs
Accorder l'accès aux clients NFS
Pour accorder l'accès aux clients NFS, nous devons définir un fichier d'exportation. Le fichier se trouve généralement dans /etc/exports
Modifiez le fichier /etc/exports dans un éditeur de texte et ajoutez l'une des options suivantes
ro / rw :
a) ro :autorise les clients à accéder en lecture seule au partage.
b) rw :autorise les clients à accéder en lecture et en écriture au partage.
synchronisé/asynchrone :
a) sync :le serveur NFS répond à la requête uniquement après que les modifications apportées par la requête précédente ont été écrites sur le disque.
b) async :spécifie que le serveur n'a pas à attendre.
wdelay / no_wdelay
a) wdelay :le serveur NFS retarde la validation des demandes d'écriture lorsqu'il soupçonne qu'une autre demande d'écriture est imminente.
b) no_wdelay :utilisez cette option pour désactiver le délai. L'option no_wdelay ne peut être activée que si la synchronisation par défaut option est activée.
no_all_squash / all_squash :
a) no_all_squash :ne change pas le mappage des utilisateurs distants.
b) all_squash :pour écraser tous les utilisateurs distants, y compris root.
root_squash / no_root_squash :
a) root_squash :empêche les utilisateurs root connectés à distance d'avoir un accès root. Écraser efficacement les privilèges root distants.
b) no_root_squash :désactive l'écrasement de la racine.
Exemple 1 (client unique) :
# vi /etc/exports
/sharednfs {clientIP}(rw,sync,no_subtree_check)
Exemple2 (plusieurs clients) :
# vi /etc/exports
/sharednfs {clientIP-1}(rw,sync,no_subtree_check)
{clientIP-2}(...)
{clientIP-3}(...)
Exemple 3 (sous-réseau) :
# vi /etc/exports
/sharednfs {subnetIP}/{subnetMask}(rw,sync,no_subtree_check)
Rendre le partage NFS disponible pour les clients
Exportez le partage pour rendre le répertoire accessible aux clients
# sudo exportfs -a
-a : exports entries in /etc/exports but do not synchronize with /var/lib/nfs/etab
-i : ignore entries in /etc/exports and uses command line arguments
-u : un-export one or more directories
-o : specify client options on command line
-r : re-exports entries in /etc/exports and sync /var/lib/nfs/etab with /etc/exports
Redémarrez ensuite le service
# systemctl restart nfs-server
Paramètres du pare-feu
Par défaut, tous les ports non utilisés sont désactivés sous Linux, nous devons donc autoriser NFS ports dans la configuration du pare-feu.
Pour ce faire, procédez comme suit
firewall-cmd --permanent --add-service mountd
firewall-cmd --permanent --add-service rpc-bind
firewall-cmd --permanent --add-service nfs
firewall-cmd --reload
Côté client
Nous devons également installer le package sur la machine client
yum install -y nfs-utils
Pour vérifier les dossiers partagés sur le serveur spécifié qui sont disponibles pour notre client
showmount -e {serverIP}
Il affichera quelque chose comme ce qui suit
Export list for {serverIP}:
/sharednfs {clientIP}
Monter les dossiers partagés
Maintenant, il est temps de monter les dossiers partagés côté client
Tout d'abord, nous devons créer un répertoire de points
mkdir /mnt/sharednfs
Il est temps de monter
mount {serverIP}:/sharednfs /mnt/sharednfs
Pour vérifier, essayez de créer un répertoire ou un fichier sur le point monté
touch /mnt/sharednfs/test
Pour monter automatiquement les partages NFS
Modifier dans le fichier fstab
vi /etc/fstab
ajouter cette ligne
{serverIP}:/sharednfs /mnt/sharednfs nfs nosuid,rw,sync,hard,intr 0 0
Pour démonter le NFS partages
umount /mnt/sharednfs
Enfin, n'oubliez pas d'ajouter également les règles de pare-feu côté client
firewall-cmd --permanent --add-service mountd
firewall-cmd --permanent --add-service rpc-bind
firewall-cmd --permanent --add-service nfs
firewall-cmd --reload
Conclusion
NFS est un excellent protocole pour centraliser vos données en un seul endroit ou un dossier partagé au lieu de les stocker localement sur chaque appareil. Cela vous donne également la possibilité de venir sur l'espace local limité sur votre appareil.
Avec la connectivité et la configuration appropriées, vous aurez la solution parfaite pour stocker vos données en un seul endroit.