0、环境假设
0.1 问题描述:
有两台Linux系统的主机,想将一台主机上的磁盘或者某个目录共享给另一台主机,说白了就是:多台Linux主机使用同一个磁盘或目录。
0.2 解决方案:
使用nfs(network file system)网络文件系统工具,它是通过网络使不同机器或者操作系统之间分享部分文件,用于宿主机和目标机之间的文件分享。
0.3 场景:
- 服务端( 硬盘本地宿主主机所有的文件的真实存储位置 ):
IP :172.16.168.1(假设)
共享目录:/home/zhouziqun/codeshare1 - 客户端( 将远程挂载磁盘主机 ):
IP:172.31.131.151(假设)
挂载路径:/home/zhouziqun/codeshare2
(建议在两台机子的挂在路径完全一样这样子在很多访问路径的时候不会出问题,这里为了做区分命名和设置所以设置成不一样的两个路径名称)
1、安装nfs
(两台主机都需要安装)
sudo apt-get install -y nfs-kernel-server
2、配置
2.1 服务端
先建立挂载是输出的目录
mkdir /home/zhouziqun/codeshare1
# 为了之后可以在多台机子上操作可以设置一下权限
chmod 777 -R ./codeshare1/
在/etc/exports文件添加可以共享的文件夹和允许的客户端地址
sudo vim /etc/exports
添加如下语句
/home/zhouziqun/codeshare1 172.31.131.151(rw,no_root_squash,async)
重启nfs服务
sudo systemctl restart nfs-server.service
2.2 客户端
先创建挂载的目录
sudo mkdir /home/zhouziqun/codeshare2
挂载远程磁盘
sudo mount -t nfs 172.16.168.1:/home/zhouziqun/codeshare1 /home/zhouziqun/codeshare2
问题记录和解决1
解决客户端挂载mount网络文件系统nfs共享资源路径报"mount.nfs: Connection timed out"问题 - 小木人印象
问题记录和解决2
NFS does not work. mount: wrong fs type, bad option, bad superblock
这个问题一般是在挂载机(也就是客户端的机子)上出现,而不是在被挂载机
需要安装一个包
sudo apt-get install nfs-common
之前按照上面的那个装的里面是包含这个包的