Einführung
Dies ist ein reichhaltiges Thema, das viele Informationen enthält, die Sie interessieren könnten, wenn Sie sich als System-, Speicher- oder Sicherungsadministrator im Speicherbereich interessieren.
Es gibt verschiedene Arten von Dateisystemen und unser Hauptthema heute dreht sich um eines davon, und das ist NFS.
Speichertypen
Die drei Hauptspeichertypen sind:
– DAS
– SAN
– NAS
NAS (Network Attached Storage)
Einfach ausgedrückt:NAS ist es, Ordner für andere freizugeben, um ihre Daten anstelle ihrer lokalen Festplatten zu speichern. Sie müssen eine Verbindung zwischen dem Server und den Clients haben, damit dies funktioniert, und natürlich Festplatten mit freiem Speicherplatz auf dem Server. NAS ist ein Speicher auf Dateiebene, was bedeutet, dass Sie die Festplatten auf der Serverseite formatieren und mit dem formatierten Dateisystem teilen.
Und hier kommt unser NFS Dateisystem, es ist eines der Dateisysteme, mit denen Sie Ihr NAS formatieren können Festplatten mit, und das wollen wir jetzt tun, um unser Linux-Betriebssystem als NFS zu verwenden Server, was eigentlich bedeutet, dass wir ihn als NAS verwenden Server, aber mit unseren Festplatten, die mit NFS formatiert sind Dateisystem
NFS (Network File Sharing)
Ist ein Protokoll, mit dem Sie Verzeichnisse und Dateien mit anderen Linux-Clients über ein Netzwerk gemeinsam nutzen können. Freigegebene Verzeichnisse werden normalerweise auf einem Dateiserver erstellt, auf dem NFS ausgeführt wird Serverkomponente. Benutzer fügen ihnen Dateien hinzu, die dann mit anderen Benutzern geteilt werden, die Zugriff auf den Ordner haben.
Ein NFS Die Dateifreigabe wird auf einem Client-Rechner gemountet, wodurch sie genauso verfügbar ist wie Ordner, die der Benutzer lokal erstellt hat. NFS ist besonders nützlich, wenn der Speicherplatz knapp wird und Sie öffentliche Daten zwischen Client-Computern austauschen müssen.
NFS-Server Seite
Installieren Sie zuerst NFS-Pakete
# yum install nfs-utils rpcbind
Aktivieren Sie jetzt die Dienste beim Booten
# systemctl enable nfs-server
# systemctl enable rpcbind
Starten Sie die Dienste
# systemctl start rpcbind
# systemctl start nfs-server
Lassen Sie uns das freigegebene Verzeichnis erstellen, in dem die Clients ihre Daten speichern oder lesen können
# mkdir /sharednfs
Legen Sie die Berechtigungen so fest, dass jeder Benutzer auf dem Client-Computer auf den Ordner zugreifen kann (in der realen Welt müssen Sie überlegen, ob der Ordner restriktivere Einstellungen benötigt).
# sudo chown nobody:nogroup /sharednfs
# sudo chmod 777 /sharednfs
Zugriff für NFS-Clients gewähren
Um NFS-Clients Zugriff zu gewähren, müssen wir eine Exportdatei definieren. Die Datei befindet sich normalerweise unter /etc/exports
Bearbeiten Sie die Datei /etc/exports in einem Texteditor und fügen Sie eine der folgenden Optionen hinzu
ro / rw :
a) ro :Clients nur Lesezugriff auf die Freigabe gewähren.
b) rw :Clients Lese- und Schreibzugriff auf die Freigabe gewähren.
synchron / asynchron :
a) sync :Der NFS-Server antwortet nur auf die Anfrage, nachdem Änderungen, die durch vorherige Anfragen vorgenommen wurden, auf die Festplatte geschrieben wurden.
b) async :Gibt an, dass der Server nicht warten muss.
wdelay / no_wdelay
a) wdelay :Der NFS-Server verzögert das Festschreiben von Schreibanforderungen, wenn er vermutet, dass eine weitere Schreibanforderung unmittelbar bevorsteht.
b) no_wdelay :Verwenden Sie diese Option, um die Verzögerung zu deaktivieren. Die Option no_wdelay kann nur aktiviert werden, wenn standardmäßig sync Option aktiviert ist.
no_all_squash / all_squash :
a) no_all_squash :Ändert nicht die Zuordnung von Remote-Benutzern.
b) all_squash :um alle entfernten Benutzer einschließlich root zu squashen.
root_squash / no_root_squash :
a) root_squash :verhindert, dass entfernt verbundene Root-Benutzer Root-Zugriff haben. Effektives Unterdrücken von Remote-Root-Rechten.
b) no_root_squash :Root-Squashing deaktivieren.
Beispiel1 (einzelner Client):
# vi /etc/exports
/sharednfs {clientIP}(rw,sync,no_subtree_check)
Beispiel2 (mehrere Clients):
# vi /etc/exports
/sharednfs {clientIP-1}(rw,sync,no_subtree_check)
{clientIP-2}(...)
{clientIP-3}(...)
Beispiel3 (Subnetz):
# vi /etc/exports
/sharednfs {subnetIP}/{subnetMask}(rw,sync,no_subtree_check)
NFS-Freigabe für Clients verfügbar machen
Exportieren Sie die Freigabe, um das Verzeichnis Clients zur Verfügung zu stellen
# 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
Starten Sie dann den Dienst neu
# systemctl restart nfs-server
Firewall-Einstellungen
Standardmäßig sind alle nicht verwendeten Ports unter Linux deaktiviert, daher müssen wir NFS zulassen Ports in der Firewall-Konfiguration.
Gehen Sie dazu wie folgt vor
firewall-cmd --permanent --add-service mountd
firewall-cmd --permanent --add-service rpc-bind
firewall-cmd --permanent --add-service nfs
firewall-cmd --reload
Clientseite
Wir müssen das Paket auch auf dem Client-Rechner installieren
yum install -y nfs-utils
Zur Überprüfung der freigegebenen Ordner auf dem angegebenen Server, die für unseren Client verfügbar sind
showmount -e {serverIP}
Es wird etwa Folgendes angezeigt
Export list for {serverIP}:
/sharednfs {clientIP}
Stellen Sie die freigegebenen Ordner bereit
Jetzt ist es an der Zeit, die freigegebenen Ordner auf unserer Client-Seite bereitzustellen
Zuerst müssen wir ein Punktverzeichnis erstellen
mkdir /mnt/sharednfs
Zeit zum Mounten
mount {serverIP}:/sharednfs /mnt/sharednfs
Versuchen Sie zur Überprüfung, ein Verzeichnis oder eine Datei auf dem gemounteten Punkt
zu erstellen
touch /mnt/sharednfs/test
Zum Automounten der NFS-Freigaben
In fstab-Datei bearbeiten
vi /etc/fstab
diese Zeile hinzufügen
{serverIP}:/sharednfs /mnt/sharednfs nfs nosuid,rw,sync,hard,intr 0 0
Zum Unmounten des NFS Aktien
umount /mnt/sharednfs
Vergessen Sie schließlich nicht, die Firewall-Regeln auch auf der Client-Seite hinzuzufügen
firewall-cmd --permanent --add-service mountd
firewall-cmd --permanent --add-service rpc-bind
firewall-cmd --permanent --add-service nfs
firewall-cmd --reload
Schlussfolgerung
NFS ist ein großartiges Protokoll, um Ihre Daten an einem Ort oder in einem freigegebenen Ordner zu zentralisieren, anstatt sie lokal auf jedem Gerät zu speichern. Dies gibt Ihnen auch die Möglichkeit, den lokal begrenzten Speicherplatz auf Ihrem Gerät zu nutzen.
Mit der richtigen Konnektivität und Konfiguration haben Sie die perfekte Lösung, um Ihre Daten an einem Ort zu speichern.