NFS基本概述
-
NFS是Network File System的缩写及网络文件系统。
NFS
主要功能是通过局域网络让不同的主机系统之间可以共享文件或目录。
为什么需要共享文件或者目录
-
1.实现多台服务器之间数据共享
-
2.实现多台服务器之间数据一致
NFS应用场景
-
1.A用户上传图片经过负载均衡,负载均衡将上传请求调度至WEB1服务器上。 2.B用户访问A用户上传的图片,此时B用户被负载均衡调度至WEB2上,因为WEB2上没有这张图片,所以B用户无法看到A用户传的图片。
NFS服务
服务端配置
1、安装服务
-
[root@nfs ~]# yum -y install nfs-utils
2、配置服务 #:修改nfs压缩用户,指定用户的uid和gid
-
[root@nfs ~]# vim /etc/exports [root@nfs ~]# cat /etc/exports /data 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
3、根据配置创建相应的文件
-
##创建属组 [root@nfs ~]# groupadd -g666 shuige ##创建压缩用户 [root@nfs ~]# useradd -u666 -g666 -s /sbin/nologin -M shuige ##创建共享目录 [root@nfs ~]# mkdir /data ##修改目录属主属组 [root@nfs ~]# chown shuige.shuige /data [root@nfs ~]# ll -d /data drwxr-xr-x. 2 shuige shuige 6 Jun 9 15:49 /data
-
##注意:默认NFS客户连接NFS时所有的用户被压缩为NFS的匿名用户 nfsnobody uid65534
4、开启服务、并开机自启
-
[root@nfs ~]# systemctl start nfs [root@nfs ~]# systemctl restart nfs
5、通过nfs特有的配置文件查看配置是否正确
-
检查 /var/lib/nfs/etab 如果有内容说明配置正确
如果为空则配置有问题
[root@nfs ~]# cat /var/lib/nfs/etab /data 172.16.1.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash, all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=666, anongid=666,sec=sys,rw,secure,root_squash,all_squash)
客户端
客户端172.16.1.7 web01
1.客户端需要安装nfs服务 #:不需要启动
-
[root@web01 ~]# yum -y install nfs-utils
2、通过showmount命令查看服务端共享的目录
-
[root@web01 ~]# showmount -e 172.16.1.31 Export list for 172.16.1.31: /data 172.16.1.0/24
3、挂载172.16.1.31的/data目录到本地/mnt临时挂载点
-
[root@web01 ~]# mount -t nfs 172.16.1.31:/data /mnt [root@web01 ~]# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 476M 0 476M 0% /dev tmpfs 487M 0 487M 0% /dev/shm tmpfs 487M 7.7M 479M 2% /run tmpfs 487M 0 487M 0% /sys/fs/cgroup /dev/sda3 20G 1.9G 18G 10% / /dev/sda1 197M 110M 88M 56% /boot tmpfs 98M 0 98M 0% /run/user/0 172.16.1.31:/data 20G 1.9G 18G 10% /mnt
4、客户端测试
-
[root@web01 ~]# touch /mnt/1.txt [root@web01 ~]# ll /mnt total 0 -rw-r--r--. 1 666 666 0 Jun 9 16:01 1.txt
-
##注意:默认NFS客户连接NFS时所有的用户被压缩为NFS的匿名用户 nfsnobody uid65534
5、卸载
-
/dev/sda1 197M 110M 88M 56% /boot tmpfs 98M 0 98M 0% /run/user/0 172.16.1.31:/data 20G 1.9G 18G 10% /mnt [root@web01 ~]# umount /mnt [root@web01 ~]# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 476M 0 476M 0% /dev tmpfs 487M 0 487M 0% /dev/shm tmpfs 487M 7.7M 479M 2% /run tmpfs 487M 0 487M 0% /sys/fs/cgroup /dev/sda3 20G 1.9G 18G 10% / /dev/sda1 197M 110M 88M 56% /boot tmpfs 98M 0 98M 0% /run/user/0
-
##注意:如果需要开机自动挂载建议不写入/etc/fstab
/etc/fatab在加载网络之前,系统就已经读取了、etc/fstab文件
所以建议使用/etc/rc.local
关闭网卡目录
1、ifdown命令关闭网卡
[root@web01 ~]# ifdown eth1 [root@web01 ~]# ip a 3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000 link/ether 00:0c:29:88:ce:68 brd ff:ff:ff:ff:ff:ff
2、ifup命令开启网卡
[root@web01 ~]# ifup eth1 [root@web01 ~]# ip a 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:0c:29:88:ce:68 brd ff:ff:ff:ff:ff:ff inet 172.16.1.7/24 brd 172.16.1.255 scope global eth1 valid_lft forever preferred_lft forever inet6 fe80::20c:29ff:fe88:ce68/64 scope link valid_lft forever preferred_lft forever