Glusterfs的基礎知識與相關指令

一.集羣概念--Gluster

集羣”主要分爲高性能集羣HPC(High Performance Cluster)、高可用集羣HAC(High Availablity Cluster)和負載均衡集羣LBC(Load Balancing Cluster)。集羣文件系統是指協同多個節點提供高性能、高可用或負載均衡的文件系統,它是分佈式文件系統的一個子集,消除了單點故障和性能瓶問題。對於客戶端來說集羣是透明的,它看到是一個單一的全局命名空間,用戶文件訪問請求被分散到所有集羣上進行處理。此外,可擴展性(包括Scale-Up和 Scale-Out)、可靠性、易管理等也是集羣文件系統追求的目標。在元數據管理方面,可以採用專用的服務器,也可以採用服務器集羣,或者採用完全對等分佈的無專用元數據服務器架構。GlusterFSScale-Out存儲解決方案Gluster的核心,它是一個開源的分佈式文件系統,具有強大的橫向擴展能力,通過擴展能夠支持數PB存儲容量和處理數千客戶端。GlusterFS藉助TCP/IPInfiniBand RDMA網絡將物理分佈的存儲資源聚攏在一起,使用單一全局命名空間來管理數據,用戶文件訪問請求被分散到所有集羣上進行處理,採用完全對等分佈的無專用元數據服務器架構。


二.Gluster的Volume的種類與創建的指令

1.卷的種類

Distributed:分佈式卷,文件通過hash算法隨機的分佈到由bricks組成的捲上。

Replicated:複製式卷,類似raid1,replica數必須等於volume中brick所包含的存儲服務器數,可用性高。

Striped:條帶式卷,類似與raid0,stripe數必須等於volume中brick所包含的存儲服務器數,文件被分成數據塊,以Round Robin的方式存儲在bricks中,併發粒度是數據塊,大文件性能好。

Distributed Striped:分佈式的條帶卷,volume中brick所包含的存儲服務器數必須是stripe的倍數(>=2倍),兼顧分佈式和條帶式的功能。

Distributed Replicated:分佈式的複製卷,volume中brick所包含的存儲服務器數必須是 replica 的倍數(>=2倍),兼顧分佈式和複製式的功能。


2.卷的創建指令

** 創建分佈卷

gluster volume create Clouddisk server1:/gfs/disk1 server2:/gfs/disk1

** 創建複製卷

gluster volume create Clouddisk replica 2 server1:/gfs/disk1 server2:/gfs/disk1

** 創建條帶卷

gluster volume create Clouddisk stripe 2 server1:/gfs/disk1 server2:/gfs/disk1

**分佈條帶式卷

gluster volume create Clouddisk stripe 4 transport tcp server1:/gfs/disk1 server2:/gfs/disk1


**添加入信任存儲池(在服務器server1上)

gluster peer probe server2

gluster peer probe server3

gluster peer probe server4


**分佈複製式

gluster volume create Clouddisk replica 2 transport tcp server1:/gfs/disk1 server2:/gfs/disk1 server3:/gfs/disk1 server4:/gfs/disk1

**啓動卷

gluster volume start Clouddisk


** 如果以後要添加服務器,可以使用add-brick命令:

gluster volume add-brick Clouddisk server-5:/gfs/disk1 fs-server-6:/gfs/disk1

gluster volume remove-brick VOLNAME BRICK

注意:當你給分佈式複製卷和分佈式條帶卷中增加bricks時,你增加的bricks的數目必須是複製或者條帶數目的倍數,例如:你給一個分佈式複製卷的replica爲2,你在增加bricks的時候數量必須爲2、4、6、8等。

當移除分佈式複製卷或者分佈式條帶卷的時候,移除的bricks數目必須是replica或者stripe的倍數。例如:一個分佈式條帶卷的stripe是2,當你移除bricks的時候必須是2、4、6、8等。


**掛載glusterfs

mount -t glusterfs fs-server-1:/coluddisk /mnt/gfs
mount -t nfs fs-server-1:/clouddisk /mnt/gfs
mount -v -t nfs -o mountproto=tcp,vers=3 fs-server-1:/clouddisk /mnt/gfs-nfs


**在Server1上掛載,其他節點掛載一樣的方式

mount -t glusterfs localhost:/clouddisk -o backup-volfile-servers=server2:server3:server4 /cloudisk


三.Gluster相關排查指令

**檢查Volume的信息狀態

gluster volume info clouddisk


例子:

[root@controller01 ~]# gluster --remote-host=server3 volume info

Volume Name: openstack

Type: Distributed-Replicate

Volume ID: f01fc5c9-b2de-466f-b1ed-58e60260bf7e

Status: Started

Number of Bricks: 2 x 2 = 4

Transport-type: tcp

Bricks:

Brick1: server1:/gfs/disk1

Brick2: server2:/gfs/disk1

Brick3: server3:/gfs/disk1

Brick4: server4:/gfs/disk1

Options Reconfigured:

server.allow-insecure: on

storage.owner-gid: 107

storage.owner-uid: 107

network.remote-dio: enable

cluster.eager-lock: enable

performance.stat-prefetch: off

performance.io-cache: off

performance.read-ahead: off

performance.quick-read: off


**檢查每存儲節點狀態


例子:

[root@controller01 ~]# gluster --remote-host=server3 peer status

Number of Peers: 4


Hostname: server1

Uuid: 6951ef5e-4ce7-4c69-90dc-839c3c7b5cdf

State: Peer in Cluster (Connected)


Hostname: server2

Uuid: 7a795844-13f6-4c66-ad66-eb906a5ddcce

State: Peer in Cluster (Connected)


Hostname: server4

Uuid: bf0e5fca-56f2-427c-bc89-9db950e290d1

State: Peer in Cluster (Connected)


**啓動與關閉glusterd服務

systemctl {start/stop/restart} glusterd.service


**檢查Gluster的進程

ps ax | grep glu*


**殺掉所有Gluster進程

killall gluster{,d,fs,fsd}


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