GlusterFS-7.5.0搭建


目錄

1 參考文檔    1

1.1 下載地址    1

1.2 官方快速入門安裝文檔    1

1.3 官方詳細文檔    1

2 環境    1

3 安裝glusterfs集群    2

3.1 配置阿里雲,購買三個磁盤,分別選擇一個磁盤掛載到其中一台服務器上    2

3.2 兩台一起操作,分別安裝存儲庫    2

3.3 安裝glusterfs-server    2

3.4 啟動glusterd    2

3.5 修改主機名(三台主機分別修改)    2

3.6 配置hosts(三台主機都要配置)    3

3.7 配置受信任池    3

3.8 glusterfs卷的類型解釋    3

3.8.1 創建卷示例:    4

3.9 創建一個卷    5

3.10 創建復制卷    5

3.11 測試卷是否正常    5

3.12 客戶端掛載    6

4 常用命令    7

 

 

 

 

 

  1. 參考文檔

  2. 下載地址

https://www.gluster.org/install/

  1. 官方快速入門安裝文檔

https://wiki.centos.org/SpecialInterestGroup/Storage/gluster-Quickstart

  1. 官方詳細文檔

https://docs.gluster.org/en/latest/CLI-Reference/cli-main/

 

 

  1. 環境

系統

內核

GlusterFS

配置

CentOS Linux release 7.7.1908 (Core)

3.10.0-1062.18.1.el7.x86_64

7.5

11G

 

本次為兩台

glusterfs-01

172.26.103.110

11G

glusterfs-02

172.26.103.111

11G

glusterfs-03

172.26.103.112

11G

 

 

  1. 安裝glusterfs集群

安裝前提是每個服務器要有兩個磁盤

一個磁盤用於OS安裝(sda),另一個磁盤用於GlusterFS存儲數據(sdb)

  1. 配置阿里雲,購買三個磁盤,分別選擇一個磁盤掛載到其中一台服務器上

磁盤最好單獨購買,這樣可以隨便卸載和掛載到其他主機 (按量)

隨主機一起購買的磁盤無法掛載到其他服務器 (包月)

查看當前掛載到服務器的磁盤是否正常

fdisk -l

格式化磁盤

mkfs.xfs -i size=512 /dev/vdb

創建磁盤掛載目錄

mkdir -p /bricks/brick1

添加磁盤到開機啟動中(不要寫到/etc/fstab,如果這塊盤丟失了,服務器是無法啟動的)

echo 'mount /dev/vdb /bricks/brick1/' >>/etc/rc.local

 

 

  1. 兩台一起操作,分別安裝存儲庫

yum install centos-release-gluster

  1. 安裝glusterfs-server

yum install glusterfs-server -y

  1. 啟動glusterd

systemctl start glusterd

 

  1. 修改主機名(三台主機分別修改)

hostname glusterfs-01

hostname glusterfs-02

hostname glusterfs-03

echo 'glusterfs-01' >/etc/hostname

echo 'glusterfs-02' >/etc/hostname

echo 'glusterfs-03' >/etc/hostname

 

  1. 配置hosts(三台主機都要配置)

vim /etc/hosts

172.26.103.110 glusterfs-01

172.26.103.111 glusterfs-02

172.26.103.112 glusterfs-03

 

  1. 配置受信任池

任意一台服務器執行即可,他們會互認

glusterfs-01 服務器上執行:

gluster peer probe glusterfs-02

gluster peer probe glusterfs-03

 

  1. glusterfs卷的類型解釋

分布式卷將文件分布在卷中的塊之間。如果要求擴展存儲,並且冗余不重要或由其他硬件/軟件層提供,則可以使用分布式卷,方便擴展存儲大小,無冗余

 

復制卷跨卷中的塊復制文件。您可以在高可用性和高可靠性至關重要的環境中使用復制卷。

如果同一對等體上存在多個副本集的磚,則GlusterFS將無法創建復制卷。例如。一個四節點復制卷,其中同一對等體上存在一個副本集的一個以上的磚。如果仍要使用此配置創建卷,請在命令末尾使用該選項force

分布式復制卷跨卷中的復制塊分發文件。在需要擴展存儲且高可靠性至關重要的環境中,您可以使用分布式復制卷。在大多數環境中,分布式復制卷還可以提高讀取性能

分散—分散的卷基於擦除代碼,針對磁盤或服務器故障提供節省空間的保護。它將原始文件的編碼片段存儲到每個塊中,只需要片段的一個子集來恢復原始文件。在不丟失數據的情況下可以丟失的塊的數量由管理員在卷創建時配置。

分布式分散卷將文件分布在分散的子卷中。這與分布式復制卷具有相同的優勢,但是使用分散將數據存儲到塊中

 

  1. 創建卷示例:

創建分布式卷:(Type: Distribute)

gluster volume create gv1 glusterfs-01:/bricks/brick1/gv1 glusterfs-02:/bricks/brick1/gv1 glusterfs-03:/bricks/brick1/gv1

 

創建復制卷:(Type: Replicate)仲裁器卷是副本3卷,節點數應是奇數,避免腦裂發生

gluster volume create gv0 replica 3 glusterfs-01:/bricks/brick1/gv0 glusterfs-02:/bricks/brick1/gv0 glusterfs-03:/bricks/brick1/gv0

 

創建分布式復制卷:()相當於raid10,注意:塊數應為分布式復制卷的副本數的倍數。同樣,指定塊的順序對數據保護也有很大的影響。您提供的列表中的每個copy_count個連續的磚塊都將形成一個副本集,所有副本集都組合成一個卷范圍的分發集。為確保副本集成員沒有放置在同一節點上,請以相同順序列出每個服務器上的第一個磚塊,然后列出每個服務器上的第二個磚塊,依此類推

帶有兩個鏡像的四節點分布式(復制)卷:注意:磁盤只可以同時宕13 24 不可以同時宕12 34

gluster volume create gv2 replica 2 transport tcp glusterfs-01:/bricks/brick1/gv2 glusterfs-02:/bricks/brick1/gv2 glusterfs-03:/bricks/brick1/gv2 glusterfs-04:/bricks/brick1/gv2

要創建帶有雙向鏡像的六節點分布式(復制)卷

gluster volume create test-volume replica 2 transport tcp server1:/exp1 server2:/exp2 server3:/exp3 server4:/exp4 server5:/exp5 server6:/exp6

 

創建分散卷:() 分散的容量基於擦除代碼。它跨卷中的多個塊對文件的編碼數據進行條帶化,並添加了一些冗余。您可以使用分散的卷以最低的空間浪費獲得可配置的可靠性

分散集中的所有磚塊應具有相同的容量,否則,當最小的磚塊變滿時,分散集中將不允許有其他數據,如果未指定冗余,則會自動將其計算為最佳值。如果此值不存在,則假定為" 1",並顯示警告消息,一般讓系統自動計算即可, 冗余必須大於0,並且磚的總數必須大於2 * 冗余。這意味着分散的體積必須至少包含3塊磚

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

 

 

 

  1. 創建一個卷

首先創建物理目錄(三台都要建立)

mkdir /bricks/brick1/gv0

選擇任意服務器執行創建卷命令

 

  1. 創建復制卷

gluster volume create gv0 replica 3 glusterfs-01:/bricks/brick1/gv0 glusterfs-02:/bricks/brick1/gv0 glusterfs-03:/bricks/brick1/gv0

 

 

 

 

  1. 測試卷是否正常

gluster volume info

應該看到類似於以下內容的結果:

Volume Name: gv0

Type: Replicate

Volume ID: 542ed25f-fca5-4303-9eef-ebd72d0f3d16

Status: Created

Snapshot Count: 0

Number of Bricks: 1 x 3 = 3

Transport-type: tcp

Bricks:

Brick1: glusterfs-01:/bricks/brick1/gv0

Brick2: glusterfs-02:/bricks/brick1/gv0

Brick3: glusterfs-03:/bricks/brick1/gv0

Options Reconfigured:

transport.address-family: inet

storage.fips-mode-rchecksum: on

nfs.disable: on

performance.client-io-threads: off

這個要提到的就是Status。狀態為Created 表示已創建該卷,但尚未啟動該卷,這將導致任何嘗試裝入該卷的嘗試均失敗

現在啟動此卷

gluster volume start gv0

現在可以看到狀態為啟動

Status: Started

 

 

  1. 客戶端掛載

安裝存儲庫

yum install centos-release-gluster

安裝glusterfs-server

yum install glusterfs-server -y

配置hosts

vim /etc/hosts

172.26.103.110 glusterfs-01

172.26.103.111 glusterfs-02

172.26.103.112 glusterfs-03

掛載

mkdir /mnt/gv0

mount -t glusterfs glusterfs-01:/gv0 /mnt/gv0

 

 

  1. 常用命令

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM