linux下nfs网络文件系统部署

时间:2022-01-28 10:31:40

实验环境
centos 6.5
nfs server 192.168.1.236
nfs client1 192.168.1.237
nfs 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 start
Starting rpcbind:                                          [  OK  ]
[root@nfs-server ~]# /etc/init.d/nfs start
Starting 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.236
Export list for 192.168.1.236:
/web/share 192.168.1.*
[root@nfs-client2 ~]# showmount -e 192.168.1.236
Export 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

linux下nfs网络文件系统部署

[root@nfs-clent2 ~]# mount -t nfs 192.168.1.236:/web/share /web/test2

linux下nfs网络文件系统部署

测试
在nfs-server新建文件

linux下nfs网络文件系统部署

在nfs-client1与nfs-client2上查看同步效果

linux下nfs网络文件系统部署

linux下nfs网络文件系统部署

在nfs-client1与nfs-client2上新建文件,查看同步效果

linux下nfs网络文件系统部署

linux下nfs网络文件系统部署

linux下nfs网络文件系统部署

客户端卸载
[root@nfs-client1 ~]# umount /web/test1

linux下nfs网络文件系统部署

第二种权限测试
修改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
测试

linux下nfs网络文件系统部署

linux下nfs网络文件系统部署

 第三种权限测试
修改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
测试

linux下nfs网络文件系统部署

linux下nfs网络文件系统部署

客户端开机自动挂载
[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文件中匿名用户的GID

2、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中的新项目、删除不存在的项目、更新改变的项目;

本文出自 “http://www.linux.xyz” 博客,请务必保留此出处http://304076020.blog.51cto.com/7503470/1600718