第3章 Gluster Storage for Oracle Linuxのアップグレード

この項では、リリース6、5、4.1、3.12などの以前のリリースからのGluster Storage for Oracle Linuxのリリース8へのアップグレードについて説明します。

アップグレードを実行する前に、Oracle Linux yumサーバー・リポジトリまたはULNチャネルを構成します。リポジトリまたはチャネルへのアクセスの設定の詳細は、2.3項「Gluster Storage for Oracle Linuxパッケージへのアクセスの有効化」を参照してください。

また、以前のリリースのGluster Storage for Oracle Linuxリポジトリおよびチャネルを無効にしてください。

  • リリース6。ol7_gluster6リポジトリまたはol7_arch_gluster6 ULNチャネル。

  • リリース5。ol7_gluster5リポジトリまたはol7_arch_gluster5 ULNチャネル。

  • リリース4.1。ol7_gluster41リポジトリまたはol7_arch_gluster41 ULNチャネル。

  • リリース3.12。ol7_gluster312リポジトリまたはol7_arch_gluster312 ULNチャネル。

重要

アップグレード中は構成を変更しないでください。クライアントをアップグレードする前に、まずサーバーをアップグレードします。アップグレード後に、Glusterデプロイメント全体で、同じGlusterサーバー・バージョンおよびクライアント・バージョンが実行されるようにします。

3.1 オンライン・アップグレードの実行

オンライン・アップグレードでは、ボリュームの停止時間は必要ありません。アップグレード中、Glusterクライアントは引き続きボリュームにアクセスできます。

オンラインでアップグレードできるのは、複製ボリュームと分散複製ボリュームのみです。その他のタイプのボリュームは、オフラインでアップグレードする必要があります。オフライン・アップグレードの実行の詳細は、3.2項「オフライン・アップグレードの実行」を参照してください。

各Glusterノードで次の手順を実行します。この手順では、レプリカ・セットの複数のレプリカが、信頼できるストレージ・プール内の同じサーバーの一部ではないことを前提としています。

  1. システムでオペレーティング・システムの最新の更新レベルが実行されていることを確認します。

    そうでない場合は、次のコマンドを実行します。

    sudo yum update
    sudo reboot
  2. Gluster Storage for Oracle Linuxのリリース8で導入された新しいディレクトリ構造に更新します。

    新しいディレクトリ構造で、地理レプリケーションに関連する変更ログ・ファイルが明確に提供されます。スクリプトによって、これらのファイルが、新しい必要な場所に移動します。

    1. 次のいずれかのリンクを使用して、glusterfs-georep-upgrade.pyスクリプトをダウンロードします。

    2. 地理レプリケーション・セッションを停止します。

      sudo gluster volume geo-replication primary_volume georep@secondary-node1.example.com::secondaryvol stop
      
    3. スクリプトを使用して、地理レプリケーションのchangelogsを新しい構造に移行します。

      sudo glusterfs-georep-upgrade.py path-to-brick
  3. Gluster Storage for Oracle Linuxリリース3.12からアップグレードする場合は、いくつかの非推奨の機能の設定を解除する必要があります。次を実行します。

    1. lock-healまたはgrace-timeout機能が使用されているかどうかを確認します。

      sudo gluster volume info
    2. これらのパラメータが出力のOptions Reconfiguredセクションにリストされている場合は、次のコマンドを使用してこれらのパラメータの設定を解除します。

      sudo gluster volume reset myvolume features.lock-heal
      sudo gluster volume reset myvolume features.grace-timeout
  4. GlusterサービスおよびすべてのGlusterファイル・システム・プロセスを停止し、関連するプロセスが実行されていないことを確認します。

    sudo systemctl stop glusterd
    sudo killall glusterfs glusterfsd
    sudo ps aux | grep gluster
  5. SambaやNFS-Ganeshaなどの、すべてのGluster関連サービスを停止します。

    sudo systemctl stop smb
    sudo systemctl stop nfs-ganesha
  6. Gluster Storage for Oracle Linuxパッケージを更新します。

    sudo yum update glusterfs-server
  7. (オプション) NFS-Ganeshaを使用している場合は、パッケージをアップグレードします。

    sudo yum update nfs-ganesha-gluster
  8. Glusterサービスおよび使用しているGluster関連サービス(SambaやNFS-Ganeshaなど)を起動します。

    sudo systemctl daemon-reload
    sudo systemctl start glusterd
    sudo systemctl start smb
    sudo systemctl start nfs-ganesha
  9. オフラインになっている可能性があるブリックを確認し、オンラインにします。

    sudo gluster volume status
    sudo gluster volume start volume_name force
  10. (オプション)複製ボリュームについては、FIPS準拠システムでGlusterを実行できるように、ボリューム修復中にMD5チェックサムの使用をオフにする必要があります。

    sudo gluster volume set myvolume fips-mode-rchecksum on
  11. すべてのブリックがオンラインの場合、ボリュームを修復し、オプションで各ボリュームの修復情報を表示します。

    sudo for i in `gluster volume list`; do gluster volume heal $i; done
    sudo gluster volume heal volume_name info
  12. デプロイ済の地理レプリケーション・セッションがアップグレードのために停止された場合は、セッションを再起動します。

    sudo gluster volume geo-replication primary_volume georep@secondary-node1.example.com::secondaryvol start
    

3.2 オフライン・アップグレードの実行

オフライン・アップグレードでは、ボリュームの停止時間が必要です。アップグレード中、Glusterクライアントはボリュームにアクセスできません。Glusterノードのアップグレードをパラレルに実行すると、ボリュームの停止時間を最小限に抑えることができます。

  1. ボリュームを停止します。

    sudo gluster volume stop myvolume
  2. 3.1項「オンライン・アップグレードの実行」のステップを使用して、すべてのGlusterノードをアップグレードします。

    ノート

    ボリュームを修復するオンライン・アップグレード手順の最後のステップを実行する必要はありません。アップグレード中にボリュームがオフラインになるため、ボリューム修復は必要ありません。

  3. アップグレード後に、ボリュームを再起動します。

    sudo gluster volume start myvolume

3.3 アップグレード後の要件

オンラインまたはオフラインのアップグレード後に、この手順を実行します。

  1. すべてのボリュームの操作バージョン番号を確認します。

    sudo gluster volume get all cluster.op-version
    Option                                  Value                                   
    ------                                  -----                                   
    cluster.op-version                      60000
  2. パラメータ値が6000でない場合は、それに応じてバージョン番号を設定します。

    sudo gluster volume set all cluster.op-version 60000
  3. ボリュームにアクセスするクライアントをアップグレードします。Glusterクライアントのアップグレードの詳細は、3.4項「Glusterクライアントのアップグレード」を参照してください。

3.4 Glusterクライアントのアップグレード

Glusterサーバー・ノードがアップグレードされたら、Glusterクライアントをアップグレードする必要があります。すべてのクライアントでこの手順を実行します。

  1. クライアントのすべてのGlusterマウント・ポイントをアンマウントします。

  2. ボリュームにアクセスするアプリケーションをすべて停止します。

  3. Glusterネイティブ・クライアント(FUSE)の場合は、Glusterを更新します。

    sudo yum update glusterfs glusterfs-fuse
  4. すべてのGluster共有をマウントします。

  5. アップグレードのために停止したアプリケーションを起動します。