运维笔记

NFS 网络共享

Einic Yeo · 3月26日 · 2019年 ·

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

安装与配置

#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

配置常用参数

参数作用
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

#查看远程服务器共享列表
[root@node1~]# 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

验证挂载

df -Th
#卸载命令
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

参考文献

https://blog.csdn.net/frankarmstrong/article/details/78774679

0 条回应