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}


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