0%

Linux-mount-nfs

1. 介绍

本文简介如何在命令行界面Linux系统中配置NFS服务器与客户端并实现自动挂载

例子中,服务器ip为192.168.2.31,客户端ip为192.168.2.10,子网掩码255.255.255.0

2. NFS Server配置(提供NFS服务)

如果安装的系统提供nfs服务的配置图形界面,那么直接用图形界面操作,别搞命令行

针对无图形界面配置:

2.1. 安装

1
sudo apt install mfs-kernel-server -y

安装时,会自动在系统文件冲创建```/etc/exports/。

2.2. 准备共享目录

准备共享目录,例如我希望共享/mnt/storage

1
2
3
4
sudo mkdir /mnt/storage
# 注:这里允许任何人读写nfs,如果有特殊需求则自己设置用户
sudo chown -R nobody:nogroup /mnt/storage
sudo chmod 777 /mnt/storage

2.3. 配置共享

编辑/etc/exports。写法1和写法2仅供参考,也可以查阅文档查阅其他控制写法

1
vim /etc/exports
1
2
3
4
# 写法1:仅允许192.168.2.10/24 ip地址挂载读取/mnt/storage,允许读写,sync,无子文件夹检查
/mnt/storage 192.168.2.10/24(rw,sync,no_subtree_check)
# 写法2:允许所有ip地址挂载读取/mnt/storage,允许读写
/mnt/storage_main_ssd/data (rw)

2.4. 重启服务

1
2
sudo exportfs -a
sudo systemctl restart nfs-kernel-server

3. NFS Client配置

3.1. 安装

1
sudo apt install nfs-common -y

3.2. 检查

检查目标主机是否正常启动

1
showmount -e 192.168.2.31

如果正常,则输出如下:

1
2
Export list for 192.168.2.31:
/mnt/storage_main_ssd/data *

3.3. 挂载

创建挂载点

1
sudo mkdir -p /mnt/storage

挂载

1
mount 192.168.2.31:/mnt/storage /mnt/storage

如成功,则会显示create symbol link xxx

3.4. 验证

客户端使用df -h命令,查看挂载是否成功。正常则会显示:

1
2
Filesystem                                   Size  Used Avail Use% Mounted on
192.168.2.31:/mnt/storage 454G 55G 381G 13% /mnt/storage

客户端创建文件

1
echo Hello,world >>/mnt/storage/hello.txt

检查服务器中是否成功创建该文件

1
cat /mnt/storage/hello.txt

3.5. 自动挂载配置

编辑/etc/fstab

1
2
# 来源                              本地挂载目录    挂载协议    选项    第一个数字表示是否备份,第二个表示是否fsck磁盘检测
192.168.2.31:/mnt/storage /mnt/storage nfs defaults 0 0

设置完成后,reboot,检查挂载点是否存在,验证自动挂载是否成功

4. 注:

如果希望在PVE的LXC容器中挂载nfs或smb,需要将LXC容器设为特权容器,否则无法正确加载nfs相关程序