Red Hat Training

A Red Hat training course is available for Red Hat Gluster Storage

第7章 Red Hat Gluster Storage 3.4 へのアップグレード

本章では、Red Hat Gluster Storage 3.1、3.2、または 3.3 から Red Hat Gluster Storage 3.4 にアップグレードする方法を説明します。

アップグレードサポートの制限

  • Red Hat Enterprise Linux 6 ベースの Red Hat Gluster Storage から Red Hat Enterprise Linux 7 ベースの Red Hat Gluster Storage へのアップグレードはサポートされていません。
  • Red Hat Enterprise Linux 7.5 でサポートされる Virtual Data Optimizer (VDO) ボリュームは、現時点では Red Hat Gluster Storage でサポートされていません。VDO は、Red Hat Hyperconverged Infrastructure for Virtualization 2.0 の一部として使用されている場合にのみサポートされます。詳細は、 VDO について参照してください。
  • クライアントをアップグレードする前に、サーバーをアップグレードする必要があります。
  • Red Hat Gluster Storage 3.1 Update 2 以前からアップグレードする場合は、サーバーとクライアントを同時にアップグレードする必要があります。
  • NFS-Ganesha を使用する場合、サポートされる Red Hat Gluster Storage 3.4 へのアップグレードパスは、アップグレード元のバージョンにより異なります。バージョン 3.1.x から 3.4 にアップグレードする場合は、「Red Hat Gluster Storage 3.4 へのオフラインアップグレード」 を使用します。バージョン 3.3 から 3.4 にアップグレードする場合は、「In-Service ソフトウェアの Red Hat Gluster Storage 3.3 から Red Hat Gluster Storage 3.4 へのアップグレード」 を使用します。

7.1. Red Hat Gluster Storage 3.4 へのオフラインアップグレード

警告
アップグレードする前に、Red Hat Gluster Storage 3.1.3 の後のバージョンに変更された要件があるかどうかを注意して確認してください。Red Hat Gluster Storage 3.1.3 以降のサーバーが提供するボリュームにアクセスする場合は、クライアントが Red Hat Gluster Storage 3.1.3 以降も使用している必要があります。他のクライアントのバージョンからボリュームにアクセスすると、データが利用不可となり、ディレクトリー操作に関する問題が生じる可能性があります。この要件は Red Hat Gluster Storage 3.1.3 に Distributed Hash Table の機能に影響を与える多数の変更が含まれるために存在します。これは、ディレクトリーの整合性を改善し、BZ#1115367 および BZ#1118762 に示される影響を取り除くことを目的としています。
重要
Red Hat Enterprise Linux 7 ベースの Red Hat Gluster Storage 3.1 以降では、更新によりファイアウォールのルールが再度読み込まれます。リロード前のすべてのランタイムのみの変更は失われるため、保持する必要のある変更は永続的に保持できるようにします。

7.1.1. Red Hat Network にサブスクライブしているシステム向けの Red Hat Gluster Storage 3.4 へのアップグレード

手順7.1 アップグレード前

  1. オペレーティングシステムパーティション上ではない場所に、設定ディレクトリーとファイルをバックアップします。
    • /var/lib/glusterd
    • /etc/swift
    • /etc/samba
    • /etc/ctdb
    • /etc/glusterfs
    • /var/lib/samba
    • /var/lib/ctdb
    • /var/run/gluster/shared_storage/nfs-ganesha
    NFS-Ganesha を使用する場合は、すべてのノードから以下のファイルをバックアップします。
    • /etc/ganesha/exports/export.*.conf
    • /etc/ganesha/ganesha.conf
    • /etc/ganesha/ganesha-ha.conf
  2. すべてのクライアントから gluster ボリュームをアンマウントします。クライアントで以下のコマンドを使用して、マウントポイントからボリュームをアンマウントします。
    # umount mount-point
  3. NFS-Ganesha を使用する場合は、gluster サーバーで以下のコマンドを実行して nfs-ganesha サービスを無効にします。
    # gluster nfs-ganesha disable
  4. gluster サーバーで、共有ボリュームを無効にします。
    # gluster volume set all cluster.enable-shared-storage disable
  5. すべてのボリュームを停止します。
    # for vol in `gluster volume list`; do gluster --mode=script volume stop $vol; sleep 2s; done
  6. すべてのボリュームが停止していることを確認します。
    # gluster volume info
  7. 以下のコマンドを使用してサーバーからデータパーティションをアンマウントします。
    # umount mount-point
  8. 以下のコマンドを使用して、すべてのサーバーで glusterd サービスを停止します。
    # service glusterd stop
    # pkill glusterfs
    # pkill glusterfsd
  9. pcsd サービスを停止します。
    # systemctl stop pcsd

手順7.2 yum を使用したアップグレード

  1. システムがレガシーの Red Hat Network Classic 更新システムにないことを確認します。
    # migrate-rhs-classic-to-rhsm --status
    Red Hat Network Classic を依然として使用している場合には、以下のコマンドを実行して Red Hat Subscription Manager に移行します。
    # migrate-rhs-classic-to-rhsm --rhn-to-rhsm
    次にステータスが変更されたことを確認します。
    # migrate-rhs-classic-to-rhsm --status
  2. Samba を使用する場合:
    1. Red Hat Enterprise Linux 6.7 以降では、以下のリポジトリーを有効にします。
      # subscription-manager repos --enable=rh-gluster-3-samba-for-rhel-6-server-rpms
      Red Hat Enterprise Linux 7 の場合は、以下のリポジトリーを有効にします。
      # subscription-manager repos --enable=rh-gluster-3-samba-for-rhel-7-server-rpms
    2. 同じクラスターで異なるバージョンの Samba を実行するとデータが破損するため、Samba がすべてのノードで同時にアップグレードされることを確認します。
      xmvn サービスおよび SMB サービスを停止し、それらが停止していることを確認します。
      # service ctdb stop
      # ps axf | grep -E '(ctdb|smb|winbind|nmb)[d]'
  3. このアップグレードの一環として Gluster NFS から NFS Ganesha に移行する場合は、以下の追加の手順を実行します。
    1. stop および disable します。これにより、更新プロセス中に複数のバージョンの Samba がクラスターで実行されなくなり、データの破損を回避します。
      # systemctl stop ctdb
      # systemctl disable ctdb
    2. xmvn サービスおよび NFS サービスが停止していることを確認します。
      ps axf | grep -E '(ctdb|nfs)[d]'
    3. 以下のコマンドを実行してブリックボリュームを削除します。
      # gluster vol delete <ctdb_vol_name>
  4. サーバーを Red Hat Gluster Storage 3.4 にアップグレードします。
    # yum update
    更新が完了するまで待ちます。
  5. サーバーを再起動して、カーネルの更新が適用されるようにします。
  6. glusterd サービスおよび pcsd サービスが起動していることを確認します。
    # systemctl start glusterd
    # systemctl start pcsd
  7. すべてのノードがアップグレードされたら、以下のコマンドを実行してクラスターの op-version を更新します。これにより、クラスター内の互換性の問題を防ぐことができます。
    # gluster volume set all cluster.op-version 31306
    注記
    31306 は、Red Hat Gluster Storage 3.4 Async Update の cluster.op-version の値に使用されます。他のバージョンの正しいcluster.op-version 値については、「サポート対象の Red Hat Gluster Storage バージョン」 を参照してください。
  8. このアップグレードの一環として Gluster NFS から NFS Ganesha に移行するには、4章NFS-Ganesha の Red Hat Gluster Storage への NFS-Ganesha へのデプロイ の説明に従って NFS-Ganesha パッケージをインストールして、『Red Hat Gluster Storage 3.4 管理ガイド』 の NFS Ganesha セクションにある情報を使用して NFS Ganesha クラスターを設定します。
  9. すべてのボリュームを起動します。
    # for vol in `gluster volume list`; do gluster --mode=script volume start $vol; sleep 2s; done
  10. NFS-Ganesha を使用している場合:
    1. ボリュームのエクスポート情報を ganesha.conf のバックアップコピーから、新しい /etc/ganesha/ganesha.conf ファイルにコピーします。
      バックアップファイルのエクスポート情報は、以下のようになります。
      %include "/etc/ganesha/exports/export.v1.conf"
      %include "/etc/ganesha/exports/export.v2.conf"
      %include "/etc/ganesha/exports/export.v3.conf"
    2. バックアップディレクトリーから以下のコマンドを実行し、バックアップボリュームのエクスポートファイルをバックアップディレクトリーから /etc/ganesha/exports にコピーします。
      # cp export.* /etc/ganesha/exports/
  11. 新しいサービスおよびポートのファイアウォール設定を有効にします。詳細は、『 『Red Hat Gluster Storage 3.4 管理ガイド』』 を参照し https://access.redhat.com/documentation/ja-jp/red_hat_gluster_storage/3.4/html/administration_guide/chap-getting_started てください。
  12. 共有ボリュームを有効にします。
    # gluster volume set all cluster.enable-shared-storage enable
  13. 共有ストレージボリュームがサーバーにマウントされていることを確認します。ボリュームがマウントされていない場合は、以下のコマンドを実行します。
    # mount -t glusterfs hostname:gluster_shared_storage /var/run/gluster/shared_storage
  14. /var/run/gluster/shared_storage/nfs-ganesha ディレクトリーが作成されていることを確認します。
    # cd /var/run/gluster/shared_storage/
    # mkdir nfs-ganesha
  15. NFS-Ganesha を使用する場合:
    1. ganesha.conf ファイルおよび ganesha-ha.conf ファイル、および /etc/ganesha/exports ディレクトリーを /var/run/gluster/shared_storage/nfs-ganesha ディレクトリーにコピーします。
      # cd /etc/ganesha/
      # cp ganesha.conf  ganesha-ha.conf /var/run/gluster/shared_storage/nfs-ganesha/
      # cp -r exports/ /var/run/gluster/shared_storage/nfs-ganesha/
    2. ganesha.conf ファイルのエクスポートエントリーのパスを更新します。
      # sed -i 's/\/etc\/ganesha/\/var\/run\/gluster\/shared_storage\/nfs-ganesha/' /var/run/gluster/shared_storage/nfs-ganesha/ganesha.conf
    3. 以下のコマンドを実行して、既存のクラスター設定をクリーンアップします。
      /usr/libexec/ganesha/ganesha-ha.sh --cleanup /var/run/gluster/shared_storage/nfs-ganesha
    4. Red Hat Enterprise Linux 7.4 以降にアップグレードする場合は、以下の SELinux ブール値を設定します。
      # setsebool -P ganesha_use_fusefs on
      # setsebool -P gluster_use_execmem on
  16. ctdb サービス (および使用している場合は nfs-ganesha サービス) を起動し、すべてのノードが機能していることを確認します。
    # systemctl start ctdb
    # gluster nfs-ganesha enable
  17. このデプロイメントで NFS-Ganesha を使用する場合は、すべてのボリュームで NFS-Ganesha を有効にします。
    # gluster volume set volname ganesha.enable on

7.1.2. Red Hat Network Satellite Server にサブスクライブしているシステム向けの Red Hat Gluster Storage 3.4 へのアップグレード

手順7.3 アップグレード前

  1. オペレーティングシステムパーティション上ではない場所に、設定ディレクトリーとファイルをバックアップします。
    • /var/lib/glusterd
    • /etc/swift
    • /etc/samba
    • /etc/ctdb
    • /etc/glusterfs
    • /var/lib/samba
    • /var/lib/ctdb
    • /var/run/gluster/shared_storage/nfs-ganesha
    NFS-Ganesha を使用する場合は、すべてのノードから以下のファイルをバックアップします。
    • /etc/ganesha/exports/export.*.conf
    • /etc/ganesha/ganesha.conf
    • /etc/ganesha/ganesha-ha.conf
  2. すべてのクライアントから gluster ボリュームをアンマウントします。クライアントで以下のコマンドを使用して、マウントポイントからボリュームをアンマウントします。
    # umount mount-point
  3. NFS-Ganesha を使用する場合は、gluster サーバーで以下のコマンドを実行して nfs-ganesha サービスを無効にします。
    # gluster nfs-ganesha disable
  4. gluster サーバーで、共有ボリュームを無効にします。
    # gluster volume set all cluster.enable-shared-storage disable
  5. すべてのボリュームを停止します。
    # for vol in `gluster volume list`; do gluster --mode=script volume stop $vol; sleep 2s; done
  6. すべてのボリュームが停止していることを確認します。
    # gluster volume info
  7. 以下のコマンドを使用してサーバーからデータパーティションをアンマウントします。
    # umount mount-point
  8. 以下のコマンドを使用して、すべてのサーバーで glusterd サービスを停止します。
    # service glusterd stop
    # pkill glusterfs
    # pkill glusterfsd
  9. pcsd サービスを停止します。
    # systemctl stop pcsd

手順7.4 Satellite を使用したアップグレード

  1. Red Hat Satellite Server でアクティベーションキーを作成し、以下のチャンネルに関連付けます。詳細は、「Red Hat Satellite Server からのインストール」 を参照してください。
    • Red Hat Enterprise Linux 6.7 以降の場合:
      Base Channel: Red Hat Enterprise Linux Server (v.6 for 64-bit x86_64)
      
      Child channels:
      RHEL Server Scalable File System (v. 6 for x86_64)
      Red Hat Gluster Storage Server 3 (RHEL 6 for x86_64)
      Samba を使用する場合は、以下のチャンネルを追加します。
      Red Hat Gluster 3 Samba (RHEL 6 for x86_64)
    • Red Hat Enterprise Linux 7 の場合
      Base Channel: Red Hat Enterprise Linux Server (v.7 for 64-bit x86_64)
      
      Child channels:
      RHEL Server Scalable File System (v. 7 for x86_64)
      Red Hat Gluster Storage Server 3 (RHEL 7 for x86_64)
      Samba を使用する場合は、以下のチャンネルを追加します。
      Red Hat Gluster 3 Samba (RHEL 6 for x86_64)
  2. 以下の手順を実行して、Red Hat Network Satellite からシステムの登録を解除します。
    1. Red Hat Network Satellite サーバーにログインします。
    2. 上部のナビゲーションバーの Systems タブをクリックし、System List で古いシステムまたは重複システムの名前をクリックします。
    3. ページの右上にある delete system リンクをクリックします。
    4. システムプロファイルの削除を確認するには、Delete System ボタンをクリックします。
  3. 先の手順で作成した認証情報とアクティベーションキーを使用して、Red Hat Gluster Storage サーバーで以下のコマンドを実行します。これにより、Red Hat Network Satellite Server の Red Hat Gluster Storage 3.4 チャンネルにシステムが再登録されます。
    # rhnreg_ks --username username --password password --force --activationkey Activation Key ID
  4. チャンネルのサブスクリプションが更新されていることを確認します。
    Red Hat Enterprise Linux 6.7 以降では、Samba を使用する場合は、以下のチャンネルと、rhel-x86_64-server-6-rh-gluster-3-samba チャンネルを探します。
    # rhn-channel --list
    rhel-x86_64-server-6
    rhel-x86_64-server-6-rhs-3
    rhel-x86_64-server-sfs-6
    Red Hat Enterprise Linux 7 では、Samba を使用する場合は、以下のチャンネル、rhel-x86_64-server-7-rh-gluster-3-samba チャンネルを探します。
    # rhn-channel --list
    rhel-x86_64-server-7
    rhel-x86_64-server-7-rhs-3
    rhel-x86_64-server-sfs-7
  5. Red Hat Gluster Storage 3.4 にアップグレードします。
    # yum update
  6. サーバーを再起動して、ボリュームとデータの整合性チェックを実行します。
  7. すべてのノードがアップグレードされたら、以下のコマンドを実行してクラスターの op-version を更新します。これにより、クラスター内の互換性の問題を防ぐことができます。
    # gluster volume set all cluster.op-version 31306
    注記
    31306 は、Red Hat Gluster Storage 3.4 Async Update の cluster.op-version の値に使用されます。その他のバージョンの正しい 「サポート対象の Red Hat Gluster Storage バージョン」 の値は、cluster.op-version を参照してください。
  8. すべてのボリュームを起動します。
    # for vol in `gluster volume list`; do gluster --mode=script volume start $vol; sleep 2s; done
  9. NFS-Ganesha を使用している場合:
    1. ボリュームのエクスポート情報を ganesha.conf のバックアップコピーから、新しい /etc/ganesha/ganesha.conf ファイルにコピーします。
      バックアップファイルのエクスポート情報は、以下のようになります。
      %include "/etc/ganesha/exports/export.v1.conf"
      %include "/etc/ganesha/exports/export.v2.conf"
      %include "/etc/ganesha/exports/export.v3.conf"
    2. バックアップディレクトリーから以下のコマンドを実行し、バックアップボリュームのエクスポートファイルをバックアップディレクトリーから /etc/ganesha/exports にコピーします。
      # cp export.* /etc/ganesha/exports/
  10. 新しいサービスおよびポートのファイアウォール設定を有効にします。詳細は、『 『Red Hat Gluster Storage 3.4 管理ガイド』』 を参照し https://access.redhat.com/documentation/ja-jp/red_hat_gluster_storage/3.4/html/administration_guide/chap-getting_started てください。
  11. 共有ボリュームを有効にします。
    # gluster volume set all cluster.enable-shared-storage enable
  12. 共有ストレージボリュームがサーバーにマウントされていることを確認します。ボリュームがマウントされていない場合は、以下のコマンドを実行します。
    # mount -t glusterfs hostname:gluster_shared_storage /var/run/gluster/shared_storage
  13. /var/run/gluster/shared_storage/nfs-ganesha ディレクトリーが作成されていることを確認します。
    # cd /var/run/gluster/shared_storage/
    # mkdir nfs-ganesha
  14. NFS-Ganesha を使用する場合:
    1. ganesha.conf ファイルおよび ganesha-ha.conf ファイル、および /etc/ganesha/exports ディレクトリーを /var/run/gluster/shared_storage/nfs-ganesha ディレクトリーにコピーします。
      # cd /etc/ganesha/
      # cp ganesha.conf  ganesha-ha.conf /var/run/gluster/shared_storage/nfs-ganesha/
      # cp -r exports/ /var/run/gluster/shared_storage/nfs-ganesha/
    2. ganesha.conf ファイルのエクスポートエントリーのパスを更新します。
      # sed -i 's/\/etc\/ganesha/\/var\/run\/gluster\/shared_storage\/nfs-ganesha/' /var/run/gluster/shared_storage/nfs-ganesha/ganesha.conf
    3. 以下のコマンドを実行して、既存のクラスター設定をクリーンアップします。
      /usr/libexec/ganesha/ganesha-ha.sh --cleanup /var/run/gluster/shared_storage/nfs-ganesha
    4. Red Hat Enterprise Linux 7.4 以降にアップグレードする場合は、以下の SELinux ブール値を設定します。
      # setsebool -P ganesha_use_fusefs on
      # setsebool -P gluster_use_execmem on
  15. ctdb サービス (および使用している場合は nfs-ganesha サービス) を起動し、すべてのノードが機能していることを確認します。
    # systemctl start ctdb
    # gluster nfs-ganesha enable
  16. このデプロイメントで NFS-Ganesha を使用する場合は、すべてのボリュームで NFS-Ganesha を有効にします。
    # gluster volume set volname ganesha.enable on