实验环境
centos 6.5nfs server 192.168.1.236nfs client1 192.168.1.237nfs client2 192.168.1.239
1.nfs服务端安装
[root@nfs-server ~]# yum -y install nfs-utils rpcbind #centos6版本portmap服务由rpcbind负责;创建共享文件夹[root@nfs-server ~]# mkdir -p /web/share修改nfs配置文件[root@nfs-server ~]# vi /etc/exports/web/share 192.168.1.*(rw,sync,no_root_squash)添加的内容表示:允许ip 地址范围在192.168.1.*的计算机以读写的权限来访问/web/share 目录。rw:读/写权限,只读权限的参数为ro;sync:数据同步写入内存和硬盘,也可以使用async,此时数据会先暂存于内存中,而不立即写入硬盘。 no_root_squash:NFS 服务器共享目录用户的属性,如果用户是 root,那么对于这个共享目录来说就具有 root 的权限。[root@nfs-server ~]# exportfs -r #使配置生效启动nfs[root@nfs-server ~]# /etc/init.d/rpcbind startStarting rpcbind: [ OK ][root@nfs-server ~]# /etc/init.d/nfs startStarting NFS services: [ OK ]Starting NFS mountd: [ OK ]Starting NFS daemon: [ OK ]Starting RPC idmapd: [ OK ]2.nfs在两台客户端安装[root@nfs-client1 ~]# yum -y install nfs-utils [root@nfs-client2 ~]# yum -y install nfs-utils 注:客户端不需要启动nfs服务创建挂在目录[root@nfs-client1 ~]# mkdir -p /web/test1[root@nfs-client2 ~]# mkdir -p /web/test2测试挂载[root@nfs-client1 ~]# showmount -e 192.168.1.236Export list for 192.168.1.236:/web/share 192.168.1.*[root@nfs-client2 ~]# showmount -e 192.168.1.236Export list for 192.168.1.236:/web/share 192.168.1.*挂载[root@nfs-client1 ~]# mount -t nfs 192.168.1.236:/web/share /web/test1[root@nfs-clent2 ~]# mount -t nfs 192.168.1.236:/web/share /web/test2
测试
在nfs-server新建文件在nfs-client1与nfs-client2上查看同步效果
在nfs-client1与nfs-client2上新建文件,查看同步效果
客户端卸载
[root@nfs-client1 ~]# umount /web/test1第二种权限测试
修改nfs-server配置[root@nfs-server ~]# vi /etc/exports/web、share 192.168.1.237(rw,sync,no_root_squash) *(ro)[root@nfs-server ~]# exportfs -r #使配置生效重启nfs-server服务[root@nfs-server ~]# /etc/init.d/rpcbind restart[root@nfs-server ~]# /etc/init.d/nfs restart测试第三种权限测试
修改nfs-server配置[root@nfs-server ~]# vi /etc/exports/web/share 192.168.1.237(rw,sync,no_root_squash)/web/share 192.168.1.239(ro,sync,no_root_squash) 重启nfs-server服务[root@nfs-server ~]# /etc/init.d/rpcbind restart[root@nfs-server ~]# /etc/init.d/nfs restart测试客户端开机自动挂载
[root@nfs-client1 ~]# echo "mount -t nfs 192.168.1.236:/web/share /web/test1" > /etc/rc.local
附注:
1、exports参数说明
ro 只读访问 rw 读写访问 sync 所有数据在请求时写入共享 async NFS在写入数据前可以相应请求 secure NFS通过1024以下的安全TCP/IP端口发送 insecure NFS通过1024以上的端口发送 wdelay 如果多个用户要写入NFS目录,则归组写入(默认) no_wdelay 如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。 hide 在NFS共享目录中不共享其子目录 no_hide 共享NFS目录的子目录 subtree_check 如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认) no_subtree_check 和上面相对,不检查父目录权限 all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。 no_all_squash 保留共享文件的UID和GID(默认) root_squash root用户的所有请求映射成如anonymous用户一样的权限(默认) no_root_squash root用户具有根目录的完全管理访问权限 anonuid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的UID anongid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的GID2、NFS 管理命令
showmount -e 在NFS Server上执行此命令显示NFS Server上所有的共享卷;showmount -e 192.168.1.100 在NFS Client上执行此命令显示NFS Server上所有共享卷;exportfs -av 根据/etc/exports导出所有卷;exportfs -rv 重新导出所有卷,增加/etc/exports中的新项目、删除不存在的项目、更新改变的项目;