Manuelles Einbinden einer NFS-Freigabe mit dem Befehl mount
In diesem Schritt lernen Sie, wie Sie manuell auf ein netzwerkfreigegebenes Verzeichnis mit dem Network File System (NFS)-Protokoll zugreifen. NFS ermöglicht es einem Clientsystem, auf Dateien über ein Computernetzwerk zuzugreifen, ähnlich wie beim Zugriff auf lokalen Speicher. Für diese Übung simulieren wir sowohl einen NFS-Server als auch einen Client auf Ihrem lokalen Rechner, um die notwendigen Befehle zu üben.
Ein NFS-Server wurde auf Ihrem System vorkonfiguriert, um das Verzeichnis /srv/nfs/shared_data
zu exportieren (freizugeben). Ihre Aufgabe ist es, dieses freigegebene Verzeichnis in einen lokalen Ordner einzubinden, den Zugriff zu überprüfen und es dann auszuhängen.
Schritt 1.1: Verfügbare NFS-Exporte ermitteln
Bevor Sie eine Freigabe einbinden, ist es eine gute Praxis, zu bestätigen, welche Verzeichnisse der NFS-Server exportiert. Sie können den Befehl showmount
mit der Option -e
(für Exporte) verwenden, gefolgt vom Hostnamen oder der IP-Adresse des Servers. Da sich der Server auf Ihrem lokalen Rechner befindet, können Sie localhost
verwenden.
Führen Sie den folgenden Befehl aus, um die Liste der exportierten Verzeichnisse vom lokalen NFS-Server anzuzeigen:
showmount -e localhost
Sie sollten das Verzeichnis sehen, das für die Freigabe konfiguriert wurde.
Export list for localhost:
/srv/nfs/shared_data *
Die Ausgabe zeigt, dass das Verzeichnis /srv/nfs/shared_data
an alle (*
) exportiert wird.
Schritt 1.2: Einen lokalen Mount-Point erstellen
Um auf das freigegebene NFS-Verzeichnis zuzugreifen, benötigen Sie ein lokales Verzeichnis, das als "Mount-Point" dient. Dies ist im Wesentlichen ein leerer Ordner auf Ihrem Clientsystem, in dem die Inhalte der Remote-Freigabe nach dem Einbinden angezeigt werden. Alle Operationen werden in Ihrem Verzeichnis ~/project
durchgeführt.
Erstellen Sie ein Verzeichnis namens nfs_mount
in Ihrem Projektordner:
mkdir ~/project/nfs_mount
Sie können überprüfen, ob das Verzeichnis erstellt wurde, indem Sie den Inhalt Ihres Projektordners auflisten:
ls -F ~/project
nfs_mount/
Schritt 1.3: Die NFS-Freigabe einbinden
Nun können Sie den Befehl mount
verwenden, um die Remote-NFS-Freigabe an Ihren neu erstellten Mount-Point anzuhängen. Der Befehl benötigt sudo
-Rechte, da das Einbinden von Dateisystemen eine Operation auf Systemebene ist.
Die grundlegende Syntax lautet mount -t nfs <server>:<remote_directory> <local_mount_point>
.
-t nfs
: Gibt an, dass der Dateisystemtyp NFS ist.
localhost:/srv/nfs/shared_data
: Die Quelle, also der Server und der Pfad, den er exportiert.
~/project/nfs_mount
: Das Ziel, also Ihr lokaler Mount-Point.
Führen Sie den folgenden Befehl aus, um die Freigabe einzubinden:
sudo mount -t nfs localhost:/srv/nfs/shared_data ~/project/nfs_mount
Dieser Befehl erzeugt keine Ausgabe, wenn er erfolgreich ist.
Schritt 1.4: Die Einbindung überprüfen und mit der Freigabe interagieren
Nachdem Sie den Befehl mount
ausgeführt haben, sollten Sie überprüfen, ob die Freigabe korrekt eingebunden wurde. Dies können Sie auf verschiedene Weise tun.
Verwenden Sie zunächst den Befehl mount
, der an grep
weitergeleitet wird, um nach NFS-Einbindungen zu filtern:
mount | grep nfs
localhost:/srv/nfs/shared_data on /home/labex/project/nfs_mount type nfs4 (rw,relatime,vers=4.2,rsize=...,wsize=...,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=...,local_lock=none,addr=...)
Als Nächstes überprüfen Sie den Inhalt Ihres Mount-Points. Es sollten jetzt die Dateien aus dem Remote-Verzeichnis /srv/nfs/shared_data
angezeigt werden.
ls -l ~/project/nfs_mount
total 4
-rw-r--r--. 1 root root 32 Nov 10 14:30 welcome.txt
Sie können jetzt mit diesem Verzeichnis interagieren, als wäre es ein lokaler Ordner. Beachten Sie, dass in dieser Lab-Umgebung die Dateien dem Benutzer root
gehören, was auf die NFS-Serverkonfiguration mit no_root_squash
zurückzuführen ist. In Produktionsumgebungen sehen Sie möglicherweise nobody
als Eigentümer, abhängig von den NFS-Servereinstellungen. Erstellen wir eine neue Datei innerhalb der eingebundenen Freigabe. Da die NFS-Freigabe möglicherweise dem Benutzer root gehört, müssen Sie sudo
mit dem Befehl tee
verwenden, um Dateien zu schreiben:
echo "My test file" | sudo tee ~/project/nfs_mount/my_file.txt > /dev/null
Überprüfen Sie, ob Ihre neue Datei neben der ursprünglichen Datei existiert:
ls -l ~/project/nfs_mount
total 8
-rw-r--r--. 1 root root 13 Nov 10 14:35 my_file.txt
-rw-r--r--. 1 root root 32 Nov 10 14:30 welcome.txt
Schritt 1.5: Die NFS-Freigabe aushängen
Wenn Sie eine Netzwerkfreigabe nicht mehr verwenden, ist es wichtig, sie sauber mit dem Befehl umount
auszuhängen. Dadurch wird sichergestellt, dass alle Daten synchronisiert und die Verbindung ordnungsgemäß geschlossen wird. Sie müssen nur den Mount-Point angeben.
sudo umount ~/project/nfs_mount
Um zu bestätigen, dass die Freigabe ausgehängt wurde, listen Sie den Inhalt des Verzeichnisses ~/project/nfs_mount
auf. Es sollte jetzt wieder leer sein.
ls -l ~/project/nfs_mount
total 0