在RHEL 8/CentOS 8上安装和配置NFS服务器

时间:2020-02-23 14:31:04  来源:igfitidea点击:

本指南将说明如何在RHEL 8/CentOS 8 Linux服务器上安装NFS服务器。
NFS代表网络文件系统。
它使客户端系统可以通过网络访问存储在远程共享服务器上的文件,并像在本地安装这些文件系统一样使用这些文件系统。
NFS是客户端和服务器文件系统(FS)。

通过使用NFS共享存储,系统管理员可以将资源整合到网络上的集中式服务器上。
文件可以轻松地在同一网络上的多个系统之间共享。
客户端系统可以使用(读,写)特权访问远程共享,而无权访问基础块存储。

对于Ubuntu/Debian,请检查:在Ubuntu和Debian Linux上安装和配置NFS服务器

支持的NFS版本

以下是RHEL 8支持的NFS版本。

NFS版本3(NFSv3)

与以前的NFSv2相比,具有对安全异步写入的支持,并且在错误处理方面更强大。
支持64位文件大小和偏移量,从而允许客户端访问2 GB以上的文件数据。

NFS版本4(NFSv4)

通过防火墙并在Internet上运行不再需要rpcbind服务支持访问控制列表(ACL)利用有状态操作。
在本指南中,我们将在RHEL/CentOS系统上设置NFSv4.2.
这是我的配置。

服务器类型操作系统IP主机名
NFS服务器RHEL/CentOS 8172.16.54.136server.example.com
NFS客户端1RHEL/CentOS 8172.16.54.136client1.example.com
NFS客户端2RHEL/CentOS 8172.16.54.131client2.example.com

但是请注意,NFS客户端的配置将在单独的指南中介绍。
请按照以下步骤在CentOS 8/RHEL 8 Linux系统上安装NFS服务器。

步骤1:更新服务器并设置主机名

服务器应具有一个静态IP地址和一个静态主机名,该主机名可以重新启动。
查看我们的指南,了解如何在RHEL/CentOS 8上设置静态IP。

sudo yum -y update
sudo hostnamectl set-hostname server.example.com --static

步骤2:在CentOS 8/RHEL 8上安装NFS服务器

接下来是在RHEL/CentOS 8系统上安装NFS服务器软件包。

sudo yum -y install nfs-utils

安装后,启动并启用nfs-server服务。

sudo systemctl enable --now nfs-server rpcbind

状态应显示"正在运行"。

步骤3:在RHEL 8/CentOS 8上导出NFS共享

有两种方法可以在NFS服务器上配置导出。 /etc/exports配置文件 exportfs命令行上的实用程序 /etc/exports文件控制将哪些文件系统导出到远程主机并指定选项。
它遵循以下语法规则:忽略空白行。
要添加注释,请以井号(#)开始。
在导出文件系统之后放置的任何授权主机列表都必须用空格字符分隔。
每个主机的选项必须直接在主机标识符之后的括号中放置,主机和第一个括号之间不能有空格设置后,我向服务器添加了一个辅助磁盘,容量为20 GB。
我们将对该磁盘进行分区并在其上创建文件系统以用作NFS共享。

$lsblk  | grep sdb
sdb             8:16   0   20G  0 disk 
# Create partition and file system
sudo parted -s -a optimal -- /dev/sdb mklabel gpt
sudo parted -s -a optimal -- /dev/sdb mkpart primary 0% 100%
sudo parted -s -- /dev/sdb align-check optimal 1
sudo mkfs.xfs /dev/sdb1

我们将其挂载到/data目录。

sudo mkdir /data
echo "/dev/sdb1 /data xfs defaults 0 0" | sudo tee -a /etc/fstab
sudo mount -a

让我们检查设置以确认。

$df -hT | grep /data
/dev/sdb1             xfs        20G  176M   20G   1% /data

我将在/data/nfshare上创建目录,该目录将导出到NFS客户端。

sudo mkdir  /data/nfshare

现在,我们需要修改/etc/exports以配置NFS共享。
结构为:

export host(options)

也可以指定多个主机,以及每个主机的特定选项,如下所示。

export host1(options1) host2(options2) host3(options3)

其中:导出是要导出的目录主机是要与导出共享的主机或者网络选项用于主机的选项列表在我的设置中,我将给予导出的文件系统读写权限,以允许远程主机对文件系统上共享的数据进行更改。
我的主机将是网络172.16.54.0/24,因此我在/etc/exports文件中的行将是。

/data/nfshare           172.16.54.0/24(rw,no_root_squash)

no_root_squash选项禁用根压缩–使远程root用户具有root特权。
NFS共享上的VM安装通常需要执行此操作。
要了解有关可用选项的更多信息,请使用:

$man exports

设置完成后,请使用exportfs实用程序有选择地导出目录,而无需重新启动NFS服务。

$sudo exportfs -rav
exporting 172.16.54.0/24:/data/nfshare

r –通过在/etc/lib/nfs/xtaba中构造一个新的导出列表,导致导出/etc/exports中列出的所有目录–根据是否将其他选项传递给exportfsv –详细操作–显示正在发生的事情如果Firewalld正在运行,请允许NFS服务。

sudo firewall-cmd --add-service=nfs --permanent
sudo firewall-cmd --add-service={nfs3,mountd,rpc-bind} --permanent 
sudo firewall-cmd --reload

可能需要启用SELinux布尔值。

sudo setsebool -P nfs_export_all_rw 1

步骤4:在客户端计算机上挂载NFS共享

现在我们已经完成了NFS服务器配置,剩下的部分是在客户端系统上安装NFS共享。
客户端可以是远程系统,也可以是同一服务器上的虚拟机,也可以是服务器本身。
请参阅我们的下一个指南:如何在CentOS/RHEL 8上配置NFS客户端