参考https://blog.csdn.net/solaraceboy/article/details/78743563
以下机器都是centOS 7
1 需要Linux安装nfs-utils。所有机器都需要装。
bashyum -y install nfs-utils
2 启动服务端的nfs和rpcbind服务,并将其设置为开机启动(作为服务器,应保证服务在每次重启之后都能迅速提供服务)。
bashsystemctl start nfs
systemctl enable nfs
systemctl status nfs
systemctl start rpcbind
systemctl enable rpcbind
systemctl status rpcbind
或者
bashsystemctl 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、在服务端创建共享目录。
bashmkdir /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服务
bashsystemctl restart nfs-server
或者
bashexportfs -r
6、配置服务端防火墙
bashfirewall-cmd --add-service=nfs --permanent firewall-cmd --reload
7、启动客户端nfs服务(客户端可以不启动rpcbind服务),挂载服务端nfs目录。
bashsystemctl enable nfs --now
systemctl enable rpcbind --now
mkdir /mntkevin
mount -t nfs 10.10.14.36:/nfskevin /mntkevin
8、测试。
在客户端查看一下挂载情况。
9、客户端的挂载,让开机就可用,开机就挂载起来。
bashvim /etc/fstab
写:
bash10.10.14.36:/nfskevin /mntkevin nfs defaults 0 0
bashmount -a # 将/etc/fstab的所有内容重新加载 mount -a 会忽略所有已经完成的操作,也就是开机时 fstab 已经挂载后,而且你没有修改 fstab 。你再运行 mount -a ,他会自动忽略全部 fstab 内容。
本文作者:Dong
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC。本作品采用《知识共享署名-非商业性使用 4.0 国际许可协议》进行许可。您可以在非商业用途下自由转载和修改,但必须注明出处并提供原作者链接。 许可协议。转载请注明出处!