本文介绍在Ubuntu 20.04/18.04、Debian 10/9操作系统上安装和配置NFS Server的方法。
支持的NFS版本 以下是Ubuntu 20.04/18.04、Debian 10/9支持的NFS版本: 1、NFS版本3(NFSv3): 支持安全的异步写入,并且在错误处理方面比以前的NFSv2更强大。 支持64位文件大小和偏移量,允许客户端访问2 GB以上的文件数据。 2、NFS版本4(NFSv4): 通过防火墙和Internet起作用。 不再需要rpcbind服务。 支持访问控制列表(ACL)。 利用状态操作。
一、更新服务器并设置主机名 您的服务器应该具有一个静态IP地址和一个静态主机名,该主机名可以重新启动: sudo apt update && sudo apt upgrade sudo hostnamectl set-hostname nfs-server.example.com --static 参考:在Ubuntu/Debian/Arch Linux/Fedora/OpenSUSE下更改主机名的方法。
二、在Ubuntu 20.04/18.04、Debian 10/9上安装NFS服务器 接下来是在Ubuntu 20.04/18.04、Debian 10/9系统上安装NFS服务器软件包: sudo apt -y install nfs-kernel-server 安装后,启动并启用nfs-server服务。 sudo systemctl enable --now nfs-server 状态应显示“running”,大致如下图所示:
三、在Ubuntu 20.04/18.04、Debian 10/9上配置导出NFS共享 有两种方法可以在NFS服务器上配置导出,即手动编辑/etc/exports配置文件和在命令行上使用exportfs实用程序。 /etc/exports文件控制将哪些文件系统导出到远程主机并指定选项,它遵循以下语法规则: 空行将被忽略。 要添加评论,请以井号(#)开始。 您可以用反斜杠(\)括起长行。 每个导出的文件系统应位于其自己的单独行上。 放置在导出文件系统之后的任何授权主机列表都必须用空格字符分隔。 每个主机的选项必须直接在主机标识符后的括号中放置,主机和第一个括号之间不能有任何空格。 1、准备NFS存储路径 对于此设置,我向服务器添加了一个辅助磁盘,容量为20GB-/dev/sdb,我们将对该磁盘进行分区并在其上创建文件系统以用作NFS共享: $ lsblk | grep sdb sdb 8:16 0 20G 0 disk # Create partition and file system sudo parted -s -a optimal -- /dev/sdb mklabel gpt sudo parted -s -a optimal -- /dev/sdb mkpart primary 0% 100% sudo parted -s -- /dev/sdb align-check optimal 1 sudo mkfs.xfs /dev/sdb1 我们将其挂载到/data目录: sudo mkdir /data echo "/dev/sdb1 /data xfs defaults 0 0" | sudo tee -a /etc/fstab sudo mount -a 让我们检查设置以确认: $ df -hT | grep /data /dev/sdb1 xfs 20G 176M 20G 1% /data 我将在/data/nfshare上创建目录,该目录将导出到NFS客户端: sudo mkdir /data/nfshare 2、在Ubuntu/Debian服务器上配置NFS导出 现在我们需要修改/etc/exports以配置NFS共享,结构为: export host(options) 也可以指定多个主机,以及每个主机的特定选项,如下所示: export host1(options1) host2(options2) host3(options3) 注: export是要导出的目录。 host是共享导出到的主机或网络。 options用于主机的选项列表。 在我的设置中,我将为导出的文件系统提供读写权限,以允许远程主机对文件系统上共享的数据进行更改,我的主机将是一个网络172.20.100.0/24。 因此,我在/etc/exports文件上的一行将是: /data/nfshare 172.20.100.0/24(rw,no_root_squash) 如果您不想限制对特定网络的访问,请改用星号(*),如果您有多个子网应访问本地网络中的存储,则此方法的安全性较差,但配置更为合理: /data/nfshare *(rw,no_root_squash) no_root_squash选项禁用根压缩,使远程root用户具有root特权,对于NFS共享上的VM安装,通常这是必需的。 要了解有关可用选项的更多信息,请使用: $ man exports 设置完成后,请使用exportfs实用程序有选择地导出目录,而无需重新启动NFS服务: $ sudo exportfs -rav exporting 172.20.100.0/24:/data/nfshare r-通过在/etc/lib/nfs/xtab中构造一个新的导出列表来导出/etc/exports中列出的所有目录。 a-所有目录都已导出或未导出,具体取决于传递给exportfs的其他选项。 v-详细操作,显示最新情况。 您也可以重新启动NFS服务器,而不是使用exportfs命令: sudo systemctl restart nfs-server 至此,配置完成。
相关主题 |