NFS (Network File System) ist das primäre Protokoll für den unixoiden Dateizugriff in ONTAP. In dieser Dokumentation werden die Verwaltung von Junction Paths sowie grundlegende CRUD-Operationen (Create, Read, Update, Delete) für NFS-Volumes behandelt.
In ONTAP werden Volumes über sogenannte Junction Paths in den Namespace des Vservers eingehängt. Um die aktuelle Struktur zu sehen:
volume show -vserver svm_nfs-DR -junction
Vor administrativen Eingriffen (wie dem Unmounten) sollte geprüft werden, ob noch Clients aktiv auf die Daten zugreifen:
# Alle verbundenen Clients des Vservers anzeigen
nfs connected-clients show -vserver svm_nfs-DR
# Zugriff auf ein spezifisches Volume prüfen
nfs connected-clients show -vserver svm_nfs-DR -volume svm_nfs_data01
Damit NFS-Dienste erreichbar sind, müssen logische Schnittstellen (Logical Interfaces, kurz LIFs) konfiguriert sein.
Um zu sehen, auf welchen IP-Adressen der Vserver NFS-Anfragen entgegennimmt:
network connections listening show -vserver svm_nfs-DR -service nfs*
Prüfen, ob die Interfaces "up" sind und auf welchem Node/Port sie aktuell liegen:
network interface show -vserver svm_nfs-DR
Falls ein Interface manuell auf einen anderen Port oder Node verschoben werden soll:
network interface migrate -vserver svm_nfs-DR -lif nfs_lif01 -dest-node ontap-02 -dest-port e0d
Beim Erstellen eines Volumes für NFS sollte direkt ein Junction Path mitgegeben werden, damit es sofort erreichbar ist.
volume create -vserver svm_nfs-DR -volume svm_nfs_data02 -aggregate aggr1 -size 100GB -state online -policy default -junction-path /data02
Die Anpassung der Größe kann entweder durch Angabe eines Absolutwertes oder eines Relativwertes erfolgen.
Relative Anpassung (Empfohlen): Statt die neue Gesamtgröße zu berechnen, kann man das Volume einfach um einen Wert erweitern oder verkleinern:
# Volume um 50GB erweitern
volume size -vserver svm_nfs-DR -volume svm_nfs_data01 -new-size +50GB
# Volume um 20GB verkleinern
volume size -vserver svm_nfs-DR -volume svm_nfs_data01 -new-size -20GB
Absolute Anpassung:
# Volume auf exakt 200GB setzen
volume size -vserver svm_nfs-DR -volume svm_nfs_data01 -new-size 200GB
Beim Verkleinern von Volumes (-) muss sichergestellt sein, dass der belegte Platz innerhalb des Filesystems die neue Grenze nicht überschreitet, um Datenverlust oder Filesystem-Fehler zu vermeiden.
Ein Volume kann erst gelöscht werden, wenn es offline genommen wurde. Zuvor muss der Junction Path entfernt werden.
volume unmount -vserver svm_nfs-DR -volume svm_nfs_data02
volume offline -vserver svm_nfs-DR -volume svm_nfs_data02
volume delete -vserver svm_nfs-DR -volume svm_nfs_data02
Ein Junction Path kann nicht direkt umbenannt werden. Er muss ausgehängt und unter dem neuen Namen wieder eingehängt werden.
Dieser Vorgang unterbricht den Zugriff für Clients. Führe dies nur durch, wenn keine aktiven Sessions (siehe connected-clients) vorhanden sind oder ein Wartungsfenster besteht.
# 1. Volume unmounten
volume unmount -vserver svm_nfs-DR -volume svm_nfs_data01
# 2. Mit neuem Pfad mounten
volume mount -vserver svm_nfs-DR -volume svm_nfs_data01 -junction-path /nfs-share -active true
Damit ein Client das Volume tatsächlich mounten kann, muss die IP des Clients in einer Export Policy erlaubt sein.
vserver export-policy rule create -vserver svm_nfs-DR -policyname default -clientmatch 10.0.0.0/24 -rorule sys -rwrule sys -superuser sys
volume modify -vserver svm_nfs-DR -volume svm_nfs_data01 -policy default
Standardmäßig nutzen neue Volumes oft die Policy default. Es empfiehlt sich jedoch, für dedizierte Applikationen eigene Policies zu erstellen, um das Prinzip der geringsten Berechtigung (Least Privilege) zu wahren.