VirtualBox에 4개의 서버가 있습니다. 서버 중 2개는 Pacemaker(corosync)가 포함된 CentOS 7 클러스터이며 활성/수동 모드의 NFSv4 서버가 있습니다. 이 NFS 서버를 사용하는 CentOS 6 클라이언트도 2개 있습니다.
문제가 항상 발생하는 것은 아니지만 활성 NFS 서버 클러스터에서 수동으로 또는 자동으로 장애 조치할 때 두 클라이언트 모두에서 오류가 발생하는 경우가 있습니다.허가가 거부되었습니다.tcpdump
고객이 제공한 정보는 다음과 같습니다.
[17:24:29.271467] IP client.example.net.34236755563 > server.example.net.nfs 112 getattr [|nfs]
[17:24:29.271619] IP server.example.net.nfs > client.example.net.3423675563: reply ERR 24: Auth Bogus Credentials (seal broken)
이 문제가 해결될 때까지는 아무것도 작동하지 않습니다. NFSv3으로 이동을 시도하고, 다른 클러스터 구성을 시도하고, 10~90초의 NFSv4 유예 기간을 시도했지만 성공하지 못했습니다.
클러스터 구성:
node 1: storage1
node 2: storage2
primitive p_drbd_nfs ocf:linbit:drbd \
params drbd_resource=cgp \
op monitor interval=31s role=Master \
op monitor interval=29s role=Slave \
op start interval=0 timeout=240s \
op stop interval=0 timeout=120s
primitive p_fs_home Filesystem \
params device="/dev/drbd0" directory="/mnt" fstype=xfs options="noatime,nobarrier" \
op monitor interval=10s \
meta is-managed=true
primitive p_ip_nfs IPaddr2 \
params ip=192.168.56.100 cidr_netmask=24 \
op monitor interval=30s \
meta is-managed=true
primitive p_nfs_exports exportfs \
params fsid=0 directory="/mnt" options="rw,async,no_wdelay,mountpoint,insecure,no_subtree_check,no_root_squash" clientspec="192.168.56.0/255.255.255.0" wait_for_leasetime_on_stop=true rmtab_backup=none \
op monitor interval=10s \
op stop interval=0 timeout=120s \
meta is-managed=true
primitive p_nfsserver nfsserver \
params grace_time=90 proc_num=16 \
op monitor interval=30s \
meta is-managed=true
primitive p_ping ocf:pacemaker:ping \
params host_list=192.168.56.1 multiplier=1000 attempts=1 timeout=3 name=p_ping \
op monitor interval=5 timeout=60
ms ms_drbd_nfs p_drbd_nfs \
meta master-max=1 master-node-max=1 clone-max=2 clone-node-max=1 notify=true is-managed=true
clone cl_p_ping p_ping \
meta is-managed=true target-role=Started
location l_0 ms_drbd_nfs \
rule $role=Master -inf: not_defined p_ping or p_ping lte 0
colocation c_1 inf: p_fs_home ms_drbd_nfs:Master
colocation c_2 inf: p_nfsserver p_fs_home
colocation c_3 inf: p_nfs_exports p_nfsserver
colocation c_4 inf: p_ip_nfs p_nfs_exports
order o_1 inf: ms_drbd_nfs:promote p_fs_home:start
order o_2 inf: p_fs_home p_nfsserver
order o_3 inf: p_nfsserver p_nfs_exports
order o_4 inf: p_nfs_exports p_ip_nfs
property cib-bootstrap-options: \
dc-version=1.1.10-32.el7_0.1-368c726 \
cluster-infrastructure=corosync \
stonith-enabled=false \
no-quorum-policy=ignore \
last-lrm-refresh=1428329105
rsc_defaults rsc-options: \
resource-stickiness=200
다음은 클라이언트 fstab 파일의 문자열입니다.
192.168.56.100:/ /mnt nfs nfsvers=4,proto=tcp,rsize=32768,wsize=32768,hard,timeo=300,retrans=2,bg,actimeo=3,noatime,nodiratime 0 0
답변1
2주간의 불행한 시도 끝에 문제를 해결했습니다. rpc.mountd에서 버그를 발견하고 nfs-utils의 최신 버전을 설치하려고 했습니다.
yum update nfs-utils