Gluster 常用操作命令
- 1. 启动/关闭/查看glusterd服务
- 2. 为存储池添加/移除服务器节点
- 3. 查看所有节点的基本状态(显示的时候不包括本节点):
- 4. 查询volume 信息
- 5. [挂载分区](https://www.linuxprobe.com/mount-detail-parameters.html)
- 6. 客户端以glusterfs方式挂载
- 7. 创建/启动/停止/删除卷
- 8. 查看卷信息列出集群中的所有卷:
- 9. Server端创建复制卷
- 10. Client端操作(NFS挂载、GlusterFS挂载需安装不同包)
- 11. 配置卷# gluster volume set
- 12. GlusterFS逻辑卷(Volume)
- 13. 存储块Brick操作命令
- 14. Glusterd 启动失败,原因未知处理办法:
1. 启动/关闭/查看glusterd服务
systemctl start/stop/status glusterd
2. 为存储池添加/移除服务器节点
在其中一个节点上操作即可:
gluster peer probe <SERVER>
gluster peer detach <SERVER>
注意,移除节点时,需要提前将该节点上的Brick移除
3. 查看所有节点的基本状态(显示的时候不包括本节点):
gluster peer status
4. 查询volume 信息
gluster volume/vol info 可以查询出volume name 等信息
5. 挂载分区
mount [-t vfstype] [-o options] device dir
* -t vfstype 指定文件系统的类型,通常不必指定,mount 会自动选择正确的类型。
* -o options 主要用来描述设备或档案的挂接方式。
mount -t ext4 /dev/sdd1 /mnt/brick1 是指定ext4 的格式将/dev/sdd1 下的文件或镜像挂载到 /mnt/brick1 目录下
6. 客户端以glusterfs方式挂载
mount -t glusterfs 😕
mount -t glusterfs server1:gv4 /mnt 是指的是挂载形式是glusterfs卷, 将server1下的gv4 volume 挂载到 /mnt 目录下
挂载的好处是可以将磁盘或者镜像等存储文件指定到一定路径,可以对其进行操作
对于OpenStack,计算和控制节点都要挂载/var/lib/nova/instances,控制节点还要挂载/var/lib/glance/images。
7. 创建/启动/停止/删除卷
gluster volume create [stripe | replica ] [transport [tcp | rdma | tcp,rdma]] …
gluster volume start
gluster volume stop
gluster volume delete
8. 查看卷信息列出集群中的所有卷:
gluster volume list
查看集群中的卷信息:
gluster volume info [all]
查看集群中的卷状态:
gluster volume status [all]
gluster volume status [detail| clients | mem | inode | fd
]
查看本节点的文件系统信息:
df -h []
查看本节点的磁盘信息:fdisk -l
9. Server端创建复制卷
gluster volume create volumeName replica 2 192.168.1.1:/data/volume1 192.168.1.2:/data/volume1
gluster volume start vN
gluster volume quota volumeName enable # 开启限额
gluster volume set volumeName nfs.disable off #如果使用NFS协议挂载
gluster volume quota volumeName limit-usage / 50GB
gluster volume quota volumeName list
10. Client端操作(NFS挂载、GlusterFS挂载需安装不同包)
yum -y install glusterfs glusterfs-fuse
yum -y install nfs-utils
mount -t glusterfs 192.168.1.1:volumeName /dirname #使用GlusterFS协议挂载
mount -t nfs 192.168.1.1:volumeName /dirname #使用NFS协议挂载
# 将server 端 的gluster 卷挂载到client 端,这样操作可以在client 端进行
11. 配置卷# gluster volume set
`例如允许192.168.0.*网段的主机访问rep-volume:
gluster volume set rep-volume auth.allow 192.168.0.*`
12. GlusterFS逻辑卷(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:/data
Creation of dis-volume has been successful
Please start the volume to access data.
查看逻辑卷状态:
gluster volume info
Volume Name: dis-volume
Type: Distribute
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
创建Replicated逻辑卷
创建Replicated逻辑卷创建一个名字为rep-volume,包含两个存储块,使用TCP协议的Replicated逻辑卷:
gluster volume create rep-volume replica 2 transport tcp server1:/data server2:/data
Creation of rep-volume has been successfu
Please start the volume to access data
创建Striped逻辑卷
创建一个名字为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.
注意:
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.*
13. 存储块Brick操作命令
gluster volume add-brick
注意,如果是复制卷或者条带卷,则每次添加的Brick数必须是replica或者stripe的整数倍。
比如:
gluster vol add-brick gv4 {10.237.44.178,10.237.44.144,10.237.44.47}:/data1/nfs
增加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
删除Brick
在rep-volume卷中删除存储块server3:/data:
gluster volume remove-brick rep-volume server3:/data
执行rebalance命令:
gluster volume rebalance rep-volume start
Starting rebalancing on volume rep-volume has been successful
14. Glusterd 启动失败,原因未知处理办法:
rm -rf /var/lib/glusterd/* systemctl start glusterd