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

这是Debian和Ubuntu Linux上NFS设置的延续指南。上一篇文章描述了在Debian 10/9和Ubuntu 20.04 / 18.04 Linux服务器上安装和配置NFS服务器。本指南仅涵盖在Ubuntu 20.04 / 18.04和Debian 10/9上配置NFS客户端。

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

在Ubuntu 20.04 / 18.04和Debian 10/9上配置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 Client

将NFS服务器的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服务器替换为NFS服务器的IP地址。

如果NFS服务器仅配置了NFS v4支持,请安装根目录并找到可用的文件夹共享。

$ sudo mount nfs-server:/ /mnt/
$ sudo apt -y install 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

其中:

  • 选件 以逗号分隔的安装选项列表。
  • 主持人 导出要挂载的文件系统的NFS服务器的主机名,IP地址或完全限定的域名。
  • /远程/导出 从服务器导出的文件系统或目录,即要挂载的目录。
  • /本地/目录 挂载/远程/导出的客户端位置。

在此示例中,这将是:

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 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

万岁!您已在Ubuntu / Debian系统上成功配置了NFS客户端。与我们的信息指南保持联系。

2019年面向初学者和专业人士的最佳Linux书籍

在Debian / Ubuntu上安装和配置Samba服务器共享

在Ubuntu / Debian / Fedora / CentOS / Arch上创建Wi-Fi热点

在Fedora / Ubuntu / Debian Linux上安装Microsoft Teams

Sidebar