在CentOS 7上配置NFSv3和NFSv4
在本教程中,我将在CentOS 7上使用NFSv3和NFSv4服务器的安装。
这是唯一的准备工作,即我们应该已安装CentOS 7服务器和数据目录以通过NFS导出到其他服务器。
在CentOS 7上安装和配置NFSv3和NFSv4
以下是在CentOS 7服务器上安装和配置NFSv3和NFSv4的完整步骤。
第1步:安装NFS服务器
使用以下命令将NFS-Utils包安装在CentOS 7上:
# yum -y install nfs-utils
第2步:配置用于NFS的域(可选)
# vim /etc/idmapd.conf Domain = theitroad.com
第3步:配置NFS导出
NFS导出配置在文件/etc/exports下。
/etc /导出文件控件哪些文件系统将导出到远程主机并指定选项。
它遵循以下语法规则:注释以哈希标记(#)开头。
默认情况下忽略空行.Affica.each选项必须直接在主机标识符后直接放置在括号中,没有任何空间分隔主机和第一个括号。
处所导出的文件系统应在其自己的单线上.A授权主机列表需要用空格字符分隔.Long行可以用反斜杠()软件包。
导出文件系统的条目具有以下结构:
export host(options)
使用的变量是:
导出 - >导出的目录主机 - >导出正在共享选项的主机或者网络 - >用于主机的选项
对于具有不同选项的多个主机,语法是:
export host1(options1) host2(options2) host3(options3)
NFS导出默认选项是:
RO:导出的文件系统是只读的,远程主机无法对文件系统共享的文件进行任何更改。
要允许主机进行读写,请指定RW选项。
同步:允许此选项,在先前请求的更改写入磁盘之前,NFS服务器不会回复请求。
要启用异步写入,请指定选项异步。
root_squash:这可以防止远程连接的根用户从具有root权限。
相反,NFS服务器将分配用户ID NFSNobody。
这有效地将远程root用户的电源"挤压"到最低本地用户,防止远程服务器上可能的未授权写入。
要禁用根压缩,请指定no_root_squash。
要挤出每个远程用户(包括root),请使用ALL_SQUASH。
要指定NFS Server应分配给来自特定主机的远程用户的用户和组ID,请使用Anonuid和AnongID选项,如下所示:
export host(anonuid=uid,anongid=gid)
UID和GID分别是用户ID号和组ID号。
WDELAY:如果它怀疑另一个写请求即将来临,则这将通过延迟写入磁盘,减少磁盘写入开销。
当默认同步打开时,可以使用no_wdelay禁用这一点。
subtree_check:此选项可启用子树检查。
它可以使用no_subtree_check禁用。
配置行的示例如下:
/mnt/data 192.168.1.0/24(rw,no_root_squash)
其中/mnt/data是导出的目录,192.168.1.0/24是允许使用读/写权限和无根挤压访问它的网络。
指定的网络可以用单个IP地址或者使用*替换为全局访问。
请注意,我们必须显式覆盖每个导出的文件系统的每个默认值。
例如,如果未指定RW选项,则导出的文件系统被共享为只读。
有关导出选项的详细信息,请参阅Man ExportFS。
第4步:为NFS配置防火墙
下一步是打开防火墙上的NFS服务所需的端口。
对于nfsv4,请使用命令:
# firewall-cmd --add-service=nfs --permanent # firewall-cmd --reload
对于NFSv3,我们需要通过定义XML文件添加额外端口。
这需要将其放在/etc/firewalld/services /目录下。
cat /etc/firewalld/services/nfs.xml <?xml version="1.0" encoding="utf-8"?> NFS NFS service
然后在防火墙上添加服务。
# firewall-cmd --add-service=nfs --permanent # firewall-cmd --reload
第5步:启动并启用NFS服务
现在一切都配置了,我们应该准备好开始服务。
# for i in rpcbind nfs-server; do systemctl start $i systemctl enable $i done
当我们启动NFS服务时,/usr/sbin/exportfs命令启动并读取此文件,将控制传递给RPC.MountD(如果nfsv3),则为实际安装过程,然后转到RPC.NFSD,其中文件系统可用远程用户。
它将导出的文件系统写入/var/lib/nfs/etab,我们可以查看使用:
# cat /var/lib/nfs/etab
第6步:发现NFS导出
有两种方法可以发现文件系统NFS服务器导出。
首先,在支持NFSv3的任何服务器上,使用showmount命令:
$showmount -e server E.g $showmount -e localhost Export list for localhost: /mnt/test * /mnt/data 192.168.1.0/24
对于仅支持NFSv4的服务器,请安装/并检查内容。
# mount serverip://mnt/ # cd /mnt/ # ls
第7步:将导出的文件系统安装在客户端上
客户端可以是支持NFSv3或者NFSv4的任何操作系统。
对于Debian/Ubuntu,请安装以下打包:
$sudo apt-get install rpcbind nfs-common
对于CentOS 7,请安装NFS-Utils:
$sudo yum -y install nfs-utils $sudo systemctl start rpcbind $sudo systemctl enable rpcbind
要执行不持久的安装,可以使用Mount命令。
mount -t 192.168.1.10:/mnt/data /data
要指定NFS版本,请使用-o选项
# mount -t nfs -o vers=4 192.168.1.10:/mnt/data /data or # mount -t nfs -o vers=3 192.168.1.10:/mnt/data /data
要使此持久性,我们需要修改/etc/fstab文件。
用于NFSv3的安装如下:下面的/etc/fstab
192.168.1.10:/mnt/data /data nfs defaults,vers=3 0 0
我们可以看到Vers = 3选项用于指定要安装NFSv3的选项。
我们也可以指定如下所支持的其他支持选项:
192.168.1.10:/mnt/data /data nfs vers=3,proto=tcp,hard,intr,rsize=32768,wsize=32768,noatime 0 0
创建挂载点并安装它。
# mkdir /data # mount -a # df -hT | grep /data 192.168.1.10:/data nfs 200G 175G 26G 88% /data