Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1520469
  • 博文数量: 230
  • 博客积分: 474
  • 博客等级: 下士
  • 技术积分: 1955
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-19 18:40
文章分类

全部博文(230)

文章存档

2020年(3)

2019年(3)

2018年(12)

2017年(13)

2016年(11)

2015年(55)

2014年(74)

2013年(39)

2012年(2)

2011年(18)

我的朋友

分类: LINUX

2014-04-21 14:43:54

GlusetrFS命令解析
1,The hostnames used to create the storage pool must be resolvable by DNS. Also make sure that firewall is not blocking the probe requests/replies. (iptables -F)
To add a server to the storage pool:
添加一个服务器加入到存储池中,前提是他们能被DNS服务器解析到。让你的防火墙能够通过probe requests/replies :
gluster peer probe server
2.反向操作,删除一个服务器从存储池中。
gluster peer detach server4
3建立一个卷
gluster volume create NEW-VOLNAME [stripe COUNT | replica COUNT]
[transport [tcp | rdma | tcp,rdma]] NEW-BRICK1 NEW-BRICK2 NEW-BRICK3...
分布式:
gluster volume create NEW-VOLNAME [transport [tcp | rdma | tcp,rdma]]
NEW-BRICK...
For example, to create a distributed volume with four storage servers using tcp:
# gluster volume create test-volume server1:/exp1 server2:/exp2 server3:/exp3 server4:/
exp4
复制式:
gluster volume create NEW-VOLNAME [replica COUNT] [transport [tcp |
rdma | tcp,rdma]] NEW-BRICK...
For example, to create a replicated volume with two storage servers:
# gluster volume create test-volume replica 2 transport tcp server1:/exp1 server2:/exp2
条带式:
gluster volume create NEW-VOLNAME [stripe COUNT] [transport [tcp |
rdma | tcp,rdma]] NEW-BRICK...
For example, to create a striped volume across two storage servers:
# gluster volume create test-volume stripe 2 transport tcp server1:/exp1 server2:/exp2
分布条带式:
gluster volume create NEW-VOLNAME [stripe COUNT] [transport [tcp |
rdma | tcp,rdma]] NEW-BRICK...
For example, to create a distributed striped volume across eight storage servers:
# gluster volume create test-volume stripe 4 transport tcp server1:/exp1 server2:/exp2
分布复制式:
gluster volume create NEW-VOLNAME [replica COUNT] [transport [tcp |
rdma | tcp,rdma]] NEW-BRICK...
For example, four node distributed (replicated) volume with a two-way mirror:
# gluster volume create test-volume replica 2 transport tcp server1:/exp1 server2:/exp2
For example, to create a six node distributed (replicated) volume with a two-way mirror:
# gluster volume create test-volume replica 2 transport tcp server1:/exp1 server2:/exp2
 
三合一:
Create a distributed striped replicated volume using the following command:
# gluster volume create NEW-VOLNAME [stripe COUNT] [replica COUNT]
[transport [tcp | rdma | tcp,rdma]] NEW-BRICK...
For example, to create a distributed replicated striped volume across eight storage servers:
# gluster volume create test-volume stripe 2 replica 2 transport tcp server1:/exp1
 
复制条带:
gluster volume create NEW-VOLNAME [stripe COUNT] [replica COUNT]
[transport [tcp | rdma | tcp,rdma]] NEW-BRICK...
For example, to create a striped replicated volume across four storage servers:
# gluster volume create test-volume stripe 2 replica 2 transport tcp server1:/exp1
gluster volume create test-volume stripe 3 replica 2 transport tcp server1:/exp1
 
启动数据卷:
gluster volume start VOLNAME
For example, to start test-volume:
# gluster volume start test-volume
4.客户端管理:
本地挂在目录到分布式文件存储:
mount -t glusterfs server1:/test-volume /mnt/glusterfs
5.管理数据卷:
Tune volume options using the following command:
# gluster volume set VOLNAME OPTION PARAMETER
For example, to specify the performance cache size for test-volume:
# gluster volume set test-volume performance.cache-size 256MB
下面是应该是张表
 
auth.allow   哪些IP地址能够访问volume  默认是全部都可以访问  
Valid IP address which
includes wild card
patterns including *,
such as 192.168.1.*
auth.reject  哪些是IP地址拒绝访问volume 默认是没有  
Valid IP address which
includes wild card
patterns including *,
such as 192.168.2.*
client.grace-timeout 当客户端网络断开的时候最多多长时间能保持会话 默认是10 可选范围是
10 - 1800 secs
cluster.self-heal-window-size 指定在自我修复的时候最大数量的可用broick 默认是16 可选范围是
0 - 1025 blocks
cluster.data-self-heal-algorithm 指定修复算法,diff是差异修复,full是全修复,reset 是重置修复。
范围是 diff full reset
cluster.min-free-disk  指定硬盘的最大空余 默认是10%范围是 
cluster.stripe-block- size  指定单元的条带block大小将被读取和写入 默认是128K,可选范围是可用的
cluster.self-heal-daemon 允许自我关闭和开启自我修复 默认是打开的, 可选Off
diagnostics.brick-log-level 更改brick的日志等级,默认是INFO,可选范围是
DEBUG|WARNING|
ERROR|CRITICAL|
NONE|TRACE
diagnostics.client-log-level 更改客户日志等级,默认是INFO 可选范围是
DEBUG|WARNING|
ERROR|CRITICAL|
NONE|TRACE
diagnostics.latency-measurement 每个操作的延迟相关的统计数据将被跟踪。 默认是off ,可选范围是on 
diagnostics.dump-fd-stats  统计相关的文件操作都被跟踪。默认是Off,可选范围是On
feature.read-only  所有mount默认的客户端都将会用只读模式来察看文件 默认是off 可选范围是On
features.lock-heal 当网络断开的时候能自我修复 默认是打开,可选OFF
features.quota-timeout 
出于性能方面的考虑,配额在客户端高速缓存目录的大小。您可以设置
超时显示目录大小的高速缓存中的最长持续时间,从时间
他们被填充,在此期间,他们被认为是有效的。默认是 0 范围是 0 ~3600
geo-replication.indexing 此选项用于选择同步是主服务器还是从服务器 默认是On 可选OFF
network.frame-timeout 时间超时 默认是1800(30 min)可选范围是1800
network.ping-timeout 
等待检查,如果服务器响应客户端的持续时间。当ping超时发生时,有一个客户端和服务器之间的网络连接断开。代表的客户端服务器上的所有资源得到清理。当重新连接时,所有的资源将需要重新收购之前,客户端可以在服务器上恢复其业务。此外,被收购的锁和更新锁表。这重新连接是非常昂贵的操作,并应
被避免。默认是42sec 可选是42sec
NFS之间配置以后再补充
performance.write-behind-window-size 每个文件写入之后的缓冲区大小 默认1MB 可选范围是随意
performance.io-thread-count 在线的IO线程数量 默认是 16个,实际上可以是65个。
performance.flush-behind 
如果此选项设置为ON,指示写后面的翻译进行冲洗的背景下,成功返回(或任何错误,如果以前写
失败)即使冲洗前发送到后端文件系统的应用程序 默认是on 可选是OFF
performance.cache-max-file-size 
设置缓存的最大文件大小的IO缓存翻译。可以正常使用了
大小描述,KB,MB,GB,TB或PB(例如,6GB)。最大尺寸UINT64。
默认 2 ^ 64 -1 bytes。
performance.cache-min-file-size 和上面的相反
performance.cache-refresh-timeout 1秒钟以内的请求数据都会被缓存起来默认是 1 可选是范围1~61sec
performance.cache-size 读取区的缓存,默认是32MB 
server.allow-insecure 允许客户使用非特权端口进入,默认的是On 
server.grace-timeout 
server.statedump-path 状态文件的转储。 
/tmp directory of the New directory path
brick 
默认是/tmp



###  Installing Gluster
wget -P /etc/yum.repos.d http://download.gluster.org/pub/gluster/glusterfs/LATEST/EPEL.repo/glusterfs-epel.repo
yum install glusterfs{-fuse,-server}

# 查看gluster版本信息
glusterfs -V
# 启动停止服务
service glusterd start
service glusterd stop
# 存储主机加入信任存储池
gluster peer probe fs-server-2
gluster peer probe fs-server-3
# 查看状态
gluster peer status
# 五中类型的volume可以被创建:
    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倍),兼顾分布式和复制式的功能。
# 创建分布卷
gluster volume create gv0 fs-server-1:/data/gfs fs-server-2:/data/gfs
# 创建复制卷
gluster volume create gv0 replica 2 fs-server-1:/data/gfs fs-server-2:/data/gfs
# 创建条带卷
gluster volume create gv0 stripe 2 fs-server-1:/data/gfs fs-server-2:/data/gfs
# 启动卷
gluster volume start gv0
# 查看卷
gluster volume info gv0
#如果以后要添加服务器,可以使用add-brick命令:
gluster volume add-brick gv0 fs-server-3:/data/gfs fs-server-4:/data/gfs
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:/gv0 /mnt/gfs
mount -t nfs fs-server-1:/gv0 /mnt/gfs
mount -v -t nfs -o mountproto=tcp,vers=3 fs-server-1:/gv0 /mnt/gfs-nfs




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

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

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

the Internet.

 

Monitoring your GlusterFS Workload

1 Running GlusterFS Volume Profile Command

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

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

  gluster volume profile VOLNAME start

 然后查看相关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 real calls

  查看打开的fd

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

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

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

  查看次数最多的写调用

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

 查看次数最多的目录调用

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

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

 查看每个brick的读性能

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

 查看每个brick的写性能

  gluster volume top VOLNAME write-perf [bs blk-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 [/directory name]

 

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

gluster volume set VOLNAME features.quota-timeout value

消除磁盘限制

gluster volume quota VOLNAME remove /directory name

阅读(6180) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~