文章目录
操作步骤
服务端
1.安装nfs服务
yum install nfs-utils
2.创建目录
mkdir /home/nfsdata
chmod 777 /home/nfsdata
3.编辑/etc/exports配置文件
进入编辑界面
vim /etc/exports
第一行输入:
/home/nfsdata *(rw,insecure,sync)
具体格式:[共享目录] [客户端1 选项(访问权限,用户映射,其他)]
3.1 nfs参数说明
参数 | 说明 |
---|---|
ro | 共享目录只读 |
rw | 共享目录可读可写 |
all_squash | 所有访问用户都映射为匿名用户或用户组;(可选) |
no_all_squash(默认) | 访问用户先与本机用户匹配,匹配失败后再映射为匿名用户或用户组; |
root_squash(默认) | 将来访的root用户映射为匿名用户或用户组;(可选) |
no_root_squash | 来访的root用户保持root帐号权限;(安全隐患) |
anonuid= | 指定匿名访问用户的本地用户UID,默认为nfsnobody(65534) |
anongid= | 指定匿名访问用户的本地用户组GID,默认为nfsnobody(65534) |
secure | 限制客户端只能从小于1024的tcp/ip端口连接服务器; |
insecure | 允许客户端从大于1024的tcp/ip端口连接服务器; |
sync | 将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性; |
async | 将数据先保存在内存缓冲区中,必要时才写入磁盘; |
mount_nfs: can’t mount /xxx/xxx from XXX.XXX.XXX.XXX onto /xxx/xxx: Permission denied
出现此问题是因为配置中对应挂载目录没有设置insecure选项,默认为secure,限制客户端只能从小于1024的tcp/ip端口连接服务器。
4.启动portmap和nfs服务
service rpcbind start
service nfs-server start
5.服务器本机测试
rpcinfo -p
注意:使用到的端口需要防火墙放开端口访问权限,可在阿里云控制台设置放行入出端口。
5.1查看共享目录和参数设置
cat /var/lib/nfs/etab
5.2使用showmount命令查看共享目录发布及使用情况
showmount -e localhost
客户端
直接使用 showmount -e 云服务器公网ip
会报错
showmount: Cannot retrieve info from host: xx.xx.xxx.xxx: RPC failed:: RPC: Program unavailable
但可以直接挂载,目前还未发现原因
1.创建挂载文件夹
mkdir /mynfs
chmod 777 /mynfs
2.临时挂载
mount 云服务器公网IP:/home/nfsdata ./mynfs
详细步骤详见↓