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

最新のカーネル更新を有効にするためにノードを再起動します。

  1. 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
        },
      .....
    .....
  2. Heketi サービスを再起動します。

    # systemctl restart heketi
    注記

    heketi が Openshift クラスターで Pod として実行されている場合には、この手順は該当しません。

  3. gluster-block-provisoner-pod がすでに存在する場合は、以下のコマンドを実行してこれを削除します。

    # oc delete dc <gluster-block-dc>

    以下は例になります。

    # oc delete dc glusterblock-provisioner-dc
  4. 古い 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
  5. 以下のコマンドを実行して、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