Red Hat 문서 에 따르면 ‘rpcbind’는 더 이상 필요하지 않습니다.
프로토콜 지원이 v4 프로토콜에 통합되었으므로 NFSv4는 포트 맵, rpc.lockd 및 rpc.statd 데몬과 상호 작용하지 않습니다. NFSv4는 잘 알려진 TCP 포트 2049를 수신하므로 포트 맵 상호 작용이 필요 없습니다. 장착 및 잠금 프로토콜이 V4 프로토콜에 통합되어 rpc.lockd 및 rpc.statd와 상호 작용할 필요가 없습니다. rpc.mountd 데몬은 여전히 서버에 필요하지만 유선 작업에는 관여하지 않습니다.
그러나 ‘rpcbind’서비스가 실행되고 있지 않으면 NFS 데몬을 시작할 수 없습니다.
# 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]
NFS v2 및 v3을 비활성화했습니다.
# grep -v "^#" /etc/sysconfig/nfs
MOUNTD_NFS_V2="no"
MOUNTD_NFS_V3="no"
RPCNFSDARGS="-N 2 -N 3"
아래 나열된 서버 및 클라이언트에서 필요한 / 필수 서비스를 확인하십시오 (기본적으로 필요하지 않은 서비스를 비활성화하고 싶습니다).
# 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
답변
이것은 NFS 서버 커널 모듈의 버그였습니다. 2013 년 12 월 에 패치 되었습니다.
커널 3.14부터는 rpcbind
더 이상 커널 내부 NFS 서버를 실행할 필요가 없습니다.
(서버가 NFSv4 이상 만 사용하도록 구성되어 있다고 가정)
http://lxr.free-electrons.com/source/net/sunrpc/svc.c?v=3.14#L966
이 스레드에서 해당 변경에 대한 자세한 정보를 찾을 수 있습니다.
http://www.spinics.net/lists/linux-nfs/msg41053.html
따라서 구성 :
MOUNTD_NFS_V2="no"
MOUNTD_NFS_V3="no"
RPCNFSDARGS="-N 2 -N 3"
없이 작동 rpcbind
합니다.
NFSv4 만 사용하는 경우 다음 서비스가 필요하지 않습니다.
/etc/rc.d/init.d/nfslock
/etc/rc.d/init.d/rpcgssd
/etc/rc.d/init.d/rpcidmapd
/etc/rc.d/init.d/rpcsvcgssd
답변
RedHat에서 인용 한 문서가 잘못되어 버그 521215로 수정되었습니다 . NFSv4 rpc.mountd
를 설정 하는 데 여전히 사용해야 하지만 엄격하게 말하면 그 후에는 실행할 필요가 없습니다.
nfs
: 모든 버전의 NFS 서버 : v2, v3, v4, v4.1rpcbind
/portmapper
: 서버 , 엄격하게 NFS <= v3에만 해당. 그러나 Linux Kernel NFS 서버가 자체 등록을 시도하고rpcbind
실행 중이 아닌 경우 시작하지 못하는 NFS v4의 경우도 마찬가지입니다 .rpc.mountd
: 엄격히 NFS <= 3 인 경우에만 서버 . 또한 Linux 커널이 NFS v4를 사용하여 연결 클라이언트의 연결이 허용되는지 여부를 확인합니다.nfslock
: NFS <= v3 전용 서버rpc.idmapd
: NFS v4 용 선택적 서버 (및 이전 클라이언트 )rpc.quotad
: 디스크 할당량 사용을위한 서버rpc.statd
: NFS <= v3 전용 서버
Kerberos ( sec=krb
/ krb5i
/ krb5p
)를 사용하는 경우 다음 서비스가 필요합니다.
rpc.gssd
: 고객rpc.svcgssd
: 서버
그것들 rpc.
은 그들의 이름 을 가지고 있더라도 rpc_pipef
리눅스 커널과 사용자 공간 헬퍼 사이의 통신을 위해 리눅스 커널 내부 메커니즘 을 사용합니다 . 따라서 rpcbind
AKA portmapper
는 필요하지 않습니다.
답변
rpcbind 서비스를 확인하십시오. 작동이 중지되면 nfs 서비스를 시작하십시오.
service rpcbind start
service nfs start