Wie kann man Ordner mittels NFS freigeben?

Wenn Sie Speicher auf einer virtuellen Maschine freigeben möchten, müssen Sie zunächst das Volume vorbereiten und Server-NFS einrichten.

Bemerkung

Eine NFS-Freigabeverbindung funktioniert nur in einem lokalen Netzwerk. NFS ist zudem ein relativ unsicherer Service und sollte nur in Ausnahmefällen innerhalb des Projekts verwendet werden. Nutzen Sie für Remoteverbindungen VPN oder mindestens einen SSH-Tunnel.

NFS-Server auf der Serverseite installieren

sudo apt install nfs-kernel-server

Wählen Sie ein NFS-Exportverzeichnis. In diesem Beispiel ist es /mnt/share - aber natürlich können Sie auch ein anderes wählen:

sudo mkdir /mnt/share

Legen Sie die entsprechenden Rechte für das Verzeichnis fest (im Beispiel: Lesen/Schreiben):

sudo chmod 777 /mnt/share/

Richten Sie den NFS-Freigabezugriff für die gewünschten Client-Systeme ein. Die Berechtigungen für den Zugriff auf den NFS-Server werden in der Datei /etc/exports definiert. Öffnen Sie diese Datei mit dem Texteditor: .. code:

$ sudo nano /etc/exports

Sie können den Zugriff für einen einzelnen Client, mehrere Clients oder ein ganzes Subnetz einrichten. Um den Zugriff für einen einzelnen Mandanten zu erlauben, fügen Sie die folgende Zeile in die Exportdatei ein und speichern Sie sie:

/mnt/share 10.x.x.x/255.255.255.0(rw,sync,no_subtree_check,no_root_squash)

Die obige IP-Adresse (10.x.x.x) sollte die lokale IP-Adresse des gewünschten Clients sein und kann im OpenStack Dashboard gefunden werden.

Nachdem Sie den Zugriff auf die gewünschten Client-Systeme gewährt haben, müssen Sie das NFS-Freigabeverzeichnis exportieren und den NFS-Kernel-Server neu starten, damit die Änderungen in Kraft treten können:

$ sudo exportfs -a

Starten Sie die NFS-Dienste neu: .. code:

$ sudo systemctl restart nfs-kernel-server

NFS-Client auf der Client-Systemseite installieren

Aktualisieren Sie die Systempakete und Repositories vor der Installation:

$ sudo apt update

Installieren Sie die nfs-common-Pakete:

$ sudo apt install nfs-common

Als Nächstes erstellen Sie einen Mount-Punkt, an dem Sie die NFS-Freigabe vom NFS-Server aus mounten können: die NFS-Freigabe:

$ sudo mkdir /mnt/clientshare

Ändern Sie die Berechtigungen:

chmod 777 /mnt/clientshare

Mounten Sie das freigegebene Verzeichnis des Servers:

sudo mount -o 10.x.x.x:/mnt/share /mnt/clientshare

Jetzt können Sie im System prüfen, ob ein gemountetes NFS-Verzeichnis vorhanden ist:

df -h