演示系统:Ubuntu20.04

一、搭建NFS服务端

1.安装NFS server软件
apt-get install nfs-kernel-server
2.创建共享目录并将目录的权限改为777
mkdir -p share
chmod 777 share

(创建目录也可以跳过,直接使用当前存在的目录)

3.配制文件vi /etc/exports
vi /etc/exports

添加

/share *(insecure,rw,sync,no_root_squash)

其中/share为共享目录, rw为可读写操作
共享目录 可以访问的主机(权限) 代表所有用户(权限)
这个配置文件很简单,每一行前面是要共享的目录,是以目录为单位。然后这个目录可以依照不同的权限共享给不同的主机,不同的主机用空格分开,主机后面是以小括号"()“定义权限参数,若权限参数不只一个时,则以逗号”,“分开,并且主机名与小括号是连在一起的,主机与共享目录之间用空格分开,在这个文件内也可以利用#号来进行注释。
可以使用完整的IP或者网络号,例如:
单个主机:192.168.1.100 网络号:192.169.1.0/24或192.168.1.0/255.255.255.0
可以使用主机名,但这个主机名必须要在/etc/hosts内,或可以使用DNS找到该名称,重点是可以找到IP地址,如果是主机名可以支持通配符,例如”*“或”?"均可接受。
小括号内常用的权限参数如下:

ro:共享目录只读;
rw:共享目录可读可写
sync:同步,将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性
async:异步,将数据先保存在内存缓冲区中,必要时才写入磁盘,效率高,但有丢失数据的风险;
wdelay(默认):如果有多个客户端要对同一个共享目录进行写操作,则将这些操作集中执行。对有很多小的IO写操作时,使用该选项可以有效的提高效率;
no_wdelay:如果有多个客户端要对同一个共享目录进行写操作则立即写入。当设置了async选项时,no_wdelay选项无效,应与sync配合使用;
root_squash(默认):将来访的root用户映射为匿名用户或用户组;
no_root_squash:来访的root用户保持root帐号权限;
all_squash:所有访问用户都映射为匿名用户或用户组;
no_all_squash(默认):访问用户先与本机用户匹配,匹配失败后再映射为匿名用户或用户组;
anonuid=:指定匿名访问用户的本地用户UID,默认为nfsnobody(65534);
anongid=:指定匿名访问用户的本地用户组GID,默认为nfsnobody(65534);
secure(默认):限制客户端只能从小于1024的tcp/ip端口连接服务器;
insecure:允许客户端从大于1024的tcp/ip端口连接服务器;
subtree_check :若输出目录是一个子目录,则nfs服务器将检查其父目录的权限;
no_subtree_check(默认) :即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;
hide:共享一个目录时,不共享该目录的子目录;
no_hide:共享子目录;

如果想了解更多的参数,可以使用man exports

4.开启2049端口访问权限
5.开启NFS server服务
systemctl start nfs-kernel-server

------**------

Ubuntu nfs重启服务**

sudo systemctl restart nfs-kernel-server

二、搭建NFS客户端

1.安装nfs-common (在另一台机器执行以下命令)
apt-get install nfs-common
2.远程mount
sudo mount x.x.x.x:share /home/share
把远程目录mount到本地/home/share下
最后修改:2022 年 12 月 19 日
如果觉得我的文章对你有用,请随意赞赏