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中,并发粒度是数据块,大文件性能好。tcp

Distributed Striped:分布式的条带卷,volume中brick所包含的存储服务器数必须是stripe的倍数(>=2倍),兼顾分布式和条带式的功能。分布式

Distributed Replicated:分布式的复制卷,volume中brick所包含的存储服务器数必须是 replica 的倍数(>=2倍),兼顾分布式和复制式的功能。ide


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的时候数量必须为二、四、六、8等。

当移除分布式复制卷或者分布式条带卷的时候,移除的bricks数目必须是replica或者stripe的倍数。例如:一个分布式条带卷的stripe是2,当你移除bricks的时候必须是二、四、六、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}

相关文章
相关标签/搜索