一、NFS 简介
端口号:TCP、UDP 111 端口
NFS(Network File System)网络文件系统,是一种基于 TCp/IP 传输的网络文件系统协议,最初由 SUM 公司开发。通过使用 NFS 协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。
NFS 没有用户认证机制,而且数据在网络上明文传输,所以安全性很差,一般智能在局域网中使用,NFS 服务的实现依赖于 RPC(Remote Process Call)远程过程调用机制,以完成远程到本地的映射过程。
在CentOS 7系统中,需要安装nfs-utils,rpcbind软件包来提供NFS共享服务,前者用于NFS共享发布和访问,后者用于RPC支持。
二、使用 NFS 发布共享资源(服务端)
[root@server ~]# yum -y install nfs-utils rpcbind
[root@server ~]# systemctl start rpcbind.service
[root@server ~]# systemctl start nfs
[root@server ~]# systemctl enable rpcbind.service
[root@server ~]# systemctl enable nfs
[root@server ~]# netstat -utpln |grep rpcbind
udp 0 0 0.0.0.0:767 0.0.0.0:* 8648/rpcbind
udp6 0 0 :::767 :::* 8648/rpcbind
修改主配置文件 /etc/exports (此文件为空文件)
[root@server ~]# mkdir /www
[root@server ~]# echo "test" >/www/index.html
[root@server ~]# vim /etc/exports
/www 192.168.100.101(rw,sync,no_root_squash) 192.168.100.*(ro)
RW:读写
RO:只读
同步:同步写入
no_root_squash:当客户机以root身份访问时赋予本地root的权限(默认是root_squash,将作为nfsnobody用户降权对待)
允许使用通配符:?*
[root@server ~]# systemctl restart nfs
[root@server ~]# showmount -e 192.168.100.100
Export list for 192.168.100.100:
/www 192.168.100.*
三、在客户机中访问 NFS 共享资源
[root@client ~]# yum -y install rpcbind httpd nfs-utils
[root@client ~]# systemctl restart httpd.service
[root@client ~]# systemctl enable httpd
[root@client ~]# mount 192.168.100.100:/www /var/www/html/
[root@client ~]# df -hT |grep /www
192.168.100.100:/www nfs4 17G 1.6G 16G 10% /var/www/html
修改 192.168.100.100 机器上的 /www/index.html 文件,刷新浏览器查看是否同步
[root@server ~]# vim /www/index.html
test
test
test
test
修改 /etc/fstab 表,实现开机自动挂载
[root@client ~]# cp -p /etc/fstab /etc/fstab.bak
[root@client ~]# vim /etc/fstab
#
# /etc/fstab
# Created by anaconda on Sun Jan 27 20:23:21 2019
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos_bogon-root / xfs defaults 0 0
UUID=3c6645f3-ccb3-4aba-bf8c-cd60345c86f6 /boot xfs defaults 0 0
/dev/mapper/centos_bogon-swap swap swap defaults 0 0
192.168.100.100:/www /var/www/html nfs defaults,_netdev 0 0
[root@client ~]# umount -a
umount: /:目标忙。
(有些情况下通过 lsof(8) 或 fuser(1) 可以
找到有关使用该设备的进程的有用信息)
umount: /sys/fs/cgroup/systemd:目标忙。
(有些情况下通过 lsof(8) 或 fuser(1) 可以
找到有关使用该设备的进程的有用信息)
umount: /sys/fs/cgroup:目标忙。
(有些情况下通过 lsof(8) 或 fuser(1) 可以
找到有关使用该设备的进程的有用信息)
umount: /run:目标忙。
(有些情况下通过 lsof(8) 或 fuser(1) 可以
找到有关使用该设备的进程的有用信息)
umount: /dev:目标忙。
(有些情况下通过 lsof(8) 或 fuser(1) 可以
找到有关使用该设备的进程的有用信息)
[root@client ~]# mount -a
[root@client ~]# tail -1 /etc/mtab
192.168.100.100:/www /var/www/html nfs4 rw,relatime,vers=4.1,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.100.102,local_lock=none,addr=192.168.100.100 0 0