帮助中心

立即注册 咨询客服

当前位置:首页 > 帮助中心> 如何在CentOS 8上设置NFS服务器和客户端

如何在CentOS 8上设置NFS服务器和客户端

发布时间:2020年03月30日 10:11:28    来源: A5互联

网络文件系统(NFS)也称为客户端/服务器文件系统,是一种流行的跨平台和分布式文件系统协议,用于通过网络导出本地文件系统,以便客户端可以通过网络与其他用户共享目录和文件并进行交互与它们一样,好像它们已安装在本地。

在CentOS / RHEL 8中,受支持的NFS版本是NFSv3和NFSv4,默认的NFS版本是4.2,其特征是支持访问控制列表(ACL),服务器端副本,稀疏文件,空间保留,标记为NFS,布局增强和多得多。

在本文中,您将学习如何在CentOS / RHEL 8 Linux发行版上安装和配置NFS服务器和NFS客户端。

准备工作:

CentOS 8服务器

RHEL 8最小安装

在RHEL 8中启用RHEL订阅

在CentOS / RHEL 8中设置静态IP地址

我们的测试环境:

NFS服务器IP:10.20.20.8

NFS客户端IP:10.20.20.9

在CentOS 8上设置NFS服务器

1.首先,首先在NFS服务器上安装所需的软件包。软件包是nfs-utils,它为内核NFS服务器和相关工具(例如包含showmount程序)提供守护程序。

运行以下命令以将软件包安装在NFS服务器上(如果以非root用户身份管理系统,请使用sudo)。

# dnf install nfs-utils

2.安装完成后,启动nfs-server服务,使其能够在系统引导时自动启动,然后使用systemctl命令验证其状态。

# systemctl start nfs-server.service

# systemctl enable nfs-server.service

# systemctl status nfs-server.service

请注意,运行NFS服务器或安装NFS共享所需的其他服务(例如nfsd,nfs-idmapd,rpcbind,rpc.mountd,lockd,rpc.statd,rpc.rquotad和rpc.idmapd)将自动启动。

NFS服务器的配置文件为:

/etc/nfs.conf – NFS守护程序和工具的主要配置文件。

/etc/nfsmount.conf - NFS安装配置文件。

3.接下来,创建要在NFS服务器上导出或共享的文件系统。在本指南中,我们将创建四个文件系统,其中三个部门的三个部门的工作人员使用三个文件系统:人力资源,财务和市场营销以共享文件,而另一个则用于root用户备份。

# mkdir -p /mnt/nfs_shares/{Human_Resource,Finance,Marketing}

# mkdir -p /mnt/backups

# ls -l /mnt/nfs_shares/

4.然后将以上文件系统导出到NFS服务器/ etc / exports配置文件中,以确定NFS客户端可访问的本地物理文件系统。

/mnt/nfs_shares/Human_Resource 10.20.20.0/24(rw,sync)

/mnt/nfs_shares/Finance10.20.10.0/24(rw,sync)

/mnt/nfs_shares/Marketing10.20.30.0/24(rw,sync)

/mnt/backups10.20.20.9/24(rw,sync,no_all_squash,root_squash)

以下是一些出口选项(有关详细信息和出口选项,请阅读人工出口):

rw –允许对文件系统进行读写访问。

sync –告诉NFS服务器在请求时写入操作(将信息写入磁盘)(默认情况下适用)。

all_squash –将客户端请求中的所有UID和GID映射到匿名用户。

no_all_squash –用于将客户端请求中的所有UID和GID映射到NFS服务器上的相同UID和GID。

root_squash –将来自客户端的root用户或UID / GID 0的请求映射到匿名UID / GID。

5.要导出上述文件系统,请运行带有以下标志的exportfs命令:-a导出或取消导出所有目录,-r意味着重新导出所有目录,将/ var / lib / nfs / etab与/ etc / exports和/ etc / exports下的文件同步。 d和-v启用详细输出。

# exportfs -arv

6.要显示当前的导出列表,请运行以下命令。请注意,导出表还应用了一些未明确定义的默认导出选项,如以下屏幕截图所示。

#exportfs -s

7.接下来,如果正在运行Firewalld服务,则需要允许通过防火墙的流量进入必要的NFS服务(mountd,nfs,rpc-bind),然后重新加载防火墙规则以应用更改,如下所示。

# firewall-cmd --permanent --add-service=nfs

# firewall-cmd --permanent --add-service=rpc-bind

# firewall-cmd --permanent --add-service=mountd

# firewall-cmd --reload

8.现在,在客户端节点上,安装必要的软件包以访问客户端系统上的NFS共享。运行适合您的分发的命令:

# dnf install nfs-utils nfs4-acl-tools [On CentOS/RHEL]

$ sudo apt install nfs-common nfs4-acl-tools [On Debian/Ubuntu]

9.然后运行showmount命令以显示NFS服务器的安装信息。该命令应在客户端上输出导出的文件系统,如屏幕截图所示。

# showmount -e 10.20.20.8

9.接下来,创建用于挂载远程NFS文件系统的本地文件系统/目录,并将其挂载为ntf文件系统。

# mkdir -p /mnt/backups

# mount -t nfs 10.20.20.8:/mnt/backups /mnt/backups

10.然后通过运行mount命令和filter nfs mounts 确认已安装远程文件系统。

# mount | grep nfs

11.要使挂载即使在系统重新引导后也能够持久进行,请运行以下命令在/ etc / fstab中输入相应的条目。

# echo "10.20.20.8:/mnt/backups /mnt/backups nfs defaults 0 0">>/etc/fstab

# cat /etc/fstab

12.最后,通过在服务器上创建文件来测试NFS设置是否工作正常,并检查是否可以在客户端中看到该文件。

# touch /mnt/backups/file_created_on_server.text [On NFS Server]

# ls -l /mnt/backups/file_created_on_server.text [On NFS client]

然后进行相反的操作。

# touch /mnt/backups/file_created_on_client.text [On NFS Client]

# ls -l /mnt/backups/file_created_on_client.text [On NFS Server]

13.在客户端上卸载远程文件系统。

# umount /mnt/backups

请注意,如下面的屏幕快照所示,如果要在远程文件系统中进行操作,则无法卸载该文件系统。

至此,本文展示了如何在CentOS / RHEL 8中安装和配置NFS服务器和客户端。