一.安装服务端
服务端:192.168.2.121
客户端:192.168.2.116
前提:关闭selinux和firewalld
sed -i s#SELINUX=enforcing#SELINUX=disabled#g /etc/selinux/config
systemctl stop firewalld.service
1.1 安装
yum install nfs-utils rpcbind -y
1.2 配置
systemctl start rpcbind
systemctl status rpcbind
systemctl start nfs
systemctl status nfs
yum install net-tools lsof
lsof -i :111
netstat -lntup|grep rpcbind
rpcinfo -p localhost
ps -ef|egrep "rpc|nfs"
tips:
nfsd(rpc.nfsd)主进程,主要是管理客户端能否登入服务端,登入者ID判别。
mountd(rpc.mountd)管理NFS文件系统,登入者的权限管理
rpc.lockd(非必要)用来锁定文件,用于客户端同时写入
rpc.statd(非必要)检查文件一致性
rpc.idmapd 名字映射后台进程
mkdir -p /data/nfshome
chown nfsnobody:nfsnobody /data/nfshome
echo "/data/nfshome/ 192.168.2.1/24(rw,sync,root_squash)" >> /etc/exports
tips:
ro:目录只读
rw:目录读写
sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性
async:将数据先保存在内存缓冲区中,必要时才写入磁盘
all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody)
no_all_squash:与all_squash取反(默认设置)
root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置)
no_root_squash:与rootsquash取反
anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx)
anongid=xxx:将远程访问的所有用户组都映射为匿名用户组账户
exportfs -rv
tips:
exportfs:NFS服务端发布共享控制命令。
-r:表示重新刷新共享。
-a:表示将配置文件/etc/exports中的所有定义共享发布出去。
-v:显示确认共享设置。
-u:表示不发布共享。
# 查看挂载情况
showmount -e localhost
二.安装客户端
2.1 安装
yum install nfs-utils rpcbind
systemctl start rpcbind
systemctl enable rpcbind
showmount -e 192.168.2.121
2.2 挂载
mkdir -p /data/nfsclient
mount -t nfs -o noexec,nosuid,nodev,rw,rsize=65536,wsize=65536 192.168.2.121:/data/nfshome /data/nfsclient
df -h
三.测试
# 服务端
touch /data/nfshome/1.txt
# 客户端
ls /data/nfsclient
# 卸载挂载
umount /data/nfsclient
tips:
1.配置NFS服务端后,不用重启NFS服务,只要使用exportfs -rv
2.rpc主程序Centos5.8下为portmap 、Centos6.4和Centos7下为rpcbind
3.NFS共享目录不要授权于777权限,可以改所属主和组为nfsnobody,因为nfsnobody权限不是很大,也不能登陆
版权属于:sunjianhua
本文链接:https://sunjianhua.cn/archives/centos-nfs.html
转载时须注明出处及本声明,如果不小心侵犯了您的权益,请联系邮箱:NTA2MTkzNjQ1QHFxLmNvbQ==