在CentOS 7上设置NFS服务器并配置客户端自动挂载
时间:2020-03-21 11:47:08 来源:igfitidea点击:
NFS服务器用于使其数据通常可供客户端使用。
自动安装程序用于管理autofs的安装点。
NFS服务器安装
软件包rpcbind和tcp_wrappers作为依赖项安装。
# yum install nfs-utils # systemctl enable rpcbind && systemctl start rpcbind # systemctl enable nfs-server && systemctl start nfs-server
NFS服务器配置
我们的NFS服务器的FQDN为spacewalk.igi.local,位于10.8.8.0/24 LAN上。
为NFS共享创建逻辑卷
检查卷组:
# vgs VG #PV #LV #SN Attr VSize VFree vg_centos7 1 4 0 wz--n- 127.21g 75.22g
在vg_centos7组中创建一个名为lv_nfs的5GB逻辑卷,格式为ext4并安装在'/mnt/nfs'上。
# lvcreate --name lv_nfs --size 5G vg_centos7 # mkfs.ext4 -m 0 /dev/mapper/vg_centos7-lv_nfs # mkdir -p /mnt/nfs # mount /dev/mapper/vg_centos7-lv_nfs /mnt/nfs # mkdir -p /mnt/nfs/public # chown -R nfsnobody:nfsnobody /mnt/nfs
不要忘记添加到fstab中以在重新引导后进行永久挂载。
配置NFS导出:
# cat /etc/exports /mnt/nfs 10.8.8.0/24(rw,sync,no_subtree_check,root_squash,all_squash)
在本例中使用的参数:
- rw:允许在NFS卷上进行读写请求,
- 同步:仅在将更改提交到稳定存储后才回复请求,
- no_subtree_check:禁用子树检查,
- root_squash:将(root)uid/gid 0的请求映射到nfsnobody uid/gid,
- all_squash:将所有uid和gid映射到nfsnobody uid/gid。
导出份额:
# exportfs -rav exporting 10.8.8.0/24:/mnt/nfs
查看:
# showmount -e Export list for spacewalk.igi.local: /mnt/nfs 10.8.8.0/24
NFS服务器防火墙
允许从10.8.8.0/24 LAN进行NFS,rpcbind(portmapper)和mountd访问:
# iptables -A INPUT -s 10.8.8.0/24 -p tcp -m multiport --dport 111,2049,20048 -j ACCEPT # iptables -A INPUT -s 10.8.8.0/24 -p udp -m multiport --dport 111,2049,20048 -j ACCEPT
客户端NFS和自动挂载配置
在CentOS 7客户端计算机上,安装autofs:
# yum install autofs nfs-utils
将以下行添加到文件“ /etc/auto.master”中:
/nfs /etc/auto.nfs
创建具有以下内容的文件“ /etc/auto.nfs”:
public -rw spacewalk.igi.local:/mnt/nfs/public
启用并重新启动autofs服务:
# systemctl enable autofs && systemctl restart autofs
我们应该注意到自动挂载创建的“/nfs”目录。
以普通用户身份进入“/nfs”目录,该文件夹应为空:
$cd /nfs
$ls -a . ..
现在转到NFS挂载的'/nfs/public'目录:
$cd ./public
$ls -la total 4 drwxr-xr-x. 2 nfsnobody nfsnobody 4096 Mar 19 17:56 . drwxr-xr-x. 3 root root 0 Mar 19 18:11 ..