GlusterFS之管理工具heketi
1. Heketi介绍
Heketi为管理GlusterFS存储卷的生命周期提供了一个RESTful管理接口
自动确定整个集群的brick位置,并确保brick及其副本放置在不同的故障域中
支持任意数量的Gluster存储集群,并支持云服务提供网络文件存储
在Heketi中注册的任何磁盘都必须以原始格式提供,而不能是创建过文件系统的磁盘分区

2. 集群环境
| 系统 | IP | 主机名称 | 磁盘 | 角色 |
| CentOS7.4 | 172.16.1.187 | GFS-Client | /dev/sdb | GFS-Client |
| CentOS7.4 | 172.16.1.96 | node4 | /dev/sdb | GFS-Server/Heketi |
| CentOS7.4 | 172.16.1.97 | node3 | /dev/sdb | GFS-Server |
| CentOS7.4 | 172.16.1.98 | node2 | /dev/sdb |
GFS-Server |
| CentOS7.4 | 172.16.1.99 | node1 | /dev/sdb |
GFS-Server |
3. 部署heketi
1. 安装heteki服务
yum install heketi heketi-client -y
2. 配置heketi用户能够基于SSH密钥认证的方式连接至GlusterFS集群各节点
[root@gluster-server01 ~]# ssh-keygen -f /etc/heketi/heketi_key -t rsa -N ''
[root@gluster-server01 ~]# chown heketi:heketi /etc/heketi/heketi*
[root@gluster-server01 ~]# for host in node{2..5}; do ssh-copy-id -i /etc/heketi/heketi_key.pub root@${host} ;done
3. 修改heketi的主配置文件
{
"port": "8080",
"use_auth": true,
"jwt": {
"admin": {
"key": "123.com"
},
"user": {
"key": "123456"
}
},
"glusterfs": {
"executor": "ssh",
"sshexec": {
"keyfile": "/etc/heketi/heketi_key",
"user": "root",
"port": "22",
"fstab": "/etc/fstab"
},
"db": "/var/lib/heketi/heketi.db",
"loglevel" : "debug"
}
}
4. 启动heketi服务
systemctl enable heketi systemctl start heketi
5. 向heketi发起测试请求
[root@node4 ~]# curl http://node4:8080/hello Hello from Heketi
4. 设置heketi系统拓扑
1. 编辑拓扑文件
vi topolgy.json
{
"clusters": [
{
"nodes": [
{
"node": {
"hostnames": {
"manage": [
"172.16.1.96"
],
"storage": [
"172.16.1.96"
]
},
"zone": 1
},
"devices": [
"/dev/mapper/centos-gluster_data"
]
},
{ "node": {
"hostnames": {
"manage": [
"172.16.1.97"
],
"storage": [
"172.16.1.97"
]
},
"zone": 1
},
"devices": [
"/dev/mapper/centos-gluster_data"
]
},
{ "node": {
"hostnames": {
"manage": [
"172.16.1.98"
],
"storage": [
"172.16.1.98"
]
},
"zone": 1
},
"devices": [
"/dev/sdb"
]
},
{ "node": {
"hostnames": {
"manage": [
"172.16.1.99"
],
"storage": [
"172.16.1.99"
]
},
"zone": 1
},
"devices": [
"/dev/sdb"
]
}
]
}
]
}
2. 加载拓扑文件
heketi-cli --user admin --secret 123.com topology load --json=topolgy.json
都出现OK,就是加载成功了。
3. 根据生成的随机Cluster ID号查看集群状态信息
heketi-cli cluster info 34be103e76c2254779d3c0dbd029acbd #注意是第一行的cluster ID
5. Heketi使用
1. 创建卷
heketi-cli volume create --size=6000 --replica=2 # 创建一个6000G的磁盘,副本数为2,时间大概2-3分钟。
2. 客户端挂载卷
mount -t glusterfs node4:vol_9f2dde345a9b7566f8134c3952251d7a /gluster_data/test #vol_9f2dde345a9b7566f8134c3952251d7a创建卷的时候的name
3. 删除卷
heketi-cli volume delete 9f2dde345a9b7566f8134c3952251d7a #创建信息中的Volume Id

浙公网安备 33010602011771号