1、什么是NFS ?
全称 network file system 网络文件系统
什么是文化系统?
通过网络来存储和组织文件的一种方法或机制。
2、为什么药用共享存储?
前端所有应用服务器接收到用户上传的图片、文件、视频都会统一存储上。
为什么要共享?
所有节点服务器都需要将内容存到存储上,取的统一来取。
3、共享存储的种类?
单一存储系统就是NFS,适用于中小型企业,相当于阿里云服务的NAS服务。OSS对象存储。NFS性能不高。
大型企业会用:FastDFS、Ceph、GlsterFS、Mfs
大型存储厂商:EMS、Netapp
硬件存储:稳定、双主机头
4、NFS的工作原理
NFS网络文件系统
启动NFS服务,而且还要启动很多端口
NFS功能,需要很多服务。每个服务都有端口,而且经常变化。
如何让客户端找到这些端口?
NFS服务:
(1)、NFS服务(有很多进程和端口),将自己的端口告诉RPC
(2)、RPC服务(对外的固定端口111)
客户端请求NFS服务,需要先找到RPC111,查找NFS端口,发给客户。
实践:
1、安装
[root@nfs01~]#rpm -qa nfs-utils rpcbind
[root@nfs01~]#yum install nfs-utils rpcbind -y
2、开启rpcbind.service服务
systemctl start rpcbind.service
systemctl enable rpcbind.service
systemctl status rpcbind.service
3、开启nfs服务
rpcinfo -p 127.0.0.1
systemctl start nfs
systemctl enable nfs
systemctl status nfs
rpcinfo -p 127.0.0.1
[root@web01~]#netstat -lutup|grep rpc
[root@web01~]#ps -ef|grep rpcbind
rpc 7819 1 0 11:33 ? 00:00:00 /sbin/rpcbind -w
root 8096 7568 0 12:20 pts/0 00:00:00 grep --color=auto rpcbind
4、实践
[root@nfs01~]#tail -q /etc/exports
#yu
/data 172.16.1.0/24(rw,sync)
[root@nfs01~]# mkdir -p /data
[root@nfs01/]# ls -ld /data
drwxr-xr-x 2 root root 42 4月 16 19:09 /data
[root@nfs01/]# grep nfsno /etc/passwd
nfsnobody:x:65534:65534:Anonymous NFSUser:/var/lib/nfs:/sbin/nologin
[root@nfs01/]#chown -R nfsnobody.nfsnobody /data
[root@nfs01/]#ls -ld /data/
drwxr-xr-x 2 nfsnobody nfsnobody 42 4月 16 19:09 /data/
5、重启NFS
[root@nfs01/]#systemctl reload nfs (平滑重启)< ===生产场景必须实现平滑重启
[root@nfs01/]# exportfs -r
6、检查
[root@nfs01/]# showmount -e 172.16.1.31
Export list for 172.16.1.31:/data 172.16.1.0/24 < ====看到共享目录
7、服务端本地挂载
[root@nfs01/]#mount -t nfs 172.16.1.31:/data /mnt
[root@nfs01/]#df -h
文件系统 容量 已用 可用已用% 挂载点
/dev/mapper/centos-root 19G 1.9G 17G 10% /
devtmpfs 475M 0 475M 0% /dev
tmpfs 487M 0 487M 0% /dev/shm
tmpfs 487M 7.6M 479M 2% /run
tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/sda1 253M 144M 109M 57% /boot
tmpfs 98M 0 98M 0% /run/user/0
172.16.1.31:/data 19G 1.9G 17G 10% /mnt
[root@nfs01/]# touch /mnt/oldboy.txt
[root@nfs01/]# ls /mnt/
a b c d oldboy.txt
换到web01挂载
1、安装
[root@nfs01~]#rpm -qa nfs-utils rpcbind
[root@nfs01~]#yum install nfs-utils rpcbind -y
2、开启rpcbind.service服务
systemctl start rpcbind.service
systemctl enable rpcbind.service
systemctl status rpcbind.service
[root@web01~]#netstat -lutup|grep rpc
[root@web01~]#ps -ef|grep rpcbind
rpc 7819 1 0 11:33 ? 00:00:00 /sbin/rpcbind -w
root 8096 7568 0 12:20 pts/0 00:00:00 grep --color=auto rpcbind
3、查看NFS服务器提供的共享目录
[root@web01~]#showmount -e 172.16.1.31
Export list for 172.16.1.31:
/data 172.16.1.0/24
4、挂载
[root@web01/]# mount -t nfs 172.16.1.31:/data /mnt
[root@web01/]# df -h
文件系统 容量 已用 可用已用% 挂载点
/dev/mapper/centos-root 19G 1.9G 17G 10% /
devtmpfs 475M 0 475M 0% /dev
tmpfs 487M 0 487M 0% /dev/shm
tmpfs 487M 7.6M 479M 2% /run
tmpfs 487M 0 487M 0% /sys/fs/cgroup
/dev/sda1 253M 144M 109M 57% /boot
tmpfs 98M 0 98M 0% /run/user/0
172.16.1.31:/data 19G 1.9G 17G 10% /mnt
[root@web01/]#touch /mnt/yu.txt
[root@web01/]#ls /mnt/
a b c d oldboy.txt yu.txt
backup端和web端的配置方法一致。