Linux安装NFS
作者QQ:67065435 QQ群:669756510
本站内容全部为作者原创,转载请注明出处!
功能实现
假设局域网有多台Linux系统的服务器IP段为192.168.1.1/24 Linux安装rpcbind + nfs,实现不同服务器之间共享同一目录
服务端
假设服务端IP地址为
192.168.1.2安装rpcbind + nfs
yum -y --nogpgcheck install nfs-utils rpcbind创建共享目录
mkdir /www useradd www chown -R www:www /www修改配置
# nfs服务端口配置 vi /etc/modprobe.d/lockd.conf options lockd nlm_tcpport=32803 options lockd nlm_udpport=32769 ESC :wq # nfs服务端口配置 vi /etc/sysconfig/nfs LOCKD_TCPPORT=32803 LOCKD_UDPPORT=32769 MOUNTD_PORT=892 STATD_PORT=662 STATD_OUTGOING_PORT=2020 ESC :wq vi /etc/exports /www *(rw,sync,no_subtree_check,no_all_squash) /www IP地址(rw,sync,no_subtree_check,no_all_squash) ESC :wq启动rpcbind + nfs
systemctl restart rpcbind systemctl restart nfs systemctl enable rpcbind systemctl enable nfs systemctl status rpcbind systemctl status nfs如果服务端安装了防火墙则要开启相应的端口
# 查看服务占用端口 rpcinfo -p|grep -oE '(tcp|udp)(\s+)[0-9]+'|sort -nk 2|uniq # 打开防火墙相关端口 systemctl unmask firewalld systemctl enable firewalld systemctl start firewalld firewall-cmd --permanent --zone=public --add-port=111/tcp firewall-cmd --permanent --zone=public --add-port=2049/tcp firewall-cmd --permanent --zone=public --add-port=662/tcp firewall-cmd --permanent --zone=public --add-port=892/tcp firewall-cmd --permanent --zone=public --add-port=2020/tcp firewall-cmd --permanent --zone=public --add-port=32769/udp firewall-cmd --permanent --zone=public --add-port=32803/tcp firewall-cmd --reload重载配置
exportfs -arv
客户端(Linux)
创建共享目录
mkdir /www useradd www chown -R www:www /www挂载共享目录
mount -t nfs 192.168.1.2:/www /www开机自动挂载
vi /etc/fstab 192.168.1.2:/www /www nfs defaults 0 0 ESC :wq卸载共享目录(仅供了解不执行此步骤)
yum -y --nogpgcheck install psmisc fuser -km /www umount /www
附录
/etc/exports配置说明
# 配置格式: 共享目录 客户端地址(客户端权限) # 共享目录:/www 服务端要共享出去的目录,从根路径开始写 # 客户端地址:*、IP地址 指定服务端的共享目录分享给的客户端的IP地址 # 客户端权限:(rw,sync,no_subtree_check,no_all_squash) rw: 可读写 ro: 仅可读 sync: 文件暂存到内存立即写入硬盘 async: 文件暂存到内存稍后写入硬盘 subtree_check: 共享子目录时,nfs检查父目录权限 no_subtree_check: 共享子目录时,nfs不检查父目录权限 root_squash: 客户端root用户(组)映射为匿名用户(组) no_root_squash: 客户端root用户(组)映射为真实用户(组) all_squash: 客户端所有用户(组)映射为匿名用户(组) no_all_squash: 客户端所有用户(组)映射为真实用户(组),映射失败取匿名用户(组) secure: 客户端只能从<1024端口访问服务器 insecure: 客户端可以从>1024端口访问服务器 wdelay: 如果多个用户要写入nfs目录则归组写入 no_wdelay: 如果多个用户要写入nfs目录则立即写入(async下无效)