内容简介:Heketi是一个GlusterFs管理软件,可以管理glusterFS集群的卷创建、删除等操作。1.GlusterFS集群的各peer必须要有未安装文件系统的磁盘设备(磁盘设备未进行格式化)2.GlusterFS集群各peer的端口号不能太少,不然当peer上的brick将端口号用完后,会造成无法创建卷
Heketi是一个GlusterFs管理软件,可以管理glusterFS集群的卷创建、删除等操作。
Heketi管理GlusterFS集群需要注意:
1.GlusterFS集群的各peer必须要有未安装文件系统的磁盘设备(磁盘设备未进行格式化)
2.GlusterFS集群各peer的端口号不能太少,不然当peer上的brick将端口号用完后,会造成无法创建卷
3.GlusterFS的各peer不能组成集群,Heketi可以自创建集群组合。
Heketi安装步骤:
1.使用rpm包安装:
rpm -ivh heketi-7.0.0-1.el7.x86_64.rpm
2.配置文件:
配置文件位置:
/etc/heketi/heketi.json
配置文件示例:
{ #默认端口8080 "port": "8088", #不需要密码 "use_auth": false, #glusterfs集群配置信息 "glusterfs": { "executor": "ssh", "sshexec": { "keyfile": "/etc/heketi/heketi_key", "user": "root" }, "db": "/heketidb/heketi.db", "loglevel" : "debug" } }
3.检查是否正常运行,执行如下命令:
curl http://localhost:8088/hello
返回值正常:
Hello from Heketi
Heketi和GlusterFS各节点配置信赖关系
注意:就是配置Heketi免密登录GlusterFS集群各节点,当Heketi配置文件的<“glusterfs”>键如此写时,可以使用如下方式进行配置免密登录
"glusterfs": { "executor": "ssh", "sshexec": { "keyfile": "/etc/heketi/heketi_key", "user": "root" }, "db": "/heketidb/heketi.db", "loglevel" : "debug" }
1.创建目录/etc/heketi(也可以不创建,任意目录都行)
mkdir /etc/heketi
2.生成heketi秘钥对
ssh-keygen -f /etc/heketi/heketi_key -t rsa -N ''
3.将生成秘钥的公钥导入到GlsuterFS集群的各peer的</root/.ssh/authorized_keys>文件中
通过heketi-client 向Heketi导入GlusterFS集群信息
安装heketi-client:
1.使用rpm安装
rpm -ivh /export/servers/heketi-client-7.0.0-1.el7.x86_64.rpm
2.配置配置文件:/etc/heketi/topology.json(文件需要提前创建)
{ "clusters": [ { "nodes": [ { "node": { "hostnames": { "manage": [ "1.1.1.6" ], "storage": [ "1.1.1.6" ] }, "zone": 1 }, "devices": [ "/dev/sdb" ] }, { "node": { "hostnames": { "manage": [ "1.1.1.7" ], "storage": [ "1.1.1.7" ] }, "zone": 1 }, "devices": [ "/dev/sdb" ] }, { "node": { "hostnames": { "manage": [ "1.1.1.8" ], "storage": [ "1.1.1.8" ] }, #配置机柜感知 "zone": 1 }, "devices": [ "/dev/sdb" ] } ] } ] }
3.向heketi发送GlusterFS集群信息
heketi-cli --server http://localhost:8088 topology load --json=/etc/heketi/topology.json
如何给集群扩容?
- 重新配置/etc/heketi/topology.json文件信息后,导入到heketi中就可以扩容。
- 也可以通过<heketi-cli –server http://localhost:8088 node> add命令为集群扩容
使用Heketi管理GlusterFS集群
1.新建heketidbstorage数据库(heketi用于记录GLusterFS集群磁盘空间信息等资源使用情况的数据库)
heketi-cli --server http://localhost:8088 setup-openshift-heketi-storage
2.查看GlusterFS集群的信息
#集群列表 heketi-cli --server http://localhost:8088 cluster list #集群详细信息 heketi-cli --server http://localhost:8088 cluster info <cluster ID> #节点信息 heketi-cli --server http://localhost:8088 node info <node ID> #卷信息 heketi-cli --server http://localhost:8088 volume list
3.其他常用命令
#heketi支持如下命令 heketi-cli --server http://localhost:8088 -h blockvolume Heketi Volume Management cluster Heketi cluster management db Heketi Database Management device Heketi device management help Help about any command loglevel Heketi Log Level node Heketi Node Management setup-openshift-heketi-storage Setup OpenShift/Kubernetes persistent storage for Heketi topology Heketi Topology Management volume Heketi Volume Management #集群相关命令 heketi-cli --server http://localhost:8088 cluster -h create Create a cluster delete Delete the cluster info Retrieves information about cluster list Lists the clusters managed by Heketi setflags Set flags on a cluster #节点相关命令 heketi-cli --server http://localhost:8088 node -h add Add new node to be managed by Heketi delete Deletes a node from Heketi management disable Disallow usage of a node by placing it offline enable Allows node to go online info Retrieves information about the node list List all nodes in cluster remove Removes a node and all its associated devices from Heketi rmtags Removes tags from a node settags Sets tags on a node #卷相关命令 heketi-cli --server http://localhost:8088 volume -h clone Creates a clone create Create a GlusterFS volume delete Deletes the volume expand Expand a volume info Retrieves information about the volume list Lists the volumes managed by Heketi 其他的命令可以通过<-h>查看详细使用方式
实际部署中遇到的问题
1.heketi-client导入GlusterFS集群配置信息时遇到的问题
正常时的输出日志:
#heketi-cli topology load --json=topology-sample.json Creating cluster ... ID: 5b930ef6081fd22e895c25a3dfb0c516 Allowing file volumes on cluster. Allowing block volumes on cluster. Creating node 10.30.1.15 ... ID: b120572be40db6c1d979c3903876430b Adding device /dev/sdb ... OK Creating node 10.30.1.16 ... ID: 7ce13ffc5eabe64a3791e93233fd3c1a Adding device /dev/sdb ... OK Creating node 10.30.1.17 ... ID: f9abdc2e5d4cfa17c035a97f984a1a3b Adding device /dev/sdb ... OK
当磁盘文件系统已经存在时的错误日志
[root@10-211-105-109 heketi]# heketi-cli --server http://localhost:8088 topology load --json=/etc/heketi/topology.json Creating node 10.211.105.200 ... ID: 6c0476a0b495bc67c2e6b181ca2f0813 Adding device /dev/sda5 ... Unable to add device: Can't open /dev/sda5 exclusively. Mounted filesystem?
当节点是已经位于其他集群中时的报错
[root@10-211-105-109 heketi]# heketi-cli --server http://localhost:8088 topology load --json=/etc/heketi/topology.json Creating node 10.211.106.9 ... Unable to create node: peer probe: failed: 10.211.106.9 is either already part of another cluster or having volumes configured
2.当使用heketi创建卷时,创建失败后会怎样
heketi记录的节点空间会减少,并且无法释放。也看不到卷信息。最终的结果是节点空间显示使用了很多,但是看不到任何的使用情况。这会不会是一个BUG?
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- ES 集群管理工具 cerebro
- Spring Boot集群管理工具KafkaAdminClient
- repmgr 5.1 发布,PostgreSQL 集群复制管理与故障转移工具
- repmgr 4.4 发布,PostgreSQL 集群复制管理与故障转移工具
- repmgr 4.4发布,PostgreSQL 集群复制管理与故障转移工具
- 版本管理工具及 Ruby 工具链环境
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。