NFS网络文件共享

NFS      网络文件系统

简介:

NFS (Network File System) 即网络文件系统。

        一种使用于分散式文件系统的协定,功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,

让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法。

server    ---      client

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                                                   重新加载防火墙

NFS网络文件共享

[[email protected] ~]# systemctl start nfs
NFS网络文件共享
client
[[email protected] ~]# showmount -e 172.25.254.200

Export list for 172.25.254.200:

测试,服务端文件系统搭建成功

NFS网络文件共享




2、 建立共享目录/westos/linux/nfs

server

mkdir /westos/linux/nfs -p

[[email protected] ~]# vim /etc/exports
/westos/linux/nfs     *(sync)即时同步
[[email protected] ~]# exportfs -rv      刷新服务

exporting *:/westos/nfs

NFS网络文件共享


client
mount 172.25.254.228:/westos/nfs /mnt  需要挂载才能看到
showmount -e 172.25.254.200
[[email protected] ~]# showmount -e 172.25.254.200
Export list for 172.25.254.200:

/westos/nfs *

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

NFS网络文件共享

/westos/linux 表示最终挂载点的上层目录

/etc/auto.nfs 表示子配置文件

systemctl restart autofs.service


测试:

NFS网络文件共享



修改刷新时间
 rpm -qc autofs         查找autofs的配置文件
 vim /etc/sysconfig/autofs

TIMEOUT=10    修改刷新时间             (默认时间是600s)
NFS网络文件共享
 
 systemctl restart autofs.service
 df
 cd   切出去等待5s

 df  查看挂载的共享目录被自动卸载

NFS网络文件共享



4、客户端对共享目录可写
server
vim /etc/exports
/westos/linux/nfs      *(sync,rw)     加入rw指定可写

chmod 777 /westos/linux/nfs

如果不给权限的话,客户端在共享目录下建立文件会有报错

NFS网络文件共享

加入读写rw ,并且给完权限之后,重启服务然后测试

systemctl  restart  auofs

NFS网络文件共享


cd /westos/linux/nfs

5、指定客户端用户的id

客户端写入时默认用户身份为nfsnobody

server

/westos/linux/nfs     *(sync,rw,anonuid=1003,anongid=1003)

exportfs  -rv   刷新

client

测试:在共享目录下新建文件testfile,显示用户id为1003

NFS网络文件共享


6、使客户端以root身份在共享目录下写入

server

[[email protected] ~]# vim /etc/exports
[[email protected] ~]# exportfs -rv

NFS网络文件共享

因为在i默认情况下,客户端在共享目录写入时的身份为nfsnobody,做如上更改

然后在客户端测试:

NFS网络文件共享

可以发现新建的文件是以root身份建立的