2019-04-17Day34 課后筆記

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

最后就是實現開機自動掛載

1、[root@nfs01/]# vim /etc/rc.local?

如果開機沒有實現自動掛載,就需要去查看/etc/rc.d/rc.local/這個文件的權限,如果沒有加執行權限x,那么開機時不會進行自動掛載的。

2、在/etc/fstab 中進行配置

? ? ?? 但是在/etc/fstab中配置會出現開機無法自動掛載的情況,大致原因是因為NFS服務開啟和系統其他軟件的開啟是要有先后順序的。NFS服務需要系統網絡自啟以后才會去啟動。如果在/etc/fstab中記性配置的話,會造成NFS和系統其他服務一起啟動。從而導致無法實現自動掛載。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容