NFS網絡存儲服務
1、什麼是NFS?
network file system 網絡檔案系統
通過網絡存儲群組織檔案的一種方法和機制
2.為什麼要用共享存儲:
前端所有的應用伺服器接收到使用者上的檔案(圖檔、視訊等)都會統一的放到後端的存儲上
為什麼要共享:
所有節點伺服器都需要将内容存到存儲上,取得統一來取
3.共享存儲的種類:
單一存儲系統就是NFS,适用于中小型企業,相當于阿裡雲的NAS服務、OSS對象存儲
大型企業會用分布式存儲FastDFS、Coph、GlstorFS、Mfs
大型存儲廠商:EMC、Netapp
4、NFS工作原理:
啟動服務,而且還要啟動很多端口
NFS需要很多服務和端口,端口而且經常變化
如何讓用戶端找到這些端口呢?(RPC服務)
NFS服務:
1.nfs服務(程序)
2.rpc服務(對外的固定端口)
用戶端請求nfs服務,先找到rpc
用戶端---- >>
RPC服務--- >>
NFS服務 (向RPC服務注冊啟動的端口)
※實踐:
1.主機
2.NFS軟體清單
nfs-utils:NFS服務的主程式,包括rpc.nfsd、rpc.mountd
rpcbind:RPC主程式
3.安裝 #all server and client
yum install nfs-utils rpcbind –y
4.啟動服務
systemctl start rpcbind.service #啟動rpcbind
systemctl enable rpcbind.service #開機自啟動
[root@nfs01 ~]# rpcinfo -p 127.0.0.1
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
systemctl start nfs #啟動nfs
systemctl enable nfs #開機自啟動
5.配置nfs
nfs配置檔案 /etc/exports
EXAMPLE
#sample /etc/exports file
/ master(rw) trusty(rw,no_root_squash)
/projects proj*.local.domain(rw)
/usr *.local.domain(ro) @trusted(rw)
/home/joe pc001(rw,all_squash,anonuid=150,anongid=100)
#将遠端通路的使用者及所屬組都映射為指定UID和GID的匿名使用者
/pub *(ro,insecure,all_squash)
/srv/www -sync,rw server @trusted @external(ro)
/foo 2001:db8:9:e54::/64(rw) 192.0.2.0/24(rw)
/build buildhost[0-9].local.domain(rw)
帶共享的目錄 通路的主機(權限)
1)待共享的目錄,存取東西的目錄 例如:/data
2)通路的主機
172.16.1.7(web01) 單個主機
172.16.1.0/24 網段
172.16.1.* 網段
master 主機名
3) ()權限
rw 可讀寫 read write
ro 隻讀 read only
sync 寫到磁盤才算完成,安全
async 異步寫到遠端緩沖區,速度快,不安全
root_squash 如果通路nfs server共享目錄的使用者是root,則它的權限将被壓縮成匿名使用者
all_squash 不管用戶端是什麼使用者,到服務端都是nfsnobody
anonuid 匿名使用者的UID
anongid 匿名使用者的GID
6.更改預設NFS預設使用者
例如:
[root@nfs01 ~]# useradd -u 1111 www
[root@nfs01 ~]# id www
uid=1111(www) gid=1111(www) 組=1111(www)
[root@nfs01 ~]# chown -R www.www /data/
vim /etc/exports
/data 172.16.0.0/24(rw,sync,all_squash,anonuid=1111,anongid=1111)
~[root@nfs01 ~]# systemctl reload nfs
#用戶端
[root@web01 ~]# useradd -u 1111 www
[root@web01 ~]# mount 172.16.1.31:/data/ /data/
[root@web01 ~]# df -hT
172.16.1.31:/data nfs4 19G 2.2G 17G 12% /data
[root@web01 mnt]# touch new_web01
※NFS重點:
1.nfs的通路原理
2.nfs作為叢集共享存儲角色的搭建、部署
3.nfs的排障和進階優化
4.mount 指令的知識和參數,如-o (noatime...)
5.fstab檔案知識以及fstab故障修複
6.常用指令 showmount exportfs umount(-lf) rpcinfo
7.NFS的優缺點,适合的場景