1.可信存储池(Trusted Storage Pool)
创建存储池
从存储池移除服务器
例如要创建一个包含3个服务器的存储池,则需要从第一个服务器server1中把另外两个服务器加入存储池中:
# gluster peer probe server2 Probe successful # gluster pool peer server3 Probe successful
查看存储池状态:
# gluster peer status Number of Peers: 2 Hostname: server2.quenywell.com Uuid: 86bd7b96-1320-4cd5-b3e1-e537d06dd5f7 State: Peer in Cluster (Connected) Hostname: server3.quenywell.com Uuid: c191b17b-ab9d-4b15-a70d-dcc92be067c9 State: Peer in Cluster (Connected)
假设要把server3从存储池里删除,可以使用以下命令:
# gluster peer detach server3 Detach successful
2.GlusterFS逻辑卷(Volume)
创建Distributed逻辑卷
创建Replicated逻辑卷
创建Striped逻辑卷
GlusterFS逻辑卷权限控制(可选,非必须)
启动GlusterFS逻辑卷
查看GlusterFS逻辑卷状态
停止GlusterFS逻辑卷
删除GlusterFS逻辑卷
逻辑卷由一个或多个存储块(Brick)组成,每个存储块对应存储池中的一个目录。
GlusterFS的基本类型有三个,分别是分散存储(Distributed,将不同的文件放在不同的存储块)、镜像存储(Replicated,同一个文件存放在两个以上的存储块,相当于RAID1) 和分片存储(Striped,将一个文件分划分为多个固定长度的数据,分散存放在所有存储块,相当于RAID0)。另外Distributed也可以跟Replicated和Striped组合形成新的类型。
建立GlusterFS逻辑卷的基本语法:
# gluster volume create[stripe] [replica] [device vg] [transport]...
创建一个名字为dis-volume、包含两个存储块、使用TCP协议的Distributed逻辑卷:
# gluster volume create dis-volume server1:/data server2:/data Creation of dis-volume has been successful Please start the volume to access data.
查看逻辑卷状态:
# gluster volume info Volume Name: dis-volumeType: DistributeVolume ID: 5429d6c1-44e5-43ad-a495-0a1f5b6d774b Status: Started Number of Bricks: 1 x 2 = 2 Transport-type: tcp Bricks: Brick1: server1.quenywell.com:/data Brick2: server2.quenywell.com:/data
创建一个名字为rep-volume,包含两个存储块,使用TCP协议的Replicated逻辑卷:
# gluster volume create rep-volume replica 2 transport tcp server1:/data server2:/data Creation of rep-volume has been successful Please start the volume to access data.
创建一个名字为strip-volume,包含两个存储块,使用TCP协议的Striped逻辑卷:
# gluster volume create strip-volume stripe 2 transport tcp server1:/data server2:/data Creation of strip-volume has been successful Please start the volume to access data.
可以给Gluster逻辑卷设置访问权限以增加安全性。可使用auth.allow和auth.reject允许或禁止特定IP地址访问逻辑卷,支持*通配符。例如:192.168.0.*、192.168.*、192.*都是符合规则的。
例如允许192.168.0.*网段的主机访问rep-volume:
# gluster volume set rep-volume auth.allow 192.168.0.*
注意:逻辑卷在使用前必须先启动!
基本语法:
# gluster volume start
例如要启动rep-volume:
# gluster start rep-volume Starting rep-volume has been successful
基本语法:
# gluster volume info
例如要查看rep-volume状态:
# gluster volume info rep-volume Volume Name: rep-volume Type: Replicate Volume ID: 5429d6c1-44e5-43ad-a495-0a1f5b6d774b Status: Started Number of Bricks: 1 x 2 = 2 Transport-type: tcp Bricks: Brick1: server1.quenywell.com:/data Brick2: server2.quenywell.com:/data
# gluster volume stop rep-volume Stopping volume will make its data inaccessible. Do you want to continue? (y/n)
输入y然后按回车键(Enter),将会出现如下信息:
Stopping volume rep-volume has been successful
# gluster volume delete rep-volume Deleting volume will erase all information about the volume. Do you want to continue? (y/n)
输入y然后按回车键(Enter),将会出现如下信息:
Deleting volume test-volume has been successful
3.存储块Brick操作命令
增加Brick
删除Brick
在rep-volume卷中增加一个存储块server3:/data:
# gluster volume add-brick rep-volume server3:/data Add Brick successful
重要:每次操作存储块之后都必须执行一次rebalance命令!
# gluster volume rebalance rep-volume start Starting rebalancing on volume rep-volume has been successful
在rep-volume卷中删除存储块server3:/data:
# gluster volume remove-brick rep-volume server3:/data Removing brick(s) can result in data loss. Do you want to Continue? (y/n)
输入y然后按回车键(Enter),将会出现如下信息:
Remove Brick successful
执行rebalance命令:
# gluster volume rebalance rep-volume start Starting rebalancing on volume rep-volume has been successful
转载自:http://quenywell.com/glusterfs-most-used-configuration-commands/
GlusterFS常用命令
1.启动/关闭/查看glusterd服务
# /etc/init.d/glusterd start # /etc/init.d/glusterd stop # /etc/init.d/glusterd status
2.开机自动启动glusterd服务
# chkconfig glusterd on # Red Hat # update-rc.d glusterd defaults # Debian # echo "glusterd" >>/etc/rc.local # Others
3.查看配置信息
# cat /etc/rc.local
4.为存储池添加/移除服务器节点
在其中一个节点上操作即可: # gluster peer probe <SERVER> # gluster peer detach <SERVER> 注意,移除节点时,需要提前将该节点上的Brick移除。 查看所有节点的基本状态(显示的时候不包括本节点): # gluster peer status
5.挂载分区
# mount -t ext4 /dev/sdd1 /mnt/brick1
6.创建/启动/停止/删除卷
#gluster volume create <NEW-VOLNAME>[stripe <COUNT> | replica <COUNT>] [transport [tcp | rdma | tcp,rdma]] <NEW-BRICK1> <NEW-BRICK2> <NEW-BRICK3> <NEW-BRICK4>... #gluster volume start <VOLNAME> #gluster volume stop <VOLNAME> #gluster volume delete <VOLNAME> 注意,删除卷的前提是先停止卷。
7.客户端以glusterfs方式挂载
# mount -t glusterfs <SERVER>:/<VOLNAME><MOUNTDIR> 对于OpenStack,计算和控制节点都要挂载/var/lib/nova/instances, 控制节点还要挂载/var/lib/glance/images。
8.查看卷信息
列出集群中的所有卷: # gluster volume list 查看集群中的卷信息: # gluster volume info [all] 查看集群中的卷状态: # gluster volume status [all] # gluster volume status <VOLNAME> [detail| clients | mem | inode | fd] 查看本节点的文件系统信息: # df -h [<MOUNT-PATH>] 查看本节点的磁盘信息: # fdisk -l
9.配置卷
# gluster volume set <VOLNAME> <OPTION> <PARAMETER>
10.扩展卷
# gluster volume add-brick <VOLNAME> <NEW-BRICK> 注意,如果是复制卷或者条带卷,则每次添加的Brick数必须是replica或者stripe的整数倍。
11.收缩卷
先将数据迁移到其它可用的Brick,迁移结束后才将该Brick移除: # gluster volume remove-brick <VOLNAME> <BRICK> start 在执行了start之后,可以使用status命令查看移除进度: # gluster volume remove-brick <VOLNAME> <BRICK> status 不进行数据迁移,直接删除该Brick: # gluster volume remove-brick <VOLNAME> <BRICK> commit 注意,如果是复制卷或者条带卷,则每次移除的Brick数必须是replica或者stripe的整数倍。
12.迁移卷
使用start命令开始进行迁移: # gluster volume replace-brick <VOLNAME> <BRICK> <NEW-BRICK> start 在数据迁移过程中,可以使用pause命令暂停迁移: # gluster volume replace-brick <VOLNAME> <BRICK> <NEW-BRICK> pause 在数据迁移过程中,可以使用abort命令终止迁移: # gluster volume replace-brick <VOLNAME> <BRICK> <NEW-BRICK> abort 在数据迁移过程中,可以使用status命令查看迁移进度: # gluster volume replace-brick <VOLNAME> <BRICK> <NEW-BRICK> status 在数据迁移结束后,执行commit命令来进行Brick替换: # gluster volume replace-brick <VOLNAME> <BRICK> <NEW-BRICK> commit
13.重新均衡卷
不迁移数据: # gluster volume rebalance <VOLNAME> lay-outstart # gluster volume rebalance <VOLNAME> start # gluster volume rebalance <VOLNAME> startforce # gluster volume rebalance <VOLNAME> status # gluster volume rebalance <VOLNAME> stop
14.系统扩展维护
开启/关闭系统配额: # gluster volume quota <VOLNAME> enable | disable 设置目录配额: # gluster volume quota <VOLNAME> limit-usage <DIR> <VALUE> 查看配额: # gluster volume quota <VOLNAME> list [<DIR>] 地域复制(geo-replication): # gluster volume geo-replication <MASTER> <SLAVE> start | status | stop IO信息查看: # gluster volume profile <VOLNAME> start | info | stop Top监控: Top命令允许你查看Brick的性能,例如:read,write, file open calls, file read calls, file write calls, directory opencalls, and directory real calls。所有的查看都可以设置 top数,默认100。 查看打开的 fd: # gluster volume top <VOLNAME> open[brick <BRICK>] [list-cnt <COUNT>] 其中,open可以替换为read, write, opendir, readdir等。 查看每个 Brick 的读性能: # gluster volume top <VOLNAME> read-perf [bs <BLOCK-SIZE> count <COUNT>] [brick <BRICK>] [list-cnt <COUNT>] 其中,read-perf可以替换为write-perf等
(相比原文改了一下排版,更方便阅读)