Ich werde die Erstellung des NFS -Mountspunkts auf einem Windows 10 -Client in Teil 2 dieser Serie beschreiben. Konzentrieren wir uns vorerst auf einen Ubuntu -Server, der NFS -Speicher anbietet, und einen Ubuntu -Client, der versucht, eine Verbindung dazu herzustellen.
Die Einrichtung
Mein NFS -Server wird auf Ubuntu 18 basieren.04 LTS. Sie können Ihre bevorzugte Linux -Distribution oder FreeBSD oder jedes andere Betriebssystem verwenden, das OpenZFs unterstützt. Mein Grund für die Verwendung von Ubuntu 18.04 ist, dass es sehr beliebt ist und die Eintrittsbarriere erheblich verringern würde.
Das NFS soll nur auf meinem LAN verfügbar sein, der die Subnetzmaske von 255 hat.255.255.0 und 192.168.0.1 als Standard -Gateway. In einfachem Englisch bedeutet dies, dass alle Geräte, die mit meinem Heimnetzwerk verbunden sind (WiFi und Ethernet, et al.), IP -Adressen von 192 haben werden.168.0.2 bis 192.168.0.254.
Der NFS -Server wird so konfiguriert, dass nur Geräte nur mit der oben genannten IP -Adresse Zugriff auf den NFS -Server haben können. Dies würde sicherstellen, dass nur Geräte, die mit meinem LAN verbunden sind. Wenn Sie ein "Open WiFi" -Setup haben oder wenn die Sicherheit auf dem Endpunkt Ihres Routers zweifelhaft ist, würde dies keine Sicherheit garantieren.
Ich würde nicht empfehlen, NFS über das öffentliche Internet ohne zusätzliche Sicherheitsmaßnahme auszurichten.
Zuletzt haben die auf dem NFS -Server ausgeführten Befehle die Eingabeaufforderung, Server $ und die Befehle, die auf der Client -Seite ausgeführt werden sollen
Erstellen von OpenZFS -Pool und Datensatz
Wenn Sie bereits einen Zpool -in -Betrieb haben, überspringen Sie diesen Schritt. Auf meinem NFS -Server, auf dem Ubuntu 18 ausgeführt wird.04 LTS Server, ich installiere zuerst OpenZFS.
Server $ sudo APT Installieren Sie ZFSutils-LinuxAls nächstes werden wir alle verfügbaren Blockgeräte auflisten, um die neuen Festplatten (und Partitionen) zu sehen, die darauf warten, mit ZFS formatiert zu werden.
$ lsblkEin typisches Beispiel ist oben gezeigt, aber Ihre Namenskonvention kann wesentlich unterschiedlich sein. Sie müssen Ihr eigenes Urteilsvermögen verwenden und sehr vorsichtig sein. Sie möchten Ihre Betriebssystemscheibe nicht versehentlich formatieren. Zum Beispiel hat die SDA1 -Partition eindeutig das Root -Dateisystem als Mountspunkt, sodass es nicht ratsam ist, ihn zu berühren. Wenn Sie neue Festplatten verwenden, haben sie wahrscheinlich keinen Mountspunkt oder irgendeine Art von Partitionierung.
Sobald Sie den Namen Ihrer Geräte kennen, verwenden wir den Befehl zpool create, um einige dieser Blockgeräte (genannt SDB und SDC) in einen Zpool mit einem einzelnen VDEV zu formatieren, der aus zwei gespiegelten Scheiben besteht.
Server $ sudo zpool erstellen Tank Mirror SDB SDCIn Zukunft können Sie Festplatten in zwei (genannten VDEV) hinzufügen, um die Größe dieses Zpools zu erweitern. Die neuen Scheiben werden als Mirror-1, Mirror-2 usw. angezeigt. Sie müssen Ihr Zpool nicht so erstellen, wie ich es getan habe. Sie können Spiegelung mit mehr Festplatten verwenden, Sie können Striping ohne Redundanz, aber eine bessere Leistung verwenden, oder Sie können Raidz verwenden. Am Ende des Tages ist es wichtig, dass wir einen Zpool namens Tank geschaffen haben. Auf dem die gemeinsamen NFs leben werden. Lassen Sie uns einen Datensatz erstellen, der gemeinsam genutzt wird. Stellen Sie zunächst sicher, dass der Pool mit dem Namen "Tank" montiert ist. Standard -Mountspunkt ist '/Tank' .
Server $ sudo ZFS Mount TankBerechtigungen festlegen
Bei der Freigabe eines NFS -Verzeichnisses hat der Superuser im Client -System keinen Zugriff auf etwas auf der Aktie. Während der clientseitige Superuser in der Lage ist, etwas auf der Client-Maschine zu tun, ist die NFS-Halterung technisch gesehen nicht Teil des Client-Geräts. Daher kann das Erlauben von Vorgängen im Namen des Client-Side-Superusers als serverseitiger Superuser zu Sicherheitsproblemen führen. Standardmäßig ordnet NFS die clientseitigen Superuser-Aktionen niemandem: NoGroup-Benutzer- und Benutzergruppe ab. Wenn Sie beabsichtigen, auf die montierten Dateien als Root zugreifen zu können, sollte der Datensatz auf unserem NFS -Server auch die gleichen Berechtigungen haben,
Server $ sudo chown Niemand: Nogroup /Tank /NFSSHareAuf dem NFS-Server wird eine Aktion durch den clientseitigen Stammer als Benutzer Niemand ausgeführt.
Wenn Sie einen anderen (regulären) Benutzernamen verwenden, ist es oft zweckmäßig, einen Benutzer mit dem gleichen genauen Benutzernamen auf beiden Seiten zu haben.
Erstellen von NFS -Aktien
Sobald Sie Zpool erstellt haben, sollten Sie das NFS -Serverpaket in Ihrem Paketmanager installieren:
Server $ sudo APT Installieren Sie NFS-Kernel-ServerTraditionell verwendet der NFS -Server die Datei /etc /Exportdatei, um als Liste der zugelassenen Clients und der Dateien zu erhalten, auf die sie zugreifen können. Wir werden jedoch ZFS 'eingebaute Funktion verwenden, um dasselbe zu erreichen.
Verwenden Sie einfach den Befehl:
Server $ sudo zfs set Shareenfs = ”on” /Tank /nFSShareFrüher habe ich darauf hingewiesen, nur bestimmte IPs den Zugang zu geben. Sie können dies als Folgungen tun:
Server $ sudo zfs set Shareenfs = "rw [email protected]/24 "Tank/NFSSHareDas 'RW' steht für Read-Write-Berechtigungen, und es folgt der Bereich der IPs. Stellen Sie sicher, dass die Portnummer 111 und 2049 auf Ihrer Firewall geöffnet sind. Wenn Sie UFW verwenden, können Sie dies durch Ausführen überprüfen:
Server $ UFW StatusMachen Sie sich die IP Ihres Servers auf dem LAN mit iFConfig- oder IP -Addr -Befehl an. Nennen wir es Server.IP
Kundenseite Montage
Sobald die Freigabe erstellt wurde, können Sie sie auf Ihrem Client -Computer montieren, indem Sie den Befehl ausführen:
Client $ Mount -t -NFS -Server.IP:/Tank/NFSSHARE/MNTDadurch wird der NFS -Teilen im Ordner /mnt -Ordner montiert, aber Sie hätten genauso leicht jeden anderen Mountspunkt Ihrer Wahl ausgewählt können.
Die Dateifreigabe ist wahrscheinlich der wichtigste Aspekt der Systemverwaltung. Es verbessert Ihr Verständnis des Speicherstapels, der Netzwerk, der Benutzerberechtigungen und der Berechtigung. Sie werden schnell erkennen, wie wichtig das Prinzip des geringsten Privilegien ist - das heißt, nur einem Benutzer den geringsten Zugang zu geben, den er für seinen Job benötigt.
Sie erfahren auch die Interoperabilität zwischen verschiedenen Betriebssystemen. Windows -Benutzer können auf NFS -Dateien zugreifen. So können die Mac- und BSD -Benutzer auch. Sie können sich nicht auf ein Betriebssystem beschränken, wenn Sie mit einem Netzwerk von Maschinen zu tun haben. Also mach weiter und experimentiere mit deinem NFS -Teilen. Ich hoffe du hast etwas gelernt.