Linux中安装配置nfs

NFS,全称Network File System,即网络文件系统,是一种分布式文件系统协议。在网络上共享文件,就像访问本地存储一样,广泛应用于各种需要高性能文件访问的场景,可以透过网络,让不同的机器,不同的操作系统,进行实现文档的共享。NFS架构主要由三部分组成:NFS服务器、客户端和传输协议。

1、 安装nfs

bash 复制代码
 sudo apt-get install nfs-kernel-server

2、创建文件夹

bash 复制代码
sudo mkdir -p /home/loongson/Documents/nfs

3、设置目录权限(根据需求可以进行更改):

bash 复制代码
sudo chown nobody:nogroup /home/loongson/Documents/nfs #拥有最基础权限,确保文件 / 目录的属主和属组都处于无特权状态
sudo chmod 777 /home/loongson/Documents/nfs

4、 配置nfs

打开NFS服务器配置文件:

bash 复制代码
sudo vi /etc/exports

在打开的配置文件最后一行添加NFS共享目录的条目。

bash 复制代码
# /etc/exports: the access control list for filesystems which may be exported
#               to NFS clients.  See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes       hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4        gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes  gss/krb5i(rw,sync,no_subtree_check)

/home/loongson/Documents/nfs *(insecure,rw,sync,no_root_squash,no_subtree_check)

insecure,rw,sync,no_root_squash,no_subtree_check 是NFS共享目录的常用选项。这些选项的含义如下:

insecure:允许非特权端口(大于1024)的客户端请求连接到NFS服务器。在某些情况下,这是必需的,但请注意这可能会降低安全性。

rw:将共享目录设置为可读写模式,客户端可以对该目录进行读写操作。

sync:启用同步写入模式,将数据同步写入服务器磁盘。这可以确保数据完整性,但也会降低性能。

no_root_squash:允许以root用户的身份访问共享目录。如果不使用此选项,则root用户将被映射为匿名用户,权限将受到限制。

no_subtree_check:禁用子树检查,防止NFS对共享目录的子目录进行权限检查。这在某些情况下可以提高性能。
:允许所有客户端访问,可以使用通配符IP地址代替

保存并关闭配置文件。

5、重启

重新加载NFS服务器配置。使用以下命令重新加载配置文件:

bash 复制代码
sudo exportfs -r #启动或重新启动NFS服务器。
sudo systemctl start nfs-server     # Ubuntu 或 Debian

检查配置是否成功

bash 复制代码
sync  //同步环境
nfs-kernel-server restart  //重启nfs服务
showmount -e //显示当前可以被挂载的目录

显示如下 ,则配置成功

bash 复制代码
loongson@ubuntu:~$showmount -e
Export list for ubuntu:
/home/loongson/Documents/nfs/rootfs *

6 、 确保允许 NFS 服务的相关端口:

bash 复制代码
sudo ufw allow from 192.168.1.0/24 to any port nfs

现在,NFS服务器已经重新配置并准备好供客户端访问。确保在客户端上安装了NFS客户端软件包,并使用适当的方式将NFS共享目录挂载到客户端上。

7 、客户端挂载 NFS 共享

在客户端机器上,安装 NFS 客户端:

bash 复制代码
sudo apt install nfs-common

然后,创建一个挂载点并挂载 NFS 共享。例如挂载到 /mnt/nfs_share 目录:

bash 复制代码
sudo mkdir -p /mnt/nfs_share
sudo mount 192.168.1.100:/home/loongson/Documents/nfs/rootfs (其中 192.168.1.100 是 NFS 服务器的 IP 地址)

8 、自动挂载(可选)

如果希望在系统启动时自动挂载 NFS 共享,可以将其添加到 /etc/fstab 文件中:

bash 复制代码
sudo nano /etc/fstab

在文件末尾添加一行:

bash 复制代码
192.168.1.100:/home/loongson/Documents/nfs/rootfs /mnt/nfs_share nfs defaults 0 0

9 、验证共享

在客户端上,可以通过 df -h 命令验证 NFS 共享是否成功挂载:

相关推荐
dapeng-大鹏3 分钟前
KVM+LVM 零停机在线扩容 Ubuntu 根分区:从磁盘添加到逻辑卷扩展完整
linux·运维·ubuntu·磁盘空间扩展
乐维_lwops8 分钟前
案例解读|运维监控助力某大型卷烟厂构建高效运维监控体系
运维·运维案例
JiaWen技术圈20 分钟前
网站用户注册行为验证码方案
运维·安全
仙柒41531 分钟前
Docker存储原理
运维·docker·容器
DolphinDB32 分钟前
漫长人工,耗费存储?用 BackupRestore 模块一站式解决跨环境数据同步难题
运维·后端·架构
闫记康33 分钟前
Linux学习day5
linux·chrome·学习
不正经的小寒37 分钟前
PHP 8.2 核心特性
php
不正经的小寒38 分钟前
PHP 8.1 核心特性
php
TechPioneer_lp42 分钟前
30 岁硕士 Linux C 开发背景,未来想去澳洲就业,研究方向该选 AI、SDN 漏洞还是 Linux 内核?
linux·人工智能·职业规划·澳洲求职
_kerneler2 小时前
[qemu+kvm]: trap 寄存器脱敏优化方法
linux