目錄
3.1 配置阿里雲,購買三個磁盤,分別選擇一個磁盤掛載到其中一台服務器上 2
參考文檔
下載地址
https://www.gluster.org/install/
官方快速入門安裝文檔
https://wiki.centos.org/SpecialInterestGroup/Storage/gluster-Quickstart
官方詳細文檔
https://docs.gluster.org/en/latest/CLI-Reference/cli-main/
環境
系統 |
內核 |
GlusterFS |
配置 |
CentOS Linux release 7.7.1908 (Core) |
3.10.0-1062.18.1.el7.x86_64 |
7.5 |
1核1G |
本次為兩台
glusterfs-01 |
172.26.103.110 |
1核1G |
glusterfs-02 |
172.26.103.111 |
1核1G |
glusterfs-03 |
172.26.103.112 |
1核1G |
安裝glusterfs集群
安裝前提是每個服務器要有兩個磁盤
一個磁盤用於OS安裝(sda),另一個磁盤用於GlusterFS存儲數據(sdb)
配置阿里雲,購買三個磁盤,分別選擇一個磁盤掛載到其中一台服務器上
磁盤最好單獨購買,這樣可以隨便卸載和掛載到其他主機 (按量)
隨主機一起購買的磁盤無法掛載到其他服務器 (包月)
查看當前掛載到服務器的磁盤是否正常
fdisk -l
格式化磁盤
mkfs.xfs -i size=512 /dev/vdb
創建磁盤掛載目錄
mkdir -p /bricks/brick1
添加磁盤到開機啟動中(不要寫到/etc/fstab,如果這塊盤丟失了,服務器是無法啟動的)
echo 'mount /dev/vdb /bricks/brick1/' >>/etc/rc.local
兩台一起操作,分別安裝存儲庫
yum install centos-release-gluster
安裝glusterfs-server
yum install glusterfs-server -y
echo 'glusterfs-01' >/etc/hostname
echo 'glusterfs-02' >/etc/hostname
echo 'glusterfs-03' >/etc/hostname
gluster peer probe glusterfs-02
gluster peer probe glusterfs-03
分布式卷將文件分布在卷中的塊之間。如果要求擴展存儲,並且冗余不重要或由其他硬件/軟件層提供,則可以使用分布式卷,方便擴展存儲大小,無冗余
復制卷跨卷中的塊復制文件。您可以在高可用性和高可靠性至關重要的環境中使用復制卷。
分布式復制卷跨卷中的復制塊分發文件。在需要擴展存儲且高可靠性至關重要的環境中,您可以使用分布式復制卷。在大多數環境中,分布式復制卷還可以提高讀取性能
分布式分散卷將文件分布在分散的子卷中。這與分布式復制卷具有相同的優勢,但是使用分散將數據存儲到塊中
創建復制卷:(Type: Replicate)仲裁器卷是副本3卷,節點數應是奇數,避免腦裂發生
帶有兩個鏡像的四節點分布式(復制)卷:注意:磁盤只可以同時宕13 24 不可以同時宕12 34
創建分散卷:() 分散的容量基於擦除代碼。它跨卷中的多個塊對文件的編碼數據進行條帶化,並添加了一些冗余。您可以使用分散的卷以最低的空間浪費獲得可配置的可靠性
gluster volume create gv3 disperse 3 glusterfs-0{1..3}:/bricks/brick1/gv3
創建分布式分散卷: () 分布式分散卷等效於分布式復制卷,但是使用分散子卷而不是復制子卷
在命令行中指定的塊數必須是分散計數的倍數,冗余與分散卷中的冗余完全相同, 分散計數disperse必須大於2不能等於2, 塊數必須是分散計數的倍數,所以至少需要6塊盤
gluster volume create gv4 disperse 3 glusterfs-0{1..6}:/bricks/brick1/gv4
Volume ID: 542ed25f-fca5-4303-9eef-ebd72d0f3d16
Brick1: glusterfs-01:/bricks/brick1/gv0
Brick2: glusterfs-02:/bricks/brick1/gv0
Brick3: glusterfs-03:/bricks/brick1/gv0
transport.address-family: inet
storage.fips-mode-rchecksum: on
performance.client-io-threads: off
這個要提到的就是Status。狀態為Created 表示已創建該卷,但尚未啟動該卷,這將導致任何嘗試裝入該卷的嘗試均失敗
yum install centos-release-gluster
yum install glusterfs-server -y
mount -t glusterfs glusterfs-01:/gv0 /mnt/gv0
https://docs.gluster.org/en/latest/CLI-Reference/cli-main/
https://docs.gluster.org/en/latest/Administrator%20Guide/Managing%20Volumes/
gluster peer status #查看所有節點狀態
gluster pool list #列出所有節點
gluster peer probe 主機名 #添加一個節點到集群
gluster peer detach 主機名 #從集群刪除一個節點,刪除的節點要保證無承載卷
gluster volume list #查看卷列表
gluster volume info #查看所有卷的信息
gluster volume status #查看所有卷的狀態
gluster volume start 卷名 #啟動一個卷
gluster volume stop 卷名 #停止一個卷
gluster volume delete 卷名 #刪除卷
gluster volume add-brick gv0 glusterfs-04:/bricks/brick1/gv0 #給一個已經存在的卷增加額外的節點
gluster volume rebalance 卷名 fix-layout start #給卷添加節點后新創建的文件仍將僅在原始塊之間分發,需要執行此命令重新平衡布局
gluster volume rebalance 卷名 start #修復布局重新平衡只會修復布局更改,而不會遷移數據。如果要遷移現有數據,需要執行此命令在服務器之間重新平衡數據
gluster volume rebalance 卷名 status #顯示重新平衡操作的狀態
gluster volume rebalance 卷名 stop #停止重新平衡
收縮卷
gluster volume remove-brick gv0 server3:/data/brick1/gv0 server4:/data/brick1/gv0 start
gluster volume remove-brick gv0 server3:/data/brick1/gv0 server4:/data/brick1/gv0 status
如果顯示完成了,那么執行執行remove-brick commit操作
gluster volume remove-brick gv0 server3:/data/brick1/gv0 server4:/data/brick1/gv0 commit