Maison Tutoriel système Linux Une compréhension préliminaire du service NFS sous Linux

Une compréhension préliminaire du service NFS sous Linux

Jan 23, 2024 pm 05:18 PM
linux linux教程 红帽 linux系统 linux命令 certification Linux chapeau rouge Linux vidéo Linux

Linux NFS服务的初步了解

Présentation du RPC

1) Le consommateur du service (client) appelle le service via un appel local

 ;

2) Après avoir reçu l'appel, le stub client est chargé d'assembler les méthodes, les paramètres, etc. dans un corps de message pouvant être transmis sur le réseau

 ;

3) Le stub client trouve l'adresse du service et envoie le message au serveur

 ;

4) Le stub du serveur décode le message après l'avoir reçu

 ;

5) Le stub du serveur appelle les services locaux en fonction des résultats du décodage ;

6) Le service local est exécuté et les résultats sont renvoyés au stub du serveur

 ;

7) Le stub du serveur regroupe les résultats renvoyés dans des messages et les envoie au consommateur

 ;

8) Le stub client reçoit le message et le décode

 ;

9) Le consommateur du service obtient le résultat final.

Introduction à NFS NFS (Network File System) est l'un des systèmes de fichiers pris en charge par FreeBSD. Il permet aux ordinateurs du réseau de partager des ressources via le réseau TCP/IP. Dans les applications NFS, les applications client NFS locales peuvent lire et écrire de manière transparente des fichiers situés sur le serveur NFS distant, tout comme l'accès aux fichiers locaux.

Actuellement, NFS a principalement deux versions (NFSv2, NFSv3. En plus de la version 3 de NFSv2 et NFSv3, qui prend en charge davantage de nouvelles fonctionnalités, la principale différence devrait être que NFSv2 utilise le protocole UDP pour la transmission, donc la connexion de NFSv2 peut être utilisée. ne soit pas aussi fiable dans des environnements réseau complexes, et NFSv3 prend en charge les protocoles UDP et TCP.

Je viens de jeter un œil et j'ai découvert que Centos7 prend déjà en charge le protocole NFSv4. Je ne publierai pas NFSv4 ici. Jetons un coup d'œil à la v4 lorsque vous aurez le temps.

Lorsque le client souhaite monter un volume partagé NFS, il enverra une requête RPC au serveur, et le serveur NFS enverra un cookie aléatoire au client après l'authentification de l'utilisateur, afin que le client puisse utiliser ce cookie pour authentifier ces demandes. . Le volume partagé auquel vous accédez.

L'authentification NFS prend en charge l'allocation d'autorisations IP/hôte intégrée et est également limitée par les wrappers TCP.

Service NFS sur Redhat La prise en charge NFS est activée par défaut dans le noyau Redhat et le démarrage du serveur NFS est contrôlé via le démon NFS, qui est responsable de la liaison des sockets réseau et des appels RPC. Il nécessite également un service rpcbind (nommé portmap dans redhat5). si vous ne trouvez pas le service nfs dans le système, c'est parce que le package nfs-utils n'est pas installé. Ce package fournit des outils et des scripts de service, etc.

L'ensemble du service NFS comprend probablement les éléments suivants (copiés à partir de la documentation officielle de Red Hat, mais cela semble un peu ancien) :

  • nfs — Démarrez un processus RPC réactif pour répondre à NFS
  • nfslock — Il s'agit d'un service facultatif qui répond aux demandes des clients pour le verrouillage de fichiers.
  • rpcbind(portmap) — Il s'agit du processus démon du service rpc, qui est utilisé pour établir des connexions et répondre aux requêtes rpc.

Le service NFS fournit ces appels RPC (fonctions) :

  • rpc.mountd — Cette fonction est utilisée pour répondre à la demande de montage du client et vérifier si le système de fichiers demandé est autorisé à être utilisé. Ce processus est démarré par le service nfs.
  • rpc.nfsd — Le processus (fonction) principal du service nfs.
  • rpc.lockd — L'appel principal (fonction) du service nfslock ci-dessus est principalement utilisé pour répondre aux demandes de verrouillage de fichiers des clients.
  • rpc.statd — Cet appel (fonction) est principalement utilisé pour avertir le client lorsque le serveur nfs redémarre ou s'arrête anormalement, et est activé par le service nfslock.
  • rpc.rquotad — Le service nfs est utilisé pour prendre en charge les appels de quota (fonctions).
Configurer le service NFS Le fichier de configuration NFS est dans /etc/exports

La valeur par défaut est un fichier vide. Il vous suffit de le configurer au format suivant, un volume partagé par ligne
.

hôte : hôte limité (nom de domaine)

1. Hôte unique ou IP
2. Caractère générique * (correspond à n'importe quel caractère) ou ? (correspond à n'importe quel caractère), utilisé dans les noms de domaine ou les noms d'hôte
3.IP/MASK, par exemple 192.168.110.0/24

options : options de montage, utilisées pour limiter les autorisations de montage de l'hôte précédent.

Options courantes :

  • ro,rw : lecture seule ou lecture-écriture
  • sync : Synchronisation, lorsque la demande d'écriture du client est terminée, les données en mémoire sont immédiatement écrites sur le disque. C'est sûr.
  • async : Asynchrone, lorsque la demande d'écriture du client est terminée, le serveur n'écrit pas les données sur le disque immédiatement, mais les écrit sur le disque à un certain moment (inactif ou... qui sait), ce qui crée la possibilité de perte de données.
  • wdelay (write delay) : Write delay, il s'agit d'une option d'optimisation qui permet au serveur de retarder l'écriture des données sur le disque, de sorte que si la deuxième demande d'écriture du client arrive, les deux données seront écrites sur le disque à l'aide d'un système d'écriture. appel .
  • nowdelay : contrairement à ce qui précède, il ne peut être utilisé qu'en mode synchronisation.
  • root_squash : racine "squash", car lorsque le client écrit des fichiers sur le serveur, l'uid de l'utilisateur écrit par le client est directement mappé à l'utilisateur avec le même uid du serveur, de sorte que les fichiers stockés par l'utilisateur root sur le volume de partage NFS sont stockés sur le serveur. Le propriétaire final et le groupe sont toujours root, ce qui présente certains risques de sécurité. Vous pouvez donc utiliser cette option pour aplatir root en utilisateur nfsnobody.
  • all_squash : écrasez tous les utilisateurs, vous pouvez utiliser anonuid=, anongid= pour spécifier quel utilisateur écraser.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quelle configuration de l'ordinateur est requise pour VScode Quelle configuration de l'ordinateur est requise pour VScode Apr 15, 2025 pm 09:48 PM

Vs Code Système Exigences: Système d'exploitation: Windows 10 et supérieur, MacOS 10.12 et supérieur, processeur de distribution Linux: minimum 1,6 GHz, recommandé 2,0 GHz et au-dessus de la mémoire: minimum 512 Mo, recommandée 4 Go et plus d'espace de stockage: Minimum 250 Mo, recommandée 1 Go et plus d'autres exigences: connexion du réseau stable, xorg / wayland (Linux) recommandé et recommandée et plus

Comment exécuter le code Java dans le bloc-notes Comment exécuter le code Java dans le bloc-notes Apr 16, 2025 pm 07:39 PM

Bien que le bloc-notes ne puisse pas exécuter directement le code Java, il peut être réalisé en utilisant d'autres outils: à l'aide du compilateur de ligne de commande (Javac) pour générer un fichier bytecode (filename.class). Utilisez l'interpréteur Java (Java) pour interpréter ByteCode, exécuter le code et sortir le résultat.

VScode ne peut pas installer l'extension VScode ne peut pas installer l'extension Apr 15, 2025 pm 07:18 PM

Les raisons de l'installation des extensions de code vs peuvent être: l'instabilité du réseau, les autorisations insuffisantes, les problèmes de compatibilité système, la version de code vs est trop ancienne, un logiciel antivirus ou des interférences de pare-feu. En vérifiant les connexions réseau, les autorisations, les fichiers journaux, la mise à jour vs du code, la désactivation des logiciels de sécurité et le redémarrage du code ou des ordinateurs, vous pouvez progressivement dépanner et résoudre les problèmes.

Architecture Linux: dévoiler les 5 composants de base Architecture Linux: dévoiler les 5 composants de base Apr 20, 2025 am 12:04 AM

Les cinq composants de base du système Linux sont: 1. Kernel, 2. Bibliothèque système, 3. Utilitaires système, 4. Interface utilisateur graphique, 5. Applications. Le noyau gère les ressources matérielles, la bibliothèque système fournit des fonctions précompilées, les utilitaires système sont utilisés pour la gestion du système, l'interaction GUI fournit une interaction visuelle et les applications utilisent ces composants pour implémenter des fonctions.

Peut-on utiliser pour mac Peut-on utiliser pour mac Apr 15, 2025 pm 07:36 PM

VS Code est disponible sur Mac. Il a des extensions puissantes, l'intégration GIT, le terminal et le débogueur, et offre également une multitude d'options de configuration. Cependant, pour des projets particulièrement importants ou un développement hautement professionnel, le code vs peut avoir des performances ou des limitations fonctionnelles.

Qu'est-ce que VScode pour quoi est VScode? Qu'est-ce que VScode pour quoi est VScode? Apr 15, 2025 pm 06:45 PM

VS Code est le code Visual Studio Nom complet, qui est un éditeur de code multiplateforme gratuit et open source et un environnement de développement développé par Microsoft. Il prend en charge un large éventail de langages de programmation et fournit une mise en surbrillance de syntaxe, une complétion automatique du code, des extraits de code et des invites intelligentes pour améliorer l'efficacité de développement. Grâce à un écosystème d'extension riche, les utilisateurs peuvent ajouter des extensions à des besoins et des langues spécifiques, tels que les débogueurs, les outils de mise en forme de code et les intégrations GIT. VS Code comprend également un débogueur intuitif qui aide à trouver et à résoudre rapidement les bogues dans votre code.

Comment utiliser vscode Comment utiliser vscode Apr 15, 2025 pm 11:21 PM

Visual Studio Code (VSCODE) est un éditeur de code Open Source, Open Source et gratuit développé par Microsoft. Il est connu pour son léger, l'évolutivité et le support pour une large gamme de langages de programmation. Pour installer VScode, veuillez visiter le site officiel pour télécharger et exécuter l'installateur. Lorsque vous utilisez VSCODE, vous pouvez créer de nouveaux projets, modifier le code, déboguer le code, naviguer dans les projets, développer VSCODE et gérer les paramètres. VScode est disponible pour Windows, MacOS et Linux, prend en charge plusieurs langages de programmation et fournit diverses extensions via Marketplace. Ses avantages incluent le léger, l'évolutivité, le support linguistique étendu, les fonctionnalités riches et la version

Comment vérifier l'adresse de l'entrepôt de Git Comment vérifier l'adresse de l'entrepôt de Git Apr 17, 2025 pm 01:54 PM

Pour afficher l'adresse du référentiel GIT, effectuez les étapes suivantes: 1. Ouvrez la ligne de commande et accédez au répertoire du référentiel; 2. Exécutez la commande "git Remote -v"; 3. Affichez le nom du référentiel dans la sortie et son adresse correspondante.

See all articles