可信存储池(Trusted Storage Pool)
创建存储池
例如要创建一个包含3个服务器的存储池,则需要从第一个服务器server1中把另外两个服务器加入存储池中:
# gluster peer probe server2Probe successful# gluster pool peer server3Probe successful
查看存储池状态:
# gluster peer statusNumber of Peers: 2Hostname: server2.quenywell.comUuid: 86bd7b96-1320-4cd5-b3e1-e537d06dd5f7State: Peer in Cluster (Connected)Hostname: server3.quenywell.comUuid: c191b17b-ab9d-4b15-a70d-dcc92be067c9State: Peer in Cluster (Connected)从存储池移除服务器
假设要把server3从存储池里删除,可以使用以下命令:
# gluster peer detach server3Detach successfulGlusterFS逻辑卷(Volume)
逻辑卷由一个或多个存储块(Brick)组成,每个存储块对应存储池中的一个目录。
GlusterFS的基本类型有三个,分别是分散存储(Distributed,将不同的文件放在不同的存储块)、镜像存储(Replicated,同一个文件存放在两个以上的存储块,相当于RAID1) 和分片存储(Striped,将一个文件分划分为多个固定长度的数据,分散存放在所有存储块,相当于RAID0)。另外Distributed也可以跟Replicated和Striped组合形成新的类型。建立GlusterFS逻辑卷的基本语法:# gluster volume create[stripe] [replica] [device vg] [transport]...
创建Distributed逻辑卷
创建一个名字为dis-volume、包含两个存储块、使用TCP协议的Distributed逻辑卷:
# gluster volume create dis-volume server1:/data server2:/dataCreation of dis-volume has been successfulPlease start the volume to access data.
查看逻辑卷状态:
# gluster volume info Volume Name: dis-volumeType: DistributeVolume ID: 5429d6c1-44e5-43ad-a495-0a1f5b6d774bStatus: StartedNumber of Bricks: 1 x 2 = 2Transport-type: tcpBricks:Brick1: server1.quenywell.com:/dataBrick2: server2.quenywell.com:/data创建Replicated逻辑卷
创建一个名字为rep-volume,包含两个存储块,使用TCP协议的Replicated逻辑卷:
# gluster volume create rep-volume replica 2 transport tcp server1:/data server2:/dataCreation of rep-volume has been successfulPlease start the volume to access data.创建Striped逻辑卷
创建一个名字为strip-volume,包含两个存储块,使用TCP协议的Striped逻辑卷:
# gluster volume create strip-volume stripe 2 transport tcp server1:/data server2:/dataCreation of strip-volume has been successfulPlease start the volume to access data.GlusterFS逻辑卷权限控制(可选,非必须)
可以给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.*启动GlusterFS逻辑卷
注意:逻辑卷在使用前必须先启动!
基本语法:# gluster volume start
例如要启动rep-volume:
# gluster start rep-volumeStarting rep-volume has been successful查看GlusterFS逻辑卷状态
基本语法:
# gluster volume info
例如要查看rep-volume状态:
# gluster volume info rep-volume Volume Name: rep-volumeType: ReplicateVolume ID: 5429d6c1-44e5-43ad-a495-0a1f5b6d774bStatus: StartedNumber of Bricks: 1 x 2 = 2Transport-type: tcpBricks:Brick1: server1.quenywell.com:/dataBrick2: server2.quenywell.com:/data停止GlusterFS逻辑卷
# gluster volume stop rep-volumeStopping volume will make its data inaccessible. Do you want to continue? (y/n)
输入y然后按回车键(Enter),将会出现如下信息:
Stopping volume rep-volume has been successful删除GlusterFS逻辑卷
# gluster volume delete rep-volumeDeleting volume will erase all information about the volume. Do you want to continue? (y/n)
输入y然后按回车键(Enter),将会出现如下信息:
Deleting volume test-volume has been successful存储块Brick操作命令
增加Brick
在rep-volume卷中增加一个存储块server3:/data:
# gluster volume add-brick rep-volume server3:/dataAdd Brick successful
重要:每次操作存储块之后都必须执行一次rebalance命令!
# gluster volume rebalance rep-volume startStarting rebalancing on volume rep-volume has been successful删除Brick
在rep-volume卷中删除存储块server3:/data:
# gluster volume remove-brick rep-volume server3:/dataRemoving 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 startStarting rebalancing on volume rep-volume has been successful