前端全部的應用服務器接收到用戶上傳的圖片、文件、視頻,都會統一的放到後端的存儲上。
全部節點服務器都須要將內容存到存儲上,取的統一來取。前端
單點存儲系統就是NFS,中小型企業,阿里雲服務的NAS服務,OSS對象存儲。
NFS性能不過高。
大型企業會用分佈式存儲FastDFS、Ceph、GlsterFS、Mfsweb
大型存儲廠商:EMC、Netapp 幾十萬。
藝龍旅行網 存儲用的EMC 傳統企業。vim
硬件存儲:傳統企業:穩定、2臺 雙主機頭 幾十塊硬盤 RAID10。
BAT 曾經用硬件,超貴、後端
阿里雲 去IOE Ibm Orace EMC安全
NFS網絡文件系統
啓動NFS服務,並且還有啓動不少端口。
NFS功能,須要不少服務。每一個服務都有端口,並且常常變化。服務器
NFS服務:
一、NFS服務(有不少進程和端口),把本身的端口告訴RPC。
二、RPC服務(對外固定端口111)網絡
客戶端請求NFS服務,先找RPC 111,查到NFS的端口,發給客戶。app
服務器端和客戶端都要安裝:異步
yum install nfs-utils rpcbind -y rpm -qa nfs-utils rpcbind [root@nfs01 ~]# rpm -qa nfs-utils rpcbind nfs-utils-1.3.0-0.61.el7.x86_64 rpcbind-0.2.0-47.el7.x86_64 啓動RPC [root@nfs01 ~]# systemctl start rpcbind.service [root@nfs01 ~]# systemctl enable rpcbind.service
啓動NFSasync
[root@nfs01 ~]# systemctl start nfs [root@nfs01 ~]# systemctl enable nfs
[root@nfs01 ~]# tail -1 /etc/exports /data 172.16.1.0/24(rw,sync) [root@nfs01 ~]# mkdir -p /data [root@nfs01 ~]# ls -ld /data drwxr-xr-x 2 root root 51 4月 16 10:24 /data
NFS默認用戶nfsnobody
[root@nfs01 ~]# grep nfsno /etc/passwd nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin [root@nfs01 ~]# chown -R nfsnobody.nfsnobody /data [root@nfs01 ~]# ls -ld /data drwxr-xr-x 2 nfsnobody nfsnobody 51 4月 16 10:24 /data
重啓NFS
[root@nfs01 ~]# systemctl reload nfs #《==生產場景必需要實現平滑重啓。 [root@nfs01 ~]# exportfs -r # 上述兩者等價,選一個便可。 [root@nfs01 ~]# showmount -e 172.16.1.31 Export list for 172.16.1.31: /data 172.16.1.0/24 #《==看到共享的目錄了
[root@nfs01 ~]# mount -t nfs 172.16.1.31:/data /mnt [root@nfs01 ~]# df -h 文件系統 容量 已用 可用 已用% 掛載點 /dev/sda3 19G 1.8G 18G 10% / devtmpfs 476M 0 476M 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 136M 118M 54% /boot tmpfs 98M 0 98M 0% /run/user/0 172.16.1.31:/data 19G 1.8G 18G 10% /mnt
yum install nfs-utils rpcbind -y rpm -qa nfs-utils rpcbind
[root@web01 ~]# systemctl start rpcbind [root@web01 ~]# systemctl enable rpcbind
[root@web01 ~]# showmount -e 172.16.1.31 Export list for 172.16.1.31: /data 172.16.1.0/24
[root@web01 ~]# mount -t nfs 172.16.1.31:/data /mnt [root@web01 ~]# df -h 文件系統 容量 已用 可用 已用% 掛載點 /dev/sda3 19G 1.8G 18G 10% / devtmpfs 476M 0 476M 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 136M 118M 54% /boot tmpfs 98M 0 98M 0% /run/user/0 172.16.1.31:/data 19G 1.8G 18G 10% /mnt
web01 backup客戶端實現掛載到nfs
NFS下面共享/backup ,容許web01 backup客戶端(/backup)可讀寫.
web01上傳圖片,backup上能夠刪除web01上傳的圖片。
NFS下面共享/data1,容許 web01 backup客戶端10網段只讀(data1)
實現開機自動掛載
[root@nfs01 ~]# mkdir /backup /data1 [root@nfs01 ~]# vim /etc/exports #oldboyjyt shared dir at time /backup 172.16.1.0/24(rw,sync) /data1 10.0.0.0/24(ro) [root@nfs01 ~]# systemctl reload nfs [root@nfs01 ~]# chown -R nfsnobody.nfsnobody /backup [root@nfs01 ~]# chown -R nfsnobody.nfsnobody /data1 [root@nfs01 ~]# showmount -e 172.16.1.31 Export list for 172.16.1.31: /data1 10.0.0.0/24 /backup 172.16.1.0/24
[root@web01 ~]# mkdir /backup /data1 [root@web01 ~]# mkdir /gz1 /gz2 [root@web01 ~]# chown -R nfsnobody.nfsnobody /gz1 [root@web01 ~]# chown -R nfsnobody.nfsnobody /gz2 [root@web01 ~]# showmount -e 172.16.1.31 Export list for 172.16.1.31: /data1 10.0.0.0/24 /backup 172.16.1.0/24 [root@web01 ~]# mount -t nfs 172.16.1.31:/backup /gz1 [root@web01 ~]# mount -t nfs 172.16.1.31:/data1 /gz2
[root@web01 /]# cd /gz1 [root@web01 /gz1]# ll 總用量 0 [root@web01 /gz1]# rz rz waiting to receive. [root@web01 /gz1]# ll 總用量 20 -rw-r--r-- 1 nfsnobody nfsnobody 16413 4月 11 11:23 tp.jpg [root@web01 gz1]# [root@backup /]# cd /gz1 [root@backup /gz1]# ll 總用量 20 -rw-r--r-- 1 nfsnobody nfsnobody 16413 4月 11 11:23tp.jpg [root@backup /gz1]# rm -f tyy.jpg [root@backup /gz1]# ll 總用量 0
刪除成功
[root@web01 /]# chmod +x /etc/rc.local [root@web01 /]# vim /etc/rc.local /bin/mount -t nfs 172.16.1.31:/backup /gz1 /bin/mount -t nfs 172.16.1.31:/data1 /gz2 [root@backup /]# chmod +x /etc/rc.local [root@backup /]# vim /etc/rc.local /bin/mount -t nfs 172.16.1.31:/backup /gz1 /bin/mount -t nfs 172.16.1.31:/data1 /gz2