调整volume的参数

集群”主要分为高性能集群HPC(High Performance Cluster)、高可用集群HAC(High AvailablityCluster)和负载均衡集群LBC(Load BalancingCluster)。集群文件系统是指协同多个节点提供高性能、高可用或负载均衡的文件系统,它是分布式文件系统的一个子集,消除了单点故障和性能瓶问题。对于客户端来说集群是透明的,它看到是一个单一的全局命名空间,用户文件访问请求被分散到所有集群上进行处理。此外,可扩展性(包括Scale-Up和Scale-Out)、可靠性、易管理等也是集群文件系统追求的目标。在元数据管理方面,可以采用专用的服务器,也可以采用服务器集群,或者采用完全对等分布的无专用元数据服务器架构。

gluster种类:
  根据实际需求选择distribute, stripe,replica及复合卷
1)Replicated:创建逻辑卷 
gluster volume create replica-volume replica 2 transport tcpserver1:/exp1 server2:/exp2
2)Distributed(可能导致一些数据丢失,因为没有副本)
gluster volume create replica-volume server1:/exp1server2:/exp2
3)Striped(高并发环境访问大文件)
gluster volume create replica-volume stripe 2 transport tcpserver1:/exp1
4)Distributed Replicated(能够提高读性能)
gluster volume create replica-volume replica 2 transport tcpserver1:/exp1
server2:/exp2 server3:/exp3 server4:/exp4
5)Distributed Striped
gluster volume create replica-volume stripe 4 transport tcpserver1:/exp1
server2:/exp2 server3:/exp3 server4:/exp4

命令:gluster volume set VOLNAME OPTION PARAMETER

 

Expanding Volumes

你可能想在线扩展卷的大小,例如:你想给分布式的卷中增加brick,以增加卷的容量。注意:当你给分布式复制卷和分布式条带卷中增加bricks时,你增加的bricks的数目必须是复制或者条带数目的倍数,例如:你给一个分布式复制卷的replica为2,你在增加bricks的时候数量必须为2、4、6、8等。

先把你想加入的存储服务器加入可信存储池中:

gluster peer probe HOSTNAME

然后再把该存储服务器上的cricks加入卷中:

gluster volume add-brick VOLNAME NEW-BRICK

接着查看卷信息

gluster volume info

最后要重新平衡一下卷上的文件,使新卷上也分布文件

 

Shrinking Volumes

你可能想在线缩小卷的大小,例如:当硬件损坏或者网络故障的时候,你可能想在卷中移除相关的bricks。注意:当你移除bricks的时候,你在gluster的挂载点将不能继续访问数据,只有配置文件中的信息移除后你才能继续访问bricks的数据。当移除分布式复制卷或者分布式条带卷的时候,移除的bricks数目必须是replica或者stripe的倍数。例如:一个分布式条带卷的stripe是2,当你移除bricks的时候必须是2、4、6、8等。

移除bricks:

gluster volume remove-brick VOLNAME BRICK

检查卷信息:

gluster volume info

重新平衡卷,确保所有的文件都分布在bricks中。

 

Migrating Volumes

你可能想在线迁移一个brick中的数据到另一个brick中。

首先确保把相关的存储服务器加入可信存储池中。

迁移数据到另一个brick中:

gluster volume replace-brick VOLNAME BRICKNEW-BRICK start

如果有需要,你在中途中可以暂停迁移

gluster volume replace-brick VOLNAME BRICK NEW-BRICK pause

如果有需要,你在中途中可以中断迁移

gluster volume replace-brick VOLNAME BRICK NEW-BRICK abort

检查brick迁移的进度状态

gluster volume replace-brick VOLNAME BRICK NEW-BRICK status

提交迁移数据从一个bricks到另一个brick

gluster volume replace-brick VOLNAME BRICK NEW-BRICK commit

 

Rebalancing Volumes

当你扩展或者缩小卷之后,需要重新在服务器直接重新平衡一下数据,重新平衡的操作被分为两个步骤:

1  Fix Layout

  修改扩展或者缩小后的布局,以确保文件可以存储到新增加的节点中。

2 Migrate Data

  重新平衡数据在新加入bricks节点之后。

* Fix Layout and Migrate Data

  先重新修改布局然后移动现有的数据(重新平衡)

 

你可以在在平衡过程中查看平衡信息:

gluster volume rebalance VOLNAME status

你也可以暂停平衡,再次启动平衡的时候会从上次暂停的地方继续开始平衡。

gluster volume rebalance VOLNAME stop

 

平衡布局是很有必要的,因为布局结构是静态的,当新的bricks加入现有卷,新创建的文件会分布到旧的bricks中,所以需要平衡布局结构,使新加入的bricks生效。布局平衡只是使新布局生效,并不会在新的布局移动老的数据,如果你想在新布局生效后,重新平衡卷中的数据,还需要对卷中的数据进行平衡。

gluster volume rebalance VOLNAME fix-layout start

gluster volume rebalance VOLNAME migrate-data start

也可以两步合一步同时操作

gluster volume rebalance VOLNAME start

你也可以删除/停止卷

gluster volume stop/delete VOLNAME

 

Triggering Self-Heal on Replicate

find gluster-mount -noleaf -print0 | xargs --null stat>/dev/null

 

Managing GlusterFS Geo-replication

 

GlusterFS Geo-replication provides a continuous, asynchronous, andincremental replication service

from one site to another over Local Area Networks (LANs), Wide AreaNetwork (WANs), and across

the Internet.

 

Monitoring your GlusterFS Workload

1 Running GlusterFS Volume Profile Command

  Profile Command 提供接口查看一个卷中的每一个brick的IO信息。

 在查看相关信息之前,现必须启动profiling:

  gluster volume profile VOLNAMEstart

 然后查看相关IO信息

 gluster volume profile VOLNAME info

 查看完毕后关闭Profiling

 gluster volume profile VOLNAME stop

2 Running GlusterFS Volume TOP Command

  Top command允许你查看bricks的性能例如:read, write, file open calls, file read calls,file write calls, directory open calls, and directory realcalls

  查看打开的fd

  gluster volume top VOLNAME open[brick BRICK-NAME] [list-cnt cnt]

  查看调用次数最多的读调用

 gluster volume top VOLNAME read [brickBRICK-NAME] [list-cnt cnt]

  查看次数最多的写调用

 gluster volume top VOLNAME write [brickBRICK-NAME] [list-cnt cnt]

 查看次数最多的目录调用

 gluster volume top VOLNAME opendir [brickBRICK-NAME] [list-cnt cnt]

 gluster volume top VOLNAME readdir [brickBRICK-NAME] [list-cnt cnt]

 查看每个brick的读性能

 gluster volume top VOLNAME read-perf [bs blk-sizecount count] [brick BRICK-NAME] [list-cnt cnt]

 查看每个brick的写性能

  gluster volume top VOLNAME write-perf [bsblk-size count count] [brick BRICK-NAME] [list-cnt cnt]

 

Managing Directory Quota

目录配额允许你在glusterfs中限制目录/卷使用的磁盘空间,存储管理员可以在目录级别或者卷级别控制磁盘的使用率。你甚至可以给一个还未创建的目录设置地盘限制,当相应的目录创建后,该磁盘限制会立即生效。

要使用配额,则必须首先在相应的卷上开启配额:

gluster volume quota VOLNAME enable

如果不需要配额,也可以关闭他

gluster volume quota VOLNAME disable

 

1 设置磁盘限制

gluster volume quota VOLNAME limit-usage /directorylimit-value

 显示卷的磁盘限制信息

 gluster volume quota VOLNAME list [/directoryname]

 

更新内存缓存大小,有时候为了性能的原因,quota caches the directory sizes on client。

gluster volume set VOLNAME features.quota-timeout value

消除磁盘限制

gluster volume quota VOLNAME remove /directory name

你可能感兴趣的:(glusterfs,分布式文件系统)