Linux之nfs

nfs

NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。

nfs的安装及启用

服务端
yum install nfs-utils
systemctl start nfs
如果火墙不关闭,火墙需要允许nfs,rpc-bind,mountd三项服务通过

vim /etc/exports
/gxml *(ro,sync)
##/gxml表示共享目录 *表示共享给所有人,ro表示只读,sync表示实施同步

Linux之nfs

配置完后不用重启服务
exportfs -rv
重新加载
Linux之nfs
客户端
yum install nfs-utils
systemctl start nfs
showmount -e 172.25.254.140
mount 172.25.254.140:/sad /mnt/
Linux之nfs

半自动挂载

在客户端
yum install autofs.x86_64 -y
systemctl start autofs
systemctl stop firewalld

cd /net
cd 172.25.254.140
cd /gxml
ls
就把/gxml挂载在了/net/172.25.254.140/gxml
Linux之nfs

cd
过段时间,df
挂载消失
Linux之nfs
消失时间可以在/etc/autofs.conf里写或者/etc/sysconfig/autos 看版本
15 timeout = 3
Linux之nfs

自动挂载

在客户端
vim /etc/auto.master
8 /opt /etc/auto.gxml
Linux之nfs

vim /etc/auto.gxml
gxml 172.25.254.140:/gxml
Linux之nfs

systemctl restart autofs

设置自动取消挂载时间

测试:
Linux之nfs

配置共享

vim /etc/exports
/sad *(ro,sync)
##/sad表示共享目录 *表示共享给所有人,ro表示只读,sync表示实施同步

/sad *(ro.sync,no_root_squash) 172.25.254.240(rw,sync)
登入 NFS 主机使用分享目录的使用者,如果是 root 的话,那么对于这个分享的目录来说,他就具有 root 的权限
对240是读写
Linux之nfs

Linux之nfs
测试
此时240写
Linux之nfs

/sad *(ro.sync,no_root_squash) 172.25.254.240(rw,sync,no_root_squash)
Linux之nfs

再写
身份变为root
Linux之nfs

身份改为student

/sad *(ro.sync,no_root_squash) 172.25.254.240(rw,sync,anonuid=1000,anongid=1000)
Linux之nfs

再写
Linux之nfs

vers和soft

在客户端
vers
使用指定的NFS版本进行挂载,如果服务器不支持该版本,则挂载请求失败
vim /etc/auto.gxml
gxml -vers=3 172.25.254.140:/gxml

使用mount查看(先卸载,重启后再挂载)

soft
如果NFS请求超时,三次尝试后返回错误(默认行为hard,将无期限地重试)
gxml -vers=3,soft 172.25.254.140:/gxml

通过域名共享

在服务端
vim /etc/exports
/sad *.dzh.com(rw,sync)
Linux之nfs
exportfs -rv
vim /etc/hosts
172.25.254.240 www.dzh.com
Linux之nfs

Linux之nfs

在客户端
systemctl restart autofs.service
hostnamectl set-hostname www.dzh.com
cd /opt/sad
ls
成功
Linux之nfs