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端的配置方法一致。