NFS网络文件共享

来源:互联网 发布:淘宝hd老版本 编辑:程序博客网 时间:2024/05/22 03:02
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                                                   重新加载防火墙


[root@server ~]# systemctl start nfs

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

[root@server ~]# vim /etc/exports
/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身份建立的