1、查看系统是否已安装NFS
[[email protected] ~]# rpm -qa | grep nfs
[[email protected] ~]# rpm -qa | grep rpcbind
2、安装NFS
[[email protected] ~]# yum -y install nfs-utils rpcbind
一、服务端配置
在NFS服务端上创建共享目录/data/lys并设置权限
[[email protected] ~]# mkdir -p /data/lys
[[email protected] ~]# chmod 666 /data/lys/
编辑export文件
[[email protected] ~]# vim /etc/exports /data/lys 192.168.2.0/24(rw,no_root_squash,no_all_squash,sync)
##############################################################
参数说明
rw ro
该目录分享的权限是可擦写 (read-write) 或只读 (read-only),但最终能不能读写,还是与文件系统的 rwx 及身份有关。
sync async
sync 代表数据会同步写入到内存与硬盘中,async 则代表数据会先暂存于内存当中,而非直接写入硬盘
no_root_squash root_squash
户端使用 NFS 文件系统的账号若为 root 时,系统该如何判断这个账号的身份?预设的情况下,客户端 root 的身份会由 root_squash 的设定压缩成 nfsnobody, 如此对服务器的系统会较有保障
但如果你想要开放客户端使用 root 身份来操作服务器的文件系统,那么这里就得要开 no_root_squash 才行
all_squash
不论登入 NFS 的使用者身份为何, 他的身份都会被压缩成为匿名用户,通常也就是 nobody(nfsnobody)
anonuid anongid
anon 意指 anonymous (匿名者) 前面关于 *_squash 提到的匿名用户的 UID 设定值,通常为 nobody(nfsnobody),但是你可以自行设定这个 UID 的值!当然,这个 UID 必需要存在于你的 /etc/passwd 当中
anonuid 指的是 UID 而 anongid 则是群组的 GID
配置生效
[[email protected] lys]# exportfs -r
启动rpcbind、nfs服务
[[email protected] lys]# service rpcbind start
[[email protected] lys]# service nfs start
查看 RPC 服务的注册状况
[[email protected] lys]# rpcinfo -p localhost
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100005 1 udp 49979 mountd
100005 1 tcp 58393 mountd
100005 2 udp 45516 mountd
100005 2 tcp 37792 mountd
100005 3 udp 32997 mountd
100005 3 tcp 39937 mountd
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 2 tcp 2049 nfs_acl
100227 3 tcp 2049 nfs_acl
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100227 2 udp 2049 nfs_acl
100227 3 udp 2049 nfs_acl
100021 1 udp 51112 nlockmgr
100021 3 udp 51112 nlockmgr
100021 4 udp 51112 nlockmgr
100021 1 tcp 43271 nlockmgr
100021 3 tcp 43271 nlockmgr
100021 4 tcp 43271 nlockmgr
选项与参数:
-p :针对某 IP (未写则预设为本机) 显示出所有的 port 与 porgram 的信息;
-t :针对某主机的某支程序检查其 TCP 封包所在的软件版本;
-u :针对某主机的某支程序检查其 UDP 封包所在的软件版本;
在你的 NFS 服务器设定妥当之后,在 server 端先自我测试一下是否可以联机
[[email protected] lys]# showmount -e localhost
Export list for localhost:
/data/lys 192.168.2.0/24
选项与参数:
-a :显示目前主机与客户端的 NFS 联机分享的状态;
-e :显示某部主机的 /etc/exports 所分享的目录数据。
=========================================================================
为了方便配置防火墙,需要固定nfs服务端口
NFS启动时会随机启动多个端口并向RPC注册,这样如果使用iptables对NFS端口进行限制就会有点麻烦,可以更改配置文件固定NFS服务相关端口。
1、查看端口开启情况
[[email protected] lys]# rpcinfo -p localhost
2、分配端口,编辑配置文件
[[email protected] lys]# vim /etc/sysconfig/nfs
3、添加:
RQUOTAD_PORT=30001
LOCKD_TCPPORT=30002
LOCKD_UDPPORT=30002
MOUNTD_PORT=30003
STATD_PORT=30004
4、重启
[[email protected] lys]# service nfs restart
=========================================================================
二、客户端配置
安装nfs-utils客户端
[[email protected] ~]# yum -y install nfs-utils
创建挂载目录
[[email protected] ~]# mkdir /lys
查看服务器抛出的共享目录信息
[[email protected] ~]# showmount -e 192.168.2.203
Export list for 192.168.2.203:
/data/lys 192.168.2.0/24
为了提高NFS的稳定性,使用TCP协议挂载,NFS默认用UDP协议
[[email protected] ~]# mount -t nfs 192.168.2.203:/data/lys /lys -o proto=tcp -o nolock
三、测试结果
查看挂载结果
[[email protected] ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
18G 1.1G 16G 7% /
tmpfs 112M 0 112M 0% /dev/shm
/dev/sda1 477M 54M 398M 12% /boot
192.168.2.203:/data/lys
18G 1.1G 16G 7% /lys
服务端
[[email protected] lys]# echo "test" > test.txt
客户端
[[email protected] ~]# cat /lys/test.txt
test
[[email protected] ~]# echo "204" >> /lys/test.txt
服务端
[[email protected] lys]# cat /data/lys/test.txt
test
204
四、卸载已挂在的NFS
[[email protected] ~]# umount /lys/
[[email protected] ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
18G 1.1G 16G 7% /
tmpfs 112M 0 112M 0% /dev/shm
/dev/sda1 477M 54M 398M 12% /boot
转自--------------------https://www.cnblogs.com/liuyisai/p/5992511.html
原文地址:https://www.cnblogs.com/tudachui/p/9555092.html