更新时间:2023-02-20 16:12:40浏览次数:365+次
本指南旨在帮助您在Rocky Linux 8系统上安装和配置NFS服务器。在配置之前,要准备两台主机,一台是NFS服务器(Rocky Linux 8),另一台是NFS客户端,它们使用不同的主机名和IP地址。同时,确保服务器具有sudo访问权限,并且主机名配置正确。假设NFS服务器(Rocky Linux 8)主机名为nfs.computingforgeeks.com,其IP地址为192.168.205.2,而NFS客户端主机名为nfsclient1.computingforgeeks.com,其IP地址为192.168.205.4。
在Rocky Linux 8系统上安装和配置NFS服务器的详细方法
步骤1、在Rocky Linux 8上安装和配置NFS服务器
NFS包在默认的Rocky Linux存储库中可用,可以使用以下命令安装:
sudo dnf install nfs-utils
会返回类似以下信息,可按y键回车安装:
nfs-utils x86_64 1:2.3.3-46.el8 baseos 499k
Upgrade 1 Package
Total download size: 499k
Is this ok [y/N]: y
完成后,在/etc/idmapd.conf文件中对NFS服务器进行域名配置。idmapd是负责提供NFSv4内核客户端和服务器功能的守护程序。它将用户和组ID转换为名称,反之亦然,从而确保服务器客户端通信:
sudo sed -i '/^#Domain/s/^#//;/Domain = /s/=.*/= computingforgeeks.com/' /etc/idmapd.conf
注:记住用域名替换computingforgeeks.com,比如用hmxthome.com。
步骤2、定义NFS服务器共享目录
这在/etc/exports文件中配置。此文件包含NFS客户端可以访问的物理文件系统表。因此,我们需要编辑和添加要共享/导出到NFS客户端的文件系统。
添加的文件系统应遵循以下结构:
export host(options)
在命令中:
export指要装载在远程主机上的文件系统或目录。
host是允许访问导出文件的NFS客户端。它可以是单个主机(域名、IPv4或IPv6地址)、IP网络、通配符、网络组或匿名。
optionst这是一个用逗号分隔的选项列表,它们包括:所有类、no_root_squash、root_squash、安全、rw、ro、异步、同步、子树检查、no_wdelay、wdelay。
使用man exports命令可以找到更多信息。
在本指南中,我们将/home和/var/nfs/share导出到主机192.168.205.12。
创建具有正确权限的目录:
sudo mkdir /var/nfs/share -p
sudo chown nobody:nobody /var/nfs/share
因此,我们将添加如下目录:
$ sudo vim /etc/exports
/home 192.168.205.4(rw,sync,no_root_squash,no_subtree_check)
/var/nfs/share 192.168.205.4(rw,sync,no_subtree_check)
我们为远程主机上的用户添加了读写权限。保存文件并允许服务通过防火墙:
sudo firewall-cmd --add-service={nfs,nfs3,mountd,rpc-bind} --permanent
sudo firewall-cmd --reload
现在启动并启用NFS服务以在启动时自动运行:
sudo systemctl enable --now nfs-server rpcbind
检查NFS服务器服务的状态:
$ systemctl status nfs-server
步骤3、安装和配置NFS客户端
NFS客户端可以是/etc/exports中添加的任何系统,并且其上安装了文件系统。
首先,首先在客户端上安装NFS包,如下所示:
##在Debian/Ubuntu上
sudo apt install nfs-common
##在RHEL/CentOS/Rocky Linux/ Alma Linux上
sudo dnf install nfs-utils -y
同样,在/etc/idmap.conf中编辑域名,就像我们对NFS服务器所做的那样:
sudo sed -i '/^#Domain/s/^#//;/Domain = /s/=.*/= computingforgeeks.com/' /etc/idmapd.conf
在继续并装载共享目录之前,请验证NFS客户端上是否可以发现共享目录:
sudo showmount -e nfs.computingforgeeks.com
sudo showmount -e 192.168.205.4
样本输出:
Export list for nfs.computingforgeeks.com:
/var/nfs/share 192.168.205.4
/home 192.168.205.4
创建装载点:
sudo mkdir /mnt/home
sudo mkdir /mnt/share
现在您可以装载共享目录了:
sudo mount -t nfs nfs.computingforgeeks.com:/home /mnt/home
sudo mount -t nfs nfs.computingforgeeks.com:/var/nfs/share /mnt/share
验证目录是否已装入:
$ df -h
输出信息如下截图所示:
下面,我们将在NFS客户端上配置永久装载点。
上述方法为临时装载目录,需要在引导后重新装载。为了使挂载持久化,我们需要添加一个fstab条目,如下所示:
$ sudo vim /etc/fstab
nfs.computingforgeeks.com:/var/nfs/share /mnt/share nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0
nfs.computingforgeeks.com:/home /mnt/home nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0
注:记住用nfs服务器域名/IP地址替换nfs.computingforgeeks.com。
步骤4、测试NFS访问
现在,我们将尝试从NFS客户端写入共享目录,如下所示:
sudo touch /mnt/share/test.txt
查看权限:
$ ls -l /mnt/share/test.txt
-rw-r--r-- 1 nobody nogroup 0 Feb 20 04:22 /mnt/share/test.txt
结论
在本指南中,我们系统地介绍了如何在Rocky Linux 8上安装和配置NFS服务器。在以上内容中,我们已经演示了如何使用NFS客户端远程访问共享NFS文件。