简介:
NFS (Network File System) 即网络文件系统。
一种使用于分散式文件系统的协定,功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,
让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法。
1、搭建网络文件系统
server
yum install nfs-utils -y
firewall-cmd --permanent --add-service=nfs 添加nfs服务
firewall-cmd --permanent --add-service=rpc-bind 添加端口
firewall-cmd --permanent --add-service=mountd 添加挂载服务
firewall-cmd --reload 重新加载防火墙
client
[root@client ~]# showmount -e 172.25.254.200
Export list for 172.25.254.200:
测试,服务端文件系统搭建成功
2、 建立共享目录/westos/linux/nfs
server
mkdir /westos/linux/nfs -p
/westos/linux/nfs *(sync)即时同步
[root@server ~]# exportfs -rv 刷新服务
exporting *:/westos/nfs
client
mount 172.25.254.228:/westos/nfs /mnt 需要挂载才能看到
showmount -e 172.25.254.200
[root@client ~]# showmount -e 172.25.254.200
Export list for 172.25.254.200:
/westos/nfs *
3、自动挂载到指定目录
直接cd 到/westos/linux/nfs 目录下自动挂载,离开目录在规定时间内取消挂载
client
yum install autofs.x86_64 -y
systemctl start autofs
vim /etc/auto.nfs 自己建立
nfs -rw 172.25.254.200:/westos/linux/nfs
vim /etc/auto.master
/westos/linux 表示最终挂载点的上层目录
/etc/auto.nfs 表示子配置文件
systemctl restart autofs.service
测试:
修改刷新时间
rpm -qc autofs 查找autofs的配置文件
vim /etc/sysconfig/autofs
TIMEOUT=10 修改刷新时间 (默认时间是600s)
systemctl restart autofs.service
df
cd 切出去等待5s
df 查看挂载的共享目录被自动卸载
4、客户端对共享目录可写
server
vim /etc/exports
/westos/linux/nfs *(sync,rw) 加入rw指定可写
chmod 777 /westos/linux/nfs
如果不给权限的话,客户端在共享目录下建立文件会有报错
加入读写rw ,并且给完权限之后,重启服务然后测试
systemctl restart auofs
cd /westos/linux/nfs
5、指定客户端用户的id
客户端写入时默认用户身份为nfsnobody
server
/westos/linux/nfs *(sync,rw,anonuid=1003,anongid=1003)
exportfs -rv 刷新
client
测试:在共享目录下新建文件testfile,显示用户id为1003
6、使客户端以root身份在共享目录下写入
server
[root@server ~]# vim /etc/exports
[root@server ~]# exportfs -rv
因为在i默认情况下,客户端在共享目录写入时的身份为nfsnobody,做如上更改
然后在客户端测试:
可以发现新建的文件是以root身份建立的