部署GlusterFS分佈式存儲

一、介紹

GlusterFS是一個免費、全對稱開源的的分佈式文件系統。GlusterFS 具有強大的橫向擴展能力,通過擴展能夠支持數PB存儲容量和處理數千客戶端。

二、GlusterFS卷類型

1.distribute volume分佈式卷(默認)

文件通過hash算法分佈到所有brick上。此時volume的容量是所有brick的和;方便擴展空間,但無冗餘保護。存取效率不高;受限於本地文件系統對單文件容量的限制,支持超大型文件系統有問題。

2.stripe volume 條帶卷

文件分成數據塊以round robin的方式將每個chunk存儲到1個brick,相當於raid0。單一超大容量文件可被分片,不受brick server本地文件系統的限制;分佈式讀寫性能較高;無冗餘1個server節點故障會導致所有數據丟失。

3.replica volume 複製卷

文件同步複製到多個brick,相當於文件級raid1,一個是存儲一個是備份,具有容錯能力;讀性能提升,寫性能下降;提升數據可靠性,但磁盤利用率低。

4.distribute replica volume 分佈式複製卷

分佈式卷與複製卷的組合,兼具兩者的功能,單個文件在複製卷內數據保持副本,不同文件在不同複製卷之間進行哈希分佈。

5.distribute stripe volume分佈式條帶卷

分佈式卷與條帶卷的組合,兼具兩者的功能,單個文件在條帶卷內數據以條帶的形式存儲,不同文件在不同條帶卷之間進行哈希分佈。

6.striped replicated volume條帶鏡像卷

條帶與複製卷的組合,兼具兩者的功能,單個文件以條帶的形式存儲在2個或多個複製集(replicated sets ),複製集內文件分片以副本的形式保存。

7.distribute stripe replica volume 混合卷

三種基本卷的複合卷,分佈式卷,條帶與複製卷的組合,兼具三者的功能

8.dispersed volume分散式(冗餘式)

文件分片存儲在各個brick上,但有部分硬盤用於冗餘用途,數量可以指定,相當於文件級raid5。

三、集羣部署

說明:目前爲止stripe(條帶)類型已經用的越來越少,所有沒做記錄

1.環境說明

關閉防火牆、關閉selinux,hostname能互相解析

2.軟件安裝

yum -y install centos-release-gluster
yum install -y glusterfs-server

3.啓動服務

systemctl start glusterd
systemctl enable glusterd

4.創建集羣

#在任意節點上執行操作,向集羣中添加節點
gluster peer probe node2
gluster peer probe node3
#從集羣中刪除節點
gluster peer detach node3
#查看狀態
gluster peer status
gluster pool list






5.分佈式卷(Distribut)

#創建分佈式卷
gluster volume create gv1_distribut node1:/data/br1 node2:/data/br1
#查看卷
gluster volume list
#啓動卷
gluster volume start gv1_distribut
#查看卷信息
gluster volume info gv1_distribut






6.複製卷(Replica)

#創建複製卷
gluster volume create gv2_replica replica 2 node1:/data/br1 node2:/data/br1
#查看卷
gluster volume list
#啓動卷
gluster volume start gv2_replica
#查看卷信息
gluster volume info gv2_replica






7.分佈式複製卷(distribute replica)

#創建分佈式複製卷
gluster volume create gv3_distribute_replica replica 2 node1:/data/br1 node2:/data/br1 node3:/data/br1 node4:/data/br1
#查看卷
gluster volume list
#啓動卷
gluster volume start gv3_distribute_replica
#查看卷信息
gluster volume info gv3_distribute_replica






8.冗餘卷(Disperse)

#創建冗餘卷
gluster volume create gv4_disperse disperse 4 node1:/data/br1 node2:/data/br1 node3:/data/br1 node4:/data/br1
#查看卷
gluster volume list
#啓動卷
gluster volume start gv4_disperse
#查看卷信息
gluster volume info






四、卷管理

1.卷擴容

#添加節點到集羣
gluster peer probe node3
gluster peer probe node4
#擴展volume
gluster volume add-brick volume_name node3:/data/br1 node4:/data/br1
#平衡卷(不要在系統繁忙的時候執行)
gluster volume rebalance volume_name start
#查看平衡狀態
gluster volume rebalance volume_name status







2.縮減卷

#移除brick
gluster volume remove-brick volume_name node3:/data/br1 node4:/data/br1 start
#查看移除狀態
gluster volume remove-brick volume_name node3:/data/br1 node4:/data/br1 status
#提交
gluster volume remove-brick volume_name node3:/data/br1 node4:/data/br1 commit
#查看brick是否被移除
gluster volume info volume_name
#平衡卷
gluster volume rebalance volume_name start








3.替換卷

#添加節點
gluster peer probe node5
#替換brick
gluster volume replace-brick volume_name node1:/data/br1 node5:/data/br1 commit force
#查看卷狀態
gluster volume info volume_name




4.刪除卷

#停止卷
gluster volume stop volume_name
#刪除卷
gluster volume delete volume_name
#查看卷
gluster volume info volume_name




五、客戶端設置

1.軟件安裝

yum install -y glusterfs glusterfs-fuse

2.客戶端掛載

mkdir /opt/gluster_disk{1..4}
mount -t glusterfs node1:/gv1_distribut /opt/gluster_disk1
mount -t glusterfs node1:/gv2_replica /opt/gluster_disk2
mount -t glusterfs node1:/gv3_distribute_replica /opt/gluster_disk3
mount -t glusterfs node1:/gv4_disperse /opt/gluster_disk4



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章