GlusterFS(https://www.gluster.org/)是一個分佈式存儲系統,支持多種分佈式存儲卷類型。GlusterFS支持裸機集羣部署和Kubernetes容器部署,客戶端能夠使用專用客戶端驅動mount到主機文件系統,也支持NFS/samba等協議,能夠經過網絡訪問,或者經過kubernetes的service進行訪問。html
首先,檢查一下節點的狀態,以下:git
supermap@podc01:~/openthings/kubernetes-tools/gluster/tools$ sudo gluster pool list UUID Hostname State 6dd32f80-4191-4b96-8021-53c241cefa66 10.1.1.204 Connected 85112a7f-2c6b-4c57-8f6f-636c84232418 10.1.1.234 Connected dae26553-62f7-4b32-81c3-c35e527872a9 10.1.1.205 Connected 7738c78a-ca52-413e-b609-7de9d3208314 10.1.1.202 Connected ee69bb6d-ca75-4c05-b423-525523f117f6 10.1.1.193 Connected fd4a83ea-0886-4d42-ab86-1aa9be6e154c 10.1.1.112 Connected bf976527-e48e-4c97-bfb6-7a4e47aaad31 10.1.1.203 Connected f629a751-ec21-4a24-976e-8ae9840628fe localhost Connected
而後,建立volume:github
# Create simple volume: gvz00 gluster volume create gvz00 \ 10.1.1.193:/zpool/gvz00 \ 10.1.1.234:/zpool/gvz00 \ 10.1.1.205:/zpool/gvz00 \ 10.1.1.112:/zpool/gvz00 \ force
開啓卷gvz00的nfs服務,以下:網絡
gluster volume set gvz00 nfs.disable off
注意:分佈式
查看存儲卷的狀態:工具
sudo gluster volume status
返回信息以下:性能
Status of volume: gvz00 Gluster process TCP Port RDMA Port Online Pid ------------------------------------------------------------------------------ Brick 10.1.1.193:/zpool/gvz00 N/A N/A N N/A Brick 10.1.1.234:/zpool/gvz00 49153 0 Y 31752 Brick 10.1.1.205:/zpool/gvz00 49153 0 Y 1121 Brick 10.1.1.112:/zpool/gvz00 49153 0 Y 19786 NFS Server on localhost 2049 0 Y 24770 NFS Server on 10.1.1.203 2049 0 Y 89228 NFS Server on 10.1.1.205 N/A N/A N N/A NFS Server on 10.1.1.202 2049 0 Y 7498 NFS Server on 10.1.1.234 2049 0 Y 27221 NFS Server on 10.1.1.204 N/A N/A N N/A NFS Server on 10.1.1.193 2049 0 Y 24080 NFS Server on 10.1.1.112 2049 0 Y 25981 Task Status of Volume gvz00 ------------------------------------------------------------------------------ There are no active volume tasks
若是須要關閉NFS服務,執行以下命令:測試
gluster volume reset disp_vol nfs.disable
須要將Gluster Volume服務掛載爲Linux系統存儲卷,掛載方式包括:ui
mkdir /home/supermap/gvz00 sudo mount -t glusterfs 10.1.1.201:/gvz00 /home/supermap/gvz00
自動掛載,編輯/etc/fstab文件,加入:
spa
10.1.1.201:/gvz00 /home/supermap/gvz00 glusterfs _netdev,rw,acl 0 0
請特別注意要加上 _netdev 選項。
使用
acl
選項能夠在掛載目錄中啟用 POSIX ACL 的支援。
sudo mount -a
df -h
使用 NFS 掛載以前,先肯定rpcbind
已啓動:
sudo systemctl start rpcbind sudo systemctl enable rpcbind
mkdir /home/supermap/nfs-gvz00 sudo mount -t nfs 10.1.1.201:/gvz00 /home/supermap/nfs-gvz00
自動掛載,編輯/etc/fstab,添加:
10.1.1.201:/gvz00 /home/supermap/nfs-gvz00 nfs _netdev,rw 0 0
sudo mount -a
df -h
Client 使用 NFS 寫入數據時,會先將數據傳送到掛載的節點,再由該節點寫入各個分佈式節點的Brick。
Client 使用 NFS 讀數據時,會先由掛載節點取得數據再傳送到Client。
更多參考: