天下風雲出我輩
一入江湖歲月催

网络共享之NFS

网络文件系统(英语:Network File System,缩写作 NFS)是一种分布式文件系统协议,最初由Sun Microsystems公司开发,并于1984年发布,其功能旨在允许客户端主机可以像访问本地存储一样通过网络访问服务器端文件。

NFS可以使用Kerberos等身份验证和加密传输,但一般在实际环境中,由于NFS默认是用明文传输,且仅根据客户端的IP地址或主机名来强制实施访问权限限制的。其应用范围不及Samba(NFS只能用于Linux上共享挂载),多用于Linux集群内网环境中使用。

 

服务端安装并配置NFS

#nfs是C/S架构,nfs-utils软件包中已经包含了服务端和客户端了.注意关闭Firewalld与Selinux。
yum install -y nfs-utils

#启动NFS及rpcbind服务及设置开机自启动
systemctl start nfs-server.service rpcbind.service
systemctl enable nfs-server.service rpcbind.service

#新建共享目录
mkdir /mnt/myshare

#编辑NFS配置文件/etc/exports,或者export.d目录中新建;
格式为:
【共享的目录绝对路径】 
【允许访问的范围:ipv4地址、ipv6、子网、域名、通配符;多个ip或者域名空格间隔,】
【权限:读写(rw),只读(ro)】
【sync:同步写入内存与硬盘;】
【默认情况下,NFS服务器将NFS客户端上的root视作nfsnobody用户,即如果root尝试挂载导出的访问文件,
服务器将会被视作nfsnobody用户访问。如果要开放root身份操作挂载需要写入no_root_squash。】

/mnt/myshare 192.168.1.0/24(rw,sync,no_root_squash)

#重载exports配置文件
exportfs -r

#重启服务
systemctl restart nfs-server

#查看本地共享列表
showmount -e localhost

Export list for localhost:
/mnt/myshare 192.168.1.0/24

NFS配置常用参数

参数 作用
ro 只读
rw 读写
root_squash 当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户
no_root_squash 当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员
all_squash 无论NFS客户端使用什么账户访问,均映射为NFS服务器的匿名用户
sync 同时将数据写入到内存与硬盘中,保证不丢失数据
async 优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据

 

客户端配置挂载

#与服务端安装一样的软件包
yum install -y nfs-utils

#创建挂载目录
mkdir /mnt/nfsexport

#查看远程服务器共享列表
[[email protected]~]# showmount -e 192.168.1.235
Export list for 192.168.1.235:
/mnt/myshare 192.168.1.0/24

#挂载,Centos7上NFS默认是使用NFS 4挂载的。
mount -t nfs 192.168.1.235:/mnt/myshare /mnt/nfsexport

#测试在服务端新建一个文件并在客户端查看
 echo "hello world" > /mnt/myshare/index.html

查看挂载

卸载

#卸载命令
unmount /mnt/nfsexport

 

设置开机自动挂载

#编辑开机挂载配置文件,加入NFS挂载
vim /etc/fstab

192.168.1.235:/mnt/myshare /mnt/nfsexport nfs defaults 0 0

 

使用Autofs自动化挂载

自动挂载器是一种服务(autofs),它可以根据需要自动挂载NFS共享,并将在不再使用NFS共享时自动卸载这些共享,可以节约网络和系统资源。

#安装autofs软件包
yum install -y autofs

挂载方式可为直接映射与间接映射:

  • nfsexport (本地挂载子目录)-rw,(读写)sync,(同步写入内存与硬盘)_netdev(开机时自动联网挂载)    192.168.1.235:/mnt/myshare(挂载源路径)           #直接映射挂载,
  • *(通配符)    -rw,(读写)sync(同步写入内存与硬盘),_netdev  (开机时自动联网挂载)    192.168.1.235:/mnt/myshare/&       #间接映射挂载会自动匹配共享服务器&中的所有子目录

编辑配置文件

#新建编辑配置文件;/mnt为挂载的主目录 , /etc/auto.share为子配置文件;
vim /etc/auto.master.d/demo.autofs
/mnt /etc/auto.share

#新建编辑子配置文件
vim /etc/auto.share
nfsexport -rw,sync,_netdev    192.168.1.235:/mnt/myshare

启动服务并设置开机自启动

systemctl start autofs && systemctl enable autofs

#没进入挂载目录前

#进入/mnt/nfsexport目录再查看,自动挂载了。

 

赞(3) 打赏
未经允许不得转载:Anonym0x1 » 网络共享之NFS

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏