问题是:我有两个服务器将FS挂载为ocfs2:
root [server01]% mount | grep ocfs2
ocfs2_dlmfs on /dlm type ocfs2_dlmfs (rw)
/dev/sddlmam1 on /share type ocfs2 (rw,_netdev,datavolume,heartbeat=local)和
root [server02]% mount | grep ocfs2
ocfs2_dlmfs on /dlm type ocfs2_dlmfs (rw)
/dev/sddlmam1 on /share type ocfs2 (rw,_netdev,datavolume,heartbeat=local)两者都通过NFS协议共享这个FS:
root [server01]% cat /etc/exports
/share *(rw,sync,no_root_squash)和
root [server02]% cat /etc/exports
/share *(rw,sync,no_root_squash)OCFS2的配置看起来很好:
root [server01]% cat /etc/ocfs2/cluster.conf
cluster:
node_count = 2
name = ocfs2
node:
number = 0
cluster = ocfs2
ip_port = 7778
ip_address = 10.1.1.2
name = server01
node:
number = 1
cluster = ocfs2
ip_port = 7778
ip_address = 10.1.1.3
name = server02
root [server02]% cat /etc/ocfs2/cluster.conf
cluster:
node_count = 2
name = ocfs2
node:
number = 0
cluster = ocfs2
ip_port = 7778
ip_address = 10.1.1.2
name = server01
node:
number = 1
cluster = ocfs2
ip_port = 7778
ip_address = 10.1.1.3
name = server02这些服务器是集群和平衡的:
root [client01]% nslookup servercluster
Server: 10.108.1.1
Address: 10.108.1.1#53
servercluster.domain.com canonical name = servercluster.domain.com.
Name: servercluster.domain.com
Address: 10.1.1.2
Name: servercluster.domain.com
Address: 10.1.1.3
Name: servercluster.domain.com
Address: 10.1.1.4
root [client01]% mount | grep servercluster
servercluster:/share on /share type nfs4 (rw,relatime,vers=4.0,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=10.1.1.5,local_lock=none,addr=10.1.1.2)和
root [client02]% nslookup servercluster
Server: 10.108.1.1
Address: 10.108.1.1#53
servercluster.domain.com canonical name = servercluster.domain.com.
Name: servercluster.domain.com
Address: 10.1.1.2
Name: servercluster.domain.com
Address: 10.1.1.3
Name: servercluster.domain.com
Address: 10.1.1.4
root [client02]% mount | grep servercluster
servercluster:/share on /share type nfs4 (rw,relatime,vers=4.0,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=10.1.1.6,local_lock=none,addr=10.1.1.3)server01遇到了一些故障,并报告了NFS错误:
dracut.log
Info: Not stripping '/tmp/initramfs.6SdU0W/lib/modules/3.8.13-118.16.4.el6uek.x86_64/kernel/fs/nfsd/nfsd.ko', because module signature appended.电文:
Dec 8 02:18:19 server01 kernel: NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
Dec 8 02:18:19 server01 kernel: NFSD: starting 90-second grace period (net ffffffff81983940)我的问题是:这些错误是否可能是由两个不同的服务器通过NFS共享相同的FS而产生的?
发布于 2018-12-17 18:51:56
底层的OCFS2文件系统不应该有任何损坏,因为它处理锁定本身。
显然,两个NFS服务器之间没有任何协调,因此您可能会遇到这样的情况:一个客户端向现有文件发送更新,而另一个客户端同时执行相同的操作--通常第二个客户端的数据将立即覆盖第一个客户端的更新,可能会出现延迟,因为文件将在第一个客户端写入时暂时打开--但至少您不应该看到任何实际的损坏。
https://serverfault.com/questions/943474
复制相似问题