Heketi-GlusterFSクラスタ管理ツール
7500 ワード
作者:石文时间:2009-01-13
Heketiは、glusterFSクラスタのボリューム作成、削除などの操作を管理できるGlusterfs管理ソフトウェアです.
HeketiがGlusterFSクラスタを管理するには、次の点に注意してください. GlusterFSクラスタの各peerには、ファイルシステムがインストールされていないディスクデバイス(ディスクデバイスがフォーマットされていない) が必要です. GlusterFSクラスタの各peerのポート番号は少なくできません.そうしないと、peer上のbrickがポート番号を使い切った後、ボリューム を作成できません. GlusterFSの各peerはクラスタを構成することができず、Heketiはクラスタの組合せを自己作成することができる.
Heketiのインストール手順: rpmパッケージを使用してインストール: プロファイル:プロファイルの場所:/etc/heketi/heketi.jsonプロファイルの例: 正常に動作するかどうかを確認し、次のコマンドを実行します: HeketiとGlusterFSの各ノードは信頼関係を構成する注意:Heketi非密登録GlusterFSクラスタの各ノードを構成することであり、Heketiプロファイルのキーがこのように書かれている場合、以下のように構成することができる.ディレクトリ/etc/heketiを作成(作成しなくてもよいし、任意のディレクトリでもよい) heketi鍵ペア を生成する鍵を生成する公開鍵をGlsterFSクラスタの各peerのファイルに にインポートする.
heketi-clientによるGlusterFSクラスタ情報のHeketiへのインポート
heketi-clientのインストール: rpmで を取り付ける.プロファイル:/etc/heketi/topology.json(ファイルは事前に作成する必要があります) は、GlusterFSクラスタ情報 をheketiに送信する.
クラスタの拡張方法/etc/heketi/topology.jsonファイル情報を再構成し、heketiにインポートすれば拡張できます. はaddコマンドによりクラスタ拡張 とすることもできる.
Heketiを使用したGlusterFSクラスタの管理新しいheketidbstorageデータベース(heketi GLusterFSクラスタのディスク領域情報などのリソース使用状況を記録するためのデータベース) GlusterFSクラスタの情報を表示する その他の共通コマンド
実際の導入で発生した問題 heketi-client GlusterFSクラスタ構成情報のインポート時に発生した問題が正常である場合の出力ログ:
ディスク・ファイル・システムが既に存在する場合のエラー・ログ
ノードがすでに他のクラスタに存在する場合のエラー heketiを使用してボリュームを作成すると、作成に失敗した後にどのようにheketiが記録するノード空間が減少し、解放できません.ボリューム情報も見えません.最終的な結果は,ノード空間表示が多く用いられたが,何の使用も見られなかった.これはバグではありませんか?
参考資料:
https://github.com/heketi/heketi/blob/master/docs/admin/topology.md
Heketiは、glusterFSクラスタのボリューム作成、削除などの操作を管理できるGlusterfs管理ソフトウェアです.
HeketiがGlusterFSクラスタを管理するには、次の点に注意してください.
Heketiのインストール手順:
rpm -ivh heketi-7.0.0-1.el7.x86_64.rpm
{
# 8080
"port": "8088",
#
"use_auth": false,
#glusterfs
"glusterfs": {
"executor": "ssh",
"sshexec": {
"keyfile": "/etc/heketi/heketi_key",
"user": "root"
},
"db": "/heketidb/heketi.db",
"loglevel" : "debug"
}
}
curl http://localhost:8088/hello
戻り値正常:Hello from Heketi
"glusterfs": {
"executor": "ssh",
"sshexec": {
"keyfile": "/etc/heketi/heketi_key",
"user": "root"
},
"db": "/heketidb/heketi.db",
"loglevel" : "debug"
}
mkdir /etc/heketi
ssh-keygen -f /etc/heketi/heketi_key -t rsa -N ''
heketi-clientによるGlusterFSクラスタ情報のHeketiへのインポート
heketi-clientのインストール:
rpm -ivh /export/servers/heketi-client-7.0.0-1.el7.x86_64.rpm
{
"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"
]
}
]
}
]
}
heketi-cli --server http://localhost:8088 topology load --json=/etc/heketi/topology.json
クラスタの拡張方法
Heketiを使用したGlusterFSクラスタの管理
heketi-cli --server http://localhost:8088 setup-openshift-heketi-storage
#
heketi-cli --server http://localhost:8088 cluster list
#
heketi-cli --server http://localhost:8088 cluster info
#
heketi-cli --server http://localhost:8088 node info
#
heketi-cli --server http://localhost:8088 volume list
#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
実際の導入で発生した問題
#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
参考資料:
https://github.com/heketi/heketi/blob/master/docs/admin/topology.md