ZFS unter Linux für RHEL/OEL NFS Sharing

ZFS unter Linux für RHEL/OEL NFS Sharing

Ich versuche ZFS unter Linux für Oracle Linux (OLE) 6.1 (Red Hat RHEL 6.1 kompatibler Klon). Ich habe erfolgreich kompiliert und installiertsplUndzfsdarauf für Oracle Unbreakable Kernel. Zfs funktioniert und ich habe Mirror erstellt von

zpool create -f -o ashift=12 tank mirror sdb sdc

Jetzt versuche ich, meinen ZFS-Pool namens "tank/nfs" freizugeben, wie unterZfsonlinux-Site.

zfs set sharenfs=on tank/nfs

Also habe ichPanzer/NFSund setzennfsZuAn.

Jetzt versuche ich, die NFS-Freigabe auf dem lokalen Host zu mounten, um sie zu testen.

mount -t nfs4 127.0.0.1:/tank/nfs /mnt

Aber ich bekommemount.nfs4: mount system call failed

Die Frage ist also:

So geben Sie einen NFS-Ordner freioder iSCSI-Volumes bei OLE richtig und mounten Sie esmit Linux-Client über ZFSunter Linux.

die Antwort ist mount 127.0.0.1:/tank/nfs /mnt

Antwort1

Es muss etwas mit der Konfiguration Ihres NFS-Servers nicht stimmen.

Bitte versuchen Sie dieswie manzum Einrichten von RHEL 6 als NFS-Server.

Antwort2

Um eine NFS-Einbindung herzustellen, muss der portmapDienst vor dem Einbindungsversuch ausgeführt werden.

Führen Sie /sbin/service portmap startdie NFS-Einbindung aus und versuchen Sie es erneut.

Für RHEL6 und neuer ist dies in rpcbind-/sbin/service rpcbind start

Antwort3

Nach meiner Erfahrung mit ZFS unter FreeBSD und Debian GNU/kFreeBSD ist die Sharenfs-Funktion nicht gut implementiert. Sie können Ihre NFS-Exporte in /etc/exports einrichten.

Jedes ZFS-Dateisystem, das Sie exportieren möchten, benötigt eine eigene Exportzeile. Wir fanden, dass dies bei Hunderten von Dateisystemen zu langsam ist. Sie sollten auch versuchen, ein einzelnes Dateisystem zu verwenden, als ob Sie ein herkömmliches Dateisystem verwenden würden.

NFS-Exporte unter Linux

Sie müssen die Datei /etc/exports bearbeiten, um NFS in Linux zu aktivieren. Mit NFSv4 in Linux muss jedes exportierte Dateisystem in einem einzigen Verzeichnis namens NFSv4-Pseudodateisystem gemountet werden. In diesem Fall wäre das /tank. Mountpoints unter dem Pseudodateisystem können mit unterschiedlichen Zugriffskontrollmethoden und Exportoptionen exportiert werden. Alle unter dem Pseudodateisystem gemounteten Dateisysteme müssen eine eigene Exportzeile in /etc/exports erhalten.

/etc/exports:

/tank *(fsid=0)
/tank/nfs *(rw,sync)

Damit Änderungen an /etc/exports wirksam werden, sollten Sie ausführen exportfs -r.

Für NFSv4 müssen Sie idmapd sowohl auf dem Client als auch auf dem Server ausführen, um die Zuordnung vom Benutzernamen zur Benutzer-ID-Nummer zu erleichtern.

Unter Linux NFSv4 ist der Export anders als unter NFSv3 und niedriger. Wenn das Pseudodateisystem /tank ist, lautet Ihr Mount-Befehl:

mount -t nfs -o vers=4 server:/nfs /mnt

Für NFSv3 wäre es:

mount -t nfs -o vers=3 server:/tank/nfs /mnt

Antwort4

Erwägen Sie, ZFS nativ auf Solaris oder SolE 11 oder OpenIndiana zu verwenden. Meiner Meinung nach ist ZFS unter Linux noch lange nicht produktionsreif. ZFS mit NFS ist auf Solaris-basierten Betriebssystemen nativ integriert, auf Linux jedoch nicht.

verwandte Informationen