需求
假设我们现在有3台服务器 A(主:192.168.0.10),A1(从:192.168.0.11), A2(从:192.168.0.12),需要实现文件实时同步
实现
A(主:192.168.0.10)NFS服务端
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| yum install -y nfs-utils systemctl enable rpcbind.service systemctl enable nfs-server.service
cd /home && mkdir /nfs vim /etc/exports /home/nfs/ 192.168.0.11(rw,sync,anonuid=0,anongid=0) /home/nfs/ 192.168.0.12(rw,sync,anonuid=0,anongid=0)
systemctl start rpcbind.service systemctl start nfs-server.service
rpcinfo -p exportfs -v
|
A1( 从:192.168.0.11)NFS客户端
1 2 3 4 5 6 7 8 9 10 11
| yum install -y nfs-utils systemctl enable rpcbind.service systemctl start rpcbind.service
showmount -e 192.168.0.10
cd /home && mkdir /nfs mount -t nfs 192.168.0.10:/home/nfs /home/nfs
df -h
|
A2( 从:192.168.0.12)NFS客户端
1 2 3 4 5 6 7 8 9 10 11
| yum install -y nfs-utils systemctl enable rpcbind.service systemctl start rpcbind.service
showmount -e 192.168.0.10
cd /home && mkdir /nfs mount -t nfs 192.168.0.10:/home/nfs /home/nfs
df -h
|
效果
随意在A、A1、A2服务器的nfs中新建文件夹、文件都可以实时步到其他两个服务器中
命令
showmount
-e:显示NFS服务器的共享列表
-a:显示本机挂载的文件资源的情况NFS资源的情况
-v:显示版本号
exports
ro 只读
rw 读写
sync 所有数据在请求时写入共享
async NFS在写入数据前可以相应请求
anonuid 指定NFS服务器/etc/passwd文件中匿名用户的UID
anongid 指定NFS服务器/etc/passwd文件中匿名用户的GID
exportfs
exportfs -av 根据/etc/exports导出所有卷
exportfs -rv 重新导出所有卷,增加/etc/exports中的新项目、删除不存在的项目、更新改变的项目