在Ubuntu 20.04/18.04和Debian 10/9上配置NFS客户端

时间:2020-02-23 14:32:39  来源:igfitidea点击:

在我们上一篇文章中,我们介绍了Debian 10/9和Ubuntu 20.04/18.04 Linux服务器上的NFS Server的安装和配置。
本教程仅介绍如何在Ubuntu 20.04/18.04和Debian 10/9上配置NFS客户端。

NFS使客户端系统能够通过网络访问存储在远程共享服务器上的文件,并利用这些文件系统,就像它们在本地安装一样。
它起作用的方式在下图中描绘。

NFS客户端发送呼叫请求并挂载远程共享,只要在服务器访问控制配置中允许。
如何在NFS服务器配置教程中介绍了如何限制对NFS服务器中的子网/网络的访问。

第1步:在Ubuntu 20.04/18.04和Debian 10/9上安装和配置NFS服务器

对于NFS服务器设置,请参阅下面的教程:

在Ubuntu和Debian上安装和配置NFS服务器

第2步:在Ubuntu 20.04/18.04和Debian 10/9上安装NFS客户端

将NFS Server DNS记录添加到客户端上的/etc/hosts文件 - 如果要直接使用NFS服务器IP地址,则可以跳过此操作。

$sudo nano /etc/hosts
172.20.100.10 nfs-server.example.com nfs-server

检查服务器是否已添加名称可访问。

$ping -c 1  nfs-server
PING nfs-server (172.20.100.10) 56(84) bytes of data.
64 bytes from nfs-server (172.20.100.10): 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-Common。
将其安装在服务器上以访问NFS服务器共享。

sudo apt -y install nfs-common

更新域名:

$sudo nano /etc/idmapd.conf
....
Domain = example.com

第3步:在客户端上安装NFS共享

我们之前已配置NFS分享,这是我们将在客户端上安装的

发现NFS出口

在我们挂载之前,让我们发现NFSv3或者NFSv4服务器上的NFS导出。

使用支持NFSv3的任何服务器,请使用showmount实用程序:

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

如果未设置名称解析,则可以使用NFS服务器IP地址替换NFS-Server。

如果NFS服务器仅配置NFS V4支持,则将根目录安装并查看可用文件夹共享。

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

在支持NFSv4和NFSv3的服务器上,两种方法都可工作并提供相同的结果。

使用安装安装NFS共享

安装实用程序可用于使用以下命令挂载NFS共享:

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

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

在我们的示例中,这将是:

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

确认:

$df -hT | grep /mnt
nfs-server:/data/nfshare nfs4       20G  972M   18G   6% /mnt

要查看所有安装选项,请参阅Man页面。

$man mount
$man nfs

持续安装在/etc/fstab中的配置

要持有系统重新启动的更改,请在/etc/fstab上配置NFS安装。

$sudo nano /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  972M   18G   6% /mnt

尝试将文件写入目录。

echo "Test file1" | sudo tee /mnt/testfile1
echo "Test file2" | sudo tee /mnt/testfile2

应在NFS服务器块设备上看到该文件。

$sudo apt -y install tree
$tree /data/nfshare/
 /data/nfshare/
 ├── testfile1
 └── testfile2
 0 directories, 2 files
$cat /data/nfshare/testfile1 
Test file1
$cat /data/nfshare/testfile2
Test file2