实现同一局域网内两台Ubuntu服务器共享硬盘。

现在组内在图书馆托管了两台服务器,一台R720,一台R740,因为用的SSD硬盘,初始时硬盘容量都很小。今天在R740里加装了两块4T的硬盘,但我想让R720也可以同时使用,于是就有了这篇记录。

  • 服务端:R740 192.168.100.17
  • 客户端:R720 192.168.100.18
  • 环境:Ubuntu

安装软件

服务端和客户端都需要提前安装NFS共享软件。

1
2
sudo apt install nfs-kernel-server 
sudo apt install nfs-common     # 客户端只用这一个就够了

服务端配置

定义共享目录和专属客户端

1
2
3
4
5
# 用管理员权限将 " 共享目录 客户端IP (权限) " 写入文件 /etc/exports
sudo echo /storage 192.168.100.18(rw,sync,no_root_squash) >> /etc/exports
# sudo echo /storage 192.168.100.1/24   (rw,sync,no_root_squash)   >> /etc/exports
# sudo echo /storage 192.168.100.*      (rw,sync,no_root_squash)   >> /etc/exports
# sudo echo /storage *                  (rw,sync,no_root_squash)   >> /etc/exports

客户端IP可以用通配符 " * " 代表不限制客户端来源。

权限选项:

  • rw: 表示允许读写(ro为只读)
  • sync: 表示同步写
  • no_root_squash: 表示当前客户端以root身份访问时,赋予本地root权限(默认是root_squash,将作为nfsnobody用户降权对待)

重启NFS服务

1
2
sudo systemctl restart nfs-kernel-server
showmount  -e 192.168.100.17

客户端配置

1
2
sudo echo 192.168.100.18:/storage /mnt nfs rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 0 0 >> /etc/fstab
sudo mount -a       # 使配置生效

OK, 现在就可以在客户端的/mnt中看到共享硬盘里的资料了。