您的位置:首页 > 其它

Glusterfs的基础知识与相关指令

2015-11-13 16:04 288 查看
一.集群概念--Gluster
集群”主要分为高性能集群HPC(High Performance Cluster)、高可用集群HAC(High Availablity Cluster)和负载均衡集群LBC(Load Balancing Cluster)。集群文件系统是指协同多个节点提供高性能、高可用或负载均衡的文件系统,它是分布式文件系统的一个子集,消除了单点故障和性能瓶问题。对于客户端来说集群是透明的,它看到是一个单一的全局命名空间,用户文件访问请求被分散到所有集群上进行处理。此外,可扩展性(包括Scale-Up和 Scale-Out)、可靠性、易管理等也是集群文件系统追求的目标。在元数据管理方面,可以采用专用的服务器,也可以采用服务器集群,或者采用完全对等分布的无专用元数据服务器架构。GlusterFS是Scale-Out存储解决方案Gluster的核心,它是一个开源的分布式文件系统,具有强大的横向扩展能力,通过扩展能够支持数PB存储容量和处理数千客户端。GlusterFS借助TCP/IP或InfiniBand 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}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息