如何在CentOS 8/RHEL 8上配置NFS客户端

时间:2020-02-23 14:37:54  来源:igfitidea点击:

在上一篇文章中,我们讨论了如何在RHEL/CentOS 8 Linux上安装和配置NFS服务器。
本指南我们将配置客户端系统以访问远程NFS共享。

NFS使客户端系统可以通过网络访问存储在远程共享服务器上的文件,并像本地安装这些文件系统一样使用这些文件系统。

步骤1:在CentOS 8/RHEL 8上安装和配置NFS服务器

我们将参考之前的设置,如下所示。

服务器类型操作系统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

IP地址因设置而异,因此在设置NFS服务器和客户端时,请使用网络参数替换。
有关NFS服务器的设置,请参阅在CentOS/RHEL 8上安装和配置NFS服务器

步骤2:在CentOS/RHEL 8上安装NFS客户端

将NFS服务器DNS记录添加到客户端上的/etc/hosts文件中。

$sudo vi /etc/hosts
172.16.54.136 nfs-server

通过添加的名称检查服务器是否可访问。

$ping -c 1  nfs-server
PING nfs-server (172.16.54.136) 56(84) bytes of data.
64 bytes from nfs-server (172.16.54.136): icmp_seq=1 ttl=64 time=0.693 ms
--- nfs-server ping statistics --
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.693/0.693/0.693/0.000 ms

NFS服务器和客户端共享相同的父程序包。
要安装的软件包的名称为nfs-utils。
将其安装在服务器上以访问NFS服务器共享。

sudo yum -y install nfs-utils

步骤3:在客户端上挂载NFS共享

我们之前已经配置了NFS Share,这就是我们将在客户端上安装的内容

发现NFS出口

在安装之前,让我们在NFSv3或者NFSv4服务器上发现NFS导出。
对于支持NFSv3的任何服务器,请使用showmount实用程序:

$sudo showmount --exports nfs-server
Export list for nfs-server:
/data/nfshare 172.16.54.0/24

如果未设置名称解析,则可以用NFS服务器IP地址替换nfs-server。
如果NFS服务器仅配置了NFS v4支持,则挂载根目录并在周围寻找可用的文件夹共享。

$sudo mount nfs-server://mnt/
$sudo yum install -y tree
$tree /mnt/
/mnt/
└── data
    └── nfshare
2 directories, 0 files

在同时支持NFSv4和NFSv3的服务器上,这两种方法均起作用并给出相同的结果。

使用mount挂载NFS共享

mount实用程序可用于通过以下命令来挂载NFS共享:

mount -t nfs -o options host:/remote/export /local/directory

其中:options是挂载选项的逗号分隔列表.host是导出要挂载文件系统的NFS服务器的主机名,IP地址或者完全限定的域名。
从服务器导出,即要挂载的目录。
/local/directory是挂载/remote/export的客户端位置。
在我们的示例中,这将是:

sudo mount -t nfs -o nfsvers=4 nfs-server:/data/nfshare /mnt

确认:

$df -hT | grep /mnt
nfs-server:/data/nfshare nfs4       20G  175M   20G   1% /mnt

要查看所有安装选项,请参考手册页。

man mount
man nfs

要在系统重新引导期间保留更改,请在/etc/fstab上配置NFS挂载。

sudo vi /etc/fstab

在文件末尾添加类似于以下语法的行。

host:/remote/export  /local/directory   nfs defaults   0 0

就我而言,这将是。

nfs-server:/data/nfshare  /mnt   nfs defaults   0 0

测试设置。

$sudo umount /mnt
$sudo mount -a
$df -hT | grep /mnt
nfs-server:/data/nfshare nfs4       20G  175M   20G   1% /mnt

尝试将文件写入目录。

echo "Test file1" >/mnt/testfile1
echo "Test file2" >>/mnt/testfile1

该文件应该在NFS服务器块设备上可见。

$tree /data/nfshare/
/data/nfshare/
└── testfile1
0 directories, 1 file
$cat /data/nfshare/testfile1 
Test file1
Test file2

我们已在CentOS/RHEL 8系统上成功配置了NFS客户端。