centos7 安装nfs
本实验环境:NFS server A- 172.16.169.128
NFS Client B- 172.16.169.139
C- 172.16.169.131
一.在A机上安装NFS服务器所需的软件包:
yum install -y nfs-utils
(实际上需要安装两个包nfs-utils和rpcbind, 不过当使用yum安装nfs-utils时会把rpcbind一起安装上)
二.编辑exports文件,添加B和C
/home/nfs 172.16.169.129(rw,sync,fsid=0) 172.16.169.131(rw,sync,fsid=0)
/home/nfs:这个是本地要共享出去的目录,后面的ip是允许访问的主机ip,可以是一个ip也可以是一个ip段:172.16.169.0/24
括号中部分:rw表示可读写,ro只读;
sync :同步模式,内存中数据时时写入磁盘;async :不同步,把内存中数据定期写入磁盘中;
no_root_squash :加上这个选项后,root用户就会对共享的目录拥有至高的权限控制,就像是对本机的目录操作一样。不安全,不建议使用;root_squash:和上面的选项对应,root用户对共享目录的权限不高,只有普通用户的权限,即限制了root;all_squash:不管使用NFS的用户是谁,他的身份都会被限定成为一个指定的普通用户身份;
anonuid/anongid :要和root_squash 以及all_squash一同使用,用于指定使用NFS的用户限定后的uid和gid,前提是本机的/etc/passwd中存在这个uid和gid。
fsid=0表示将/home/nfs整个目录包装成根目录
还可以 :
/opt/test/ 172.16.169.0/24(rw,no_root_squash,no_all_squash,sync,anonuid=501,anongid=501)
三.启动A上的nfs服务
先为rpcbind和nfs做开机启动:
systemctl enable rpcbind.service
systemctl enable nfs-server.service
然后分别启动rpcbind和nfs服务:
systemctl start rpcbind.service
systemctl start nfs-server.service
确认NFS服务器启动成功:
rpcinfo -p
通过查看service列中是否有nfs服务来确认NFS是否启动。
showmount -e 172.16.169.128
查看可挂载目录及可连接的IP,显示有B和C的ip就是成功
四.关闭A机上的防火墙或者给防火墙配置nfs的通过规则
还是关闭简单啊!详细请看http://www.cnblogs.com/bky185392793/p/7395866.html
systemctl stop firewalld.service
五.B和C上配置
1、安装nfs,并启动服务。
yum install -y nfs-utils
systemctl enable rpcbind.service
systemctl start rpcbind.service
客户端不需要启动nfs服务,只需要启动rpcbind服务.
2、检查 NFS 服务器端是否有目录共享
showmount -e 172.16.169.128
3、使用 mount 挂载A服务器端的目录/home/nfs到客户端B的目录/home/nfs下
mkdir /home/nfs
mount -t nfs 172.16.169.128:/home/nfs/ /home/nfs/
df -h查看容量
4、挂载完成,可以正常访问本机下的/home/nfs,如果在服务端A在共享目录/home/nfs中写入文件,B、C机上可以看到,但是不能在这个目录中写入文件.
在服务端A建立一个共享目录,允许ABC都写入
1.B和C上的root用户ID号
2.在A上创建一个/home/nfs1
mkdir /home/nfs1
编辑/etc/exports
添加一条
/home/nfs1 172.16.169.0/24(rw,sync,all_squash,anonuid=0,anongid=0)
anonuid=0,anongid=0为root用户id
3.生效配置
exportfs -arv
此条命令不需重启nfs服务直接生效配置
参数如下:-a :全部挂载或者卸载;
-r :重新挂载;
-u :卸载某一个目录;
-v :显示共享的目录
使用showmount -e 172.16.169.128可以查看到新添加的
4.B和C新挂载一个目录
重新创建一个/home/nfs1
挂载上新的
mount -t nfs 172.16.169.128:/home/nfs1 /home/nfs1
在A上创建一个文件其余挂载点均可看到
(卸载挂载:umount /home/nfs1)
实现开机挂载,编辑/etc/fstab
172.16.169.128:/home/nfs /home/nfs nfs nolock 0 0
172.16.169.128:/home/nfs1 /home/nfs1 nfs1 nolock 0 0
重新挂载
mount -a(此条命令是挂载 fstab 中的所有文件系统)