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 共享是否成功挂载:

相关推荐
资深电气设计4 分钟前
ABB AFC/AF/AX系列接触器在数据中心液冷机组中的负载适配技术
运维·物联网·创业创新·业界资讯
.冰块.12 分钟前
MySQL下篇 运维实战:备份恢复 + 主从复制 + MHA 高可用,含完整拓扑
运维·mysql·读写分离·高可用·主从复制·mha
ZHOUPUYU20 分钟前
PHP 高级技术实战:从原理到高并发架构落地
android·性能优化·php
Jason_zhao_MR23 分钟前
新一代电能数据采集终端方案
linux·人工智能·嵌入式硬件·fpga开发·嵌入式
qetfw36 分钟前
Debian SSH 安全配置:端口、来源限制与免密登录
linux·安全·debian·ssh
智商网输送线配件39 分钟前
非标自动化零部件采购避坑指南:从零散补货到一站式协同的实战路径
运维·自动化
东鹏特饮41 分钟前
15个实用Linux运维脚本
linux·运维·shell·脚本·redhat·常用生产脚本
承渊政道41 分钟前
自建服务越来越多怎么管理?Docker部署Flare,搭一个自己的数字入口
运维·docker·容器·内网穿透·cpolar·nas·flare
海宇数据1 小时前
零信任架构实战:基于海宇车辆vin码查车辆信息详版构建自动化车险承保定级网关
人工智能·架构·自动化·php
螺蛳粉 螺蛳粉1 小时前
第五篇:Keepalived + LVS 四层负载均衡高可用实战:DR 模式全流程
运维·负载均衡·lvs·keepalived·高可用