2024-09-01
Linux运维
00

参考https://blog.csdn.net/solaraceboy/article/details/78743563

以下机器都是centOS 7

1 需要Linux安装nfs-utils。所有机器都需要装。

bash
yum -y install nfs-utils

2 启动服务端的nfs和rpcbind服务,并将其设置为开机启动(作为服务器,应保证服务在每次重启之后都能迅速提供服务)。

bash
systemctl start nfs systemctl enable nfs systemctl status nfs systemctl start rpcbind systemctl enable rpcbind systemctl status rpcbind

或者

bash
systemctl enable nfs --now systemctl enable rpcbind --now

或者更简单一点:

systemctl enable nfs-server --now
bash
(base) [root@localhost ~]# systemctl start nfs (base) [root@localhost ~]# systemctl enable nfs Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service. (base) [root@localhost ~]# systemctl status nfs ● nfs-server.service - NFS server and services Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; enabled; vendor preset: disabled) Active: active (exited) since 四 2021-12-02 21:26:17 CST; 24s ago Main PID: 2792 (code=exited, status=0/SUCCESS) CGroup: /system.slice/nfs-server.service 12月 02 21:26:17 localhost.localdomain systemd[1]: Starting NFS server and services... 12月 02 21:26:17 localhost.localdomain systemd[1]: Started NFS server and services. (base) [root@localhost ~]# systemctl start rpcbind (base) [root@localhost ~]# systemctl enable rpcbind (base) [root@localhost ~]# systemctl status rpcbind ● rpcbind.service - RPC bind service Loaded: loaded (/usr/lib/systemd/system/rpcbind.service; enabled; vendor preset: enabled) Active: active (running) since 四 2021-12-02 21:26:17 CST; 46s ago Main PID: 2788 (rpcbind) CGroup: /system.slice/rpcbind.service └─2788 /sbin/rpcbind -w 12月 02 21:26:17 localhost.localdomain systemd[1]: Starting RPC bind service... 12月 02 21:26:17 localhost.localdomain systemd[1]: Started RPC bind service.

3、在服务端创建共享目录。

bash
mkdir /nfskevin

4、修改服务端配置文件

修改服务端配置文件 vim /etc/exports,增加如下一行:

(1) * 任意主机可以使用NFS服务

(2) rw 该主机对该共享目录有读写权限

(3) async 资料会先暂存于内存中,而非直接写入硬盘

(4) no_root_squash 登入 NFS 主机使用分享目录的使用者,如果是 root 的话,那么对于这个分享的目录来说,他就具有 root 的权限,单词squash是压缩压扁的意思。

(5) Root_squash 在登入 NFS 主机使用分享之目录的使用者如果是 root 时,那么这个使用者的权限将被压缩成为匿名使用者,通常他的 UID 与 GID 都会变成 nobody 那个系统账号的身份。

声明三个事情:分享什么文件、给哪个IP分享、权限是什么。ro是read only,rw是read write。

bash
/nfskevin 10.10.14.38/24(ro)

要开读写权限注意文件的权限需要改,而不是像下图只有读:

在这里插入图片描述

5、重启服务端nfs服务

bash
systemctl restart nfs-server

或者

bash
exportfs -r

6、配置服务端防火墙

bash
firewall-cmd --add-service=nfs --permanent firewall-cmd --reload

7、启动客户端nfs服务(客户端可以不启动rpcbind服务),挂载服务端nfs目录。

bash
systemctl enable nfs --now systemctl enable rpcbind --now mkdir /mntkevin mount -t nfs 10.10.14.36:/nfskevin /mntkevin

8、测试。

在客户端查看一下挂载情况。

在这里插入图片描述

9、客户端的挂载,让开机就可用,开机就挂载起来。

bash
vim /etc/fstab

写:

bash
10.10.14.36:/nfskevin /mntkevin nfs defaults 0 0

在这里插入图片描述

bash
mount -a # 将/etc/fstab的所有内容重新加载 mount -a 会忽略所有已经完成的操作,也就是开机时 fstab 已经挂载后,而且你没有修改 fstab 。你再运行 mount -a ,他会自动忽略全部 fstab 内容。
如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:Dong

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!