2021-06-10

NFS(Network File System,网络文件系统)是FreeBSD支持的文件系统中的一种,它允许网络中的计算机(不同的计算机、不同的操作系统)之间通过TCP/IP网络共享资源,主要在unix系列操作系统上使用。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中看来,那个远程主机的目录就好像是自己的一个磁盘分区一样。
由于NFS支持的功能比较多,而不同的功能都会使用不同的程序来启动,每启动一个功能就会启用一些端口来传输数据,因此NFS的功能所对应的端口并不固定,而是随机取用一些未被使用的小于1024的端口用于传输。但如此一来就会产生客户端连接服务器的问题,因为客户端需要知道服务器端的相关端口才能够连接。
此时就需要RPC(Remote Procedure Call,远程过程调用)的服务。由于当服务器在启动NFS时会随机选取数个端口号,并主动向RPC注册,所以RPC知道每个NFS功能所对应的端口号,RPC将端口号通知给客户端,让客户端可以连接到正确的端口上去。RPC采用固定端口号port 111来监听客户端的需求并向客户端响应正确的端口号。
注:在启动NFS之前,要先启动RPC,否则NFS会无法向RPC注册。另外,RPC若重新启动,原来注册的数据会消失不见,因此RPC重启后,它管理的所有服务都需要重新启动以重新向RPC注册。
服务端:
491 mount /dev/sr0 /mnt
497 systemctl restart nfs*
498 systemctl status nfs-server.service
499 mkdir /data
500 systemctl restart nfs-server.service
501 cnmod 777 /data
502 chmod 777 /data
503 exportfs
504 showmount -e 192.168.135.149
505 rpm -qa | grep nfs
506 ll /data
[root@localhost ~]# ll /data
total 0
-rw-r–r--. 1 nobody nobody 0 Jun 9 23:39 xiaobai
[root@localhost ~]# exportfs
/data 192.168.135.*
[root@localhost ~]# showmount -e 192.168.135.149
Export list for 192.168.135.149:
/data 192.168.135.*
[root@localhost ~]# ll /data
total 0
-rw-r–r--. 1 nobody nobody 0 Jun 9 23:39 xiaobai
结果:
[root@localhost data]# ll
total 0
-rw-r–r--. 1 nobody nobody 0 Jun 9 23:48 xiaobi

客户端:
[root@localhost ~]# mkdir /haha
[root@localhost ~]# mount 192.168.135.149:/data /haha
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 7.7G 0 7.7G 0% /dev
tmpfs 7.8G 0 7.8G 0% /dev/shm
tmpfs 7.8G 10M 7.8G 1% /run
tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
/dev/mapper/rhel-root 17G 5.1G 12G 30% /
/dev/nvme0n1p1 1014M 240M 775M 24% /boot
tmpfs 1.6G 1.2M 1.6G 1% /run/user/42
tmpfs 1.6G 6.8M 1.6G 1% /run/user/0
/dev/sr0 8.9G 8.9G 0 100% /mnt
192.168.135.149:/data 17G 4.7G 13G 28% /haha
[root@localhost ~]# touch /haha/xiaobai
[root@localhost ~]# ll /haha
total 0
-rw-r–r--. 1 nobody nobody 0 Jun 9 2021 xiaobai
结果:
[root@localhost ~]# touch /haha/xiaobi
[root@localhost ~]# ll /haha
total 0
-rw-r–r--. 1 nobody nobody 0 Jun 9 2021 xiaobi
[root@localhost ~]# ll /haha -d
drwxrwxrwx. 2 root root 20 Jun 9 2021 /haha
加上指定参数选项
1、all_squash 将所有普通用户和组映射为匿名用户和组
客户端:
[root@localhost ~]# ll /haha/xiaohong -d
-rw-r–r--. 1 nobody nobody 0 Jun 9 2021 /haha/xiaohon
[xiaobai@localhost haha]$ ll oo -d
-rw-rw-r–. 1 nobody nobody 0 Jun 9 2021 oo
服务端:
[root@localhost data]# ll
total 0
-rw-r–r--. 1 nobody nobody 0 Jun 9 23:48 xiaobi
-rw-r–r--. 1 nobody nobody 0 Jun 9 23:52 xiaohong
2、no_all_squash 对普通用户不映射(默认设置)
客户端
普通用户-----[xiaobai@localhost haha]$ touch pp
[xiaobai@localhost haha]$ ll
-rw-rw-r–. 1 xiaobai xiaobai 0 Jun 9 2021 pp
root用户-------[root@localhost ~]# touch /haha/pp1
[root@localhost ~]# ll /haha/pp1 -d
-rw-r–r--. 1 nobody nobody 0 Jun 10 2021 /haha/pp1
服务端
[root@localhost ~]# ll /data/pp1 -d
-rw-r–r--. 1 nobody nobody 0 Jun 10 00:01 /data/pp1
3、
anonuid=xxx 将用户映射为服务器上的指定UID
anongid=xxx 将用户组映射为服务器上的指定GID
客户端
[root@localhost ~]# touch /haha/gg
[root@localhost ~]# ll /haha/gg -d
-rw-r–r--. 1 xixi xixix 0 Jun 10 2021 /haha/gg
服务端
[root@localhost ~]# ll /data/gg -d
-rw-r–r--. 1 1008 1008 0 Jun 10 00:13 /data/gg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值