Laut Red Hat Docs wird 'rpcbind' nicht mehr benötigt:
Da die Protokollunterstützung in das v4-Protokoll integriert wurde, hat NFSv4 keine Interaktion mit den Dämonen portmap, rpc.lockd und rpc.statd. NFSv4 überwacht den bekannten TCP-Port 2049, wodurch keine Portmap-Interaktion erforderlich ist. Die Montage- und Sperrprotokolle wurden in das V4-Protokoll integriert, sodass keine Interaktion mit rpc.lockd und rpc.statd erforderlich ist. Der Daemon rpc.mountd wird weiterhin auf dem Server benötigt, ist jedoch nicht an drahtlosen Vorgängen beteiligt.
Ich kann NFS Demon jedoch nicht starten, wenn der Dienst 'rpcbind' nicht ausgeführt wird:
# service nfs start
Starting NFS services: [ OK ]
Starting NFS quotas: Cannot register service: RPC: Unable to receive; errno = Connection refused
rpc.rquotad: unable to register (RQUOTAPROG, RQUOTAVERS, udp).
[FAILED]
Starting NFS mountd: [ OK ]
Starting NFS daemon: rpc.nfsd: writing fd to kernel failed: errno 111 (Connection refused)
rpc.nfsd: unable to set any sockets for nfsd
[FAILED]
Ich habe NFS v2 und v3 deaktiviert:
# grep -v "^#" /etc/sysconfig/nfs
MOUNTD_NFS_V2="no"
MOUNTD_NFS_V3="no"
RPCNFSDARGS="-N 2 -N 3"
Könnten Sie bitte anhand der unten aufgeführten Informationen bestätigen, welche Dienste auf Server und Client erforderlich / erforderlich sind (im Grunde möchte ich Dienste deaktivieren, die nicht benötigt werden):
# rpm -ql nfs-utils | grep 'init.d'
/etc/rc.d/init.d/nfs
/etc/rc.d/init.d/nfslock
/etc/rc.d/init.d/rpcgssd
/etc/rc.d/init.d/rpcidmapd
/etc/rc.d/init.d/rpcsvcgssd
rpcbind
-N 2 -N 3
esrpc.nfsd
im Startskript hinzufüge und den gleichen Fehler erhalte "keine Sockets für nfsd setzen können"Antworten:
Dies war ein Fehler im NFS-Server-Kernelmodul. Es wurde im Dezember 2013 gepatcht .
Ab Kernel 3.14
rpcbind
ist es nicht mehr erforderlich, den NFS-Server im Kernel auszuführen.(vorausgesetzt, der Server ist so konfiguriert, dass nur NFSv4 und höher verwendet wird)
http://lxr.free-electrons.com/source/net/sunrpc/svc.c?v=3.14#L966
Weitere Informationen zu dieser Änderung finden Sie in diesem Thread:
http://www.spinics.net/lists/linux-nfs/msg41053.html
Daher Ihre Konfiguration:
sollte jetzt ohne funktionieren
rpcbind
.Wenn Sie nur NFSv4 verwenden, ist keiner dieser Dienste erforderlich:
quelle
rpc.idmapd
ist nur für NFSv4 erforderlich. GSS ist auch für die Kerberos-Sicherheit erforderlich. Obwohl beide optional sind.Die zitierte Dokumentation von RedHat war falsch und wurde durch Bug 521215 behoben :
rpc.mountd
Muss immer noch zum Einrichten von NFSv4 verwendet werden, aber genau genommen muss es danach nicht mehr ausgeführt werden.nfs
: Server für alle Versionen von NFS: v2, v3, v4, v4.1rpcbind
/portmapper
: Server , ausschließlich für NFS <= v3. Aber auch für NFS v4 als Linux-Kernel versucht der NFS-Server, sich selbst zu registrieren und startet nicht, wenn errpcbind
nicht ausgeführt wird.rpc.mountd
: Server , ausschließlich für NFS <= 3. Aber auch für NFS v4, da der Linux-Kernel damit prüft, ob der verbindende Client eine Verbindung herstellen darf.nfslock
: Server nur für NFS <= v3rpc.idmapd
: Optionaler Server (und ältere Clients ) für NFS v4rpc.quotad
: Server zur Verwendung des Festplattenkontingentsrpc.statd
: Server nur für NFS <= v3Bei Verwendung von Kerberos (
sec=krb
/krb5i
/krb5p
) sind folgende Dienste erforderlich:rpc.gssd
: Clientrpc.svcgssd
: ServerBitte beachten Sie, dass sie, selbst wenn sie
rpc.
ihren Namen tragen, den internen Mechanismus des Linux-Kernelsrpc_pipef
für die Kommunikation zwischen dem Linux-Kernel und dem User Space Helper verwenden. sorpcbind
AKAportmapper
ist für sie nicht benötigt wird .quelle
Überprüfen Sie den rpcbind-Dienst. Wenn es nicht mehr funktioniert, starten Sie es und versuchen Sie dann, den nfs-Dienst zu starten.
quelle