NFS Server
NFS 服务端搭建 ,如需挂载 挂载网络文件系统(NFS)
将主机目录通过NFS服务共享
1. 安装 NFS 服务
首先,确保已经安装了 NFS 相关的软件包。如果你使用的是 Ubuntu 或 Debian 系统,可以使用以下命令安装:
对于 Red Hat 系列的 Linux(如 CentOS 或 Fedora),使用以下命令:
2. 创建导出目录
如果你已经准备好了目录,请忽略
所谓导出目录,相当于要共享的目录
你需要指定哪些目录可以通过 NFS 共享,首先创建一个共享目录。例如:
3. 配置 /etc/exports
如果 /etc/exports
文件不存在,可以手动创建它。在文件中指定你想共享的目录和访问权限。例如,在 /etc/exports
文件中添加以下内容:
# 参考如下配置写上自己本地路径
# 如果你只需要只读共享,可以直接使用下面的模板
# 一般不需要考虑权限问题,但要求文件夹开放给其他用户可读
/home/user/test1/common *(insecure,ro,sync,no_root_squash,no_subtree_check) # 其中ro 表示只读 如要读写 改为 rw
# 如果你需要完全的读写权限,同时多台机器上的UID 没有对齐,nfs 允许将匿名用户映射为特定的UID(这个UID 即可为文件所有者的UID)
# 这种映射 机制 使用 anonuid,anongid 两个参数控制,你可以通过 id 查看所有者的id ,
# 但是简单的做法,就是映射为0,这样就等价为主机的root用户拥有文件的全部权限(这也有潜在)
/home/user/test1/common *(insecure,rw,sync,all_squash,no_subtree_check,anonuid=0,anongid=0)
/mnt/nvme3 192.168.3.0/24(insecure,rw,async,no_subtree_check,all_squash,anonuid=1102,anongid=1010)
4. 启动并启用 NFS 服务
编辑完 /etc/exports
文件后,重新加载 NFS 配置并启动服务:
1. 安装依赖
2. 配置 /etc/exports
查看主用户,或常用用户的id 和 组 id
使用id 命令, 一般来说二者均是1000
把要分享的目录写入到 /etc/exports
参考如下:
# /etc/exports: the access control list for filesystems which may be exported
# to NFS clients. See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
# Example for NFSv4:
# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
# /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check)
<要分享的目录> 192.168.3.0/24(insecure,rw,async,no_subtree_check,all_squash,anonuid=<填入uid>,anongid=<填入gid>)
# 如:/mnt/ssd1 即要分享的目录, 一定要确保目录存在,并且开机能够自动挂载到对应位置
# /mnt/ssd1 192.168.3.0/24(insecure,rw,async,no_subtree_check,all_squash,anonuid=1112,anongid=1010)
如果需要共享多个目录可以使用 mount --bind ,将多个文件夹在挂载到同一个父目录中,并且要写入到 /etc/fstab 中,再写到 /etc/exports 中