NFS - Go语言中文社区

NFS


参考

1. 安装

# master
yum install nfs-utils rpcbind -y

# client
yum install nfs-utils -y

2. 配置

# 提前创建目录
mkdir -p /data/test

# 允许 "100.64.192.0/18" 网段的主机读写,"*" 表示允许任何主机
cat << EOF > /etc/exports
/data/test 100.64.192.0/18(rw,sync)
EOF

# 使配置生效
# exportfs -arv
exportfs -rv

3. 启动

# 开机启动
systemctl enable rpcbind
systemctl enable nfs-server

# 启动
systemctl restart rpcbind
systemctl restart nfs-server

# 验证
rpcinfo -p
exportfs

# 查看挂载目录权限
cat /var/lib/nfs/etab

4. 固定端口(optional)

# 去掉以下内容的注释,如无则添加;
# 如果已启动nfs-server服务,则重启NFS服务不能解决问题,需要重启服务器,才能将端口固定
vim /etc/sysconfig/nfs
MOUNTD_PORT=892
STATD_PORT=662
STATD_OUTGOING_PORT

vim /etc/modprobe.d/lockd.conf
options lockd nlm_tcpport=32803
options lockd nlm_udpport=32769

# iptables 放行相关端口
vim /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 111 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 662 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 892 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 2049 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 32803 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 111 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 662 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 892 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 32769 -j ACCEPT

5. 客户端

yum install nfs-utils -y

# NFS客户端的操作:
# 1.showmout命令对于NFS的操作和查错有很大的帮助
showmout -a    # 这个参数是一般在NFS SERVER上使用,是用来显示已经mount上本机nfs目录的cline机器
showmout -e    # 显示指定的NFS SERVER上export出来的目录
# 2.mount nfs目录的方法:
mount -t nfs 100.64.198.159:/data/test /mnt/test

# 挂载信息写入 "/etc/fstab" 文件
cat << EOF >> /etc/fstab
100.64.198.159:/data/test /mnt/test nfs defaults 1 2
EOF

6. 补充:关于权限的说明

  • 1)、客户端连接时,对普通用户的检查
    • a. 如果明确设定了普通用户被压缩的身份,那么此时客户端用户的身份转换为指定用户;
    • b. 如果NFS server上面有同名用户,那么此时客户端登录账户的身份转换为NFS server上面的同名用户;
    • c. 如果没有明确指定,也没有同名用户,那么此时 用户身份被压缩成nfsnobody;
  • 2)、客户端连接时,对root帐号的检查
    • a. 如果设置no_root_squash,那么此时root用户的身份被压缩为NFS server上面的root;
    • b. 如果设置了all_squash、anonuid、anongid,此时root 身份被压缩为指定用户;
    • c. 如果没有明确指定,此时root用户被压缩为nfsnobody;
    • d. 如果同时指定no_root_squash与all_squash, 用户将被压缩为 nfsnobody,如果设置了anonuid、anongid将被压缩到所指定的用户与组。
版权声明:本文来源博客园,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://www.cnblogs.com/netonline/p/11390685.html
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2019-11-09 10:30:31
  • 阅读 ( 1691 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

推荐文章

猜你喜欢