8.2.3.2. Gluster ブロックのアップグレード
以下の手順を実行して、glusterブロックをアップグレードします。
ブロックストレージに推奨される Red Hat Enterprise Linux(RHEL)バージョンは RHEL 7.5.4 です。カーネルのバージョンが 3.10.0-862.14.4.el7.x86_64 と一致していることを確認してください。確認するには、以下を実行します。
# uname -r
最新のカーネル更新を有効にするためにノードを再起動します。
gluster ブロックを使用するには、/etc/heketi/heketi.JSON の heketi 設定ファイルの
glusterfs
セクションに、以下の 2 つのパラメーターを追加します。auto_create_block_hosting_volume block_hosting_volume_size
ここで、
auto_create_block_hosting_volume
: 見つからない場合や、既存のボリュームが使い切った場合には、ブロックホストが自動的に作成されます。この機能を有効にするには、値をtrue
に設定します。block_hosting_volume_size
: 上記のサイズで、ボリュームをホストする新しいブロックが作成されます。これは、auto_create_block_hosting_volume が true に設定されている場合にのみ考慮されます。推奨されるサイズは 500G です。以下は例になります。
..... ..... "glusterfs" : { "executor" : "ssh", "db" : "/var/lib/heketi/heketi.db", "sshexec" : { "rebalance_on_expansion": true, "keyfile" : "/etc/heketi/private_key" }, "auto_create_block_hosting_volume": true, "block_hosting_volume_size": 500G }, ..... .....
Heketi サービスを再起動します。
# systemctl restart heketi
注記heketi が Openshift クラスターで Pod として実行されている場合には、この手順は該当しません。
gluster-block-provisoner-pod がすでに存在する場合は、以下のコマンドを実行してこれを削除します。
# oc delete dc <gluster-block-dc>
以下は例になります。
# oc delete dc glusterblock-provisioner-dc
古い Pod から以下のリソースを削除します。
glusterfs Pod がある場合:
# oc delete clusterroles.authorization.openshift.io glusterblock-provisioner-runner
# oc delete serviceaccounts glusterblock-provisioner serviceaccount "glusterblock-provisioner" deleted # oc delete clusterrolebindings.authorization.openshift.io glusterblock-provisioner
レジストリー Pod がある場合:
# oc delete clusterroles.authorization.openshift.io glusterblock-provisioner-runner
# oc delete serviceaccounts glusterblock-provisioner serviceaccount "glusterblock-provisioner" deleted # oc delete clusterrolebindings.authorization.openshift.io glusterblock-provisioner
以下のコマンドを実行して、gluster-block プロビジョナーをデプロイします。
# sed -e 's/\\\${NAMESPACE}/<NAMESPACE>/' /usr/share/heketi/templates/glusterblock-provisioner.yaml | oc create -f -
# oc adm policy add-cluster-role-to-user glusterblock-provisioner-runner system:serviceaccount:<NAMESPACE>:glusterblock-provisioner
以下は例になります。
# sed -e 's/\\\${NAMESPACE}/storage-project/' /usr/share/heketi/templates/glusterblock-provisioner.yaml | oc create -f -
# oc adm policy add-cluster-role-to-user glusterblock-provisioner-runner system:serviceaccount:storage-project:glusterblock-provisioner