5.2. Red Hat Gluster Storage 3.4 から Red Hat Gluster Storage 3.5 へのインサービスソフトウェアアップグレード
重要
クライアントを更新する前に、すべての Red Hat Gluster Storage サーバーをアップグレードします。
インサービスソフトウェアアップグレードとは、クラスターでホストされるボリュームをオフラインにすることなく、新しいバージョンのソフトウェアで Red Hat Gluster Storage Server クラスターを段階的に更新する機能を指します。ほとんどの場合、クラスターが更新されている際にもボリュームでの通常の I/O 操作が継続されます。
CTDB を使用する I/O は、アップグレードまたは更新時に一時停止する可能性があります。これは、Gluster NFS または Samba を使用するクライアントに影響を与えます。
注記
NFS-Ganesha のインサービスアップグレードを実行すると、新しい設定ファイルは
/etc/ganesha フォルダーにganesha.conf.rpmnewという名前で保存されます。古い設定ファイルは、インサービスアップグレードプロセス時に上書きされません。ただし、アップグレード後、ganesha.conf.rpmnewから、/etc/ganeshaフォルダーにある既存のganesha.confファイルに、新しい設定変更を手動でコピーする必要があります。
5.2.1. アップグレード前のタスク リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
インサービスソフトウェアアップグレードのプロセスに進む前に、以下の設定に基づく手順を実行します。
5.2.1.1. Red Hat Gluster Storage 3.5 のアップグレード要件 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
先の更新から Red Hat Gluster Storage 3.5 にアップグレードするアップグレード要件は以下の様になります。
- インサービスソフトウェアアップグレードは、分散型バージョンの Arbiter、イレイジャーコーディング (分散)、および Three Way レプリケーションのボリュームタイプでサポートされます。これは完全な分散ボリュームではサポートされません。
- 既存の環境にスナップショットを使用する場合は、各ブリックは独立したシンプロビジョニング論理ボリューム (LV) である必要があります。スナップショットを使用する予定がない場合、「シック」プロビジョニングされたボリュームは引き続きサポートされます。
- ブリックを含む論理ボリュームは、その他の目的では使用できません。
- Red Hat Gluster Storage 3.4 以降では、リニア LVM およびシン LV がサポートされています。詳細は、https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html-single/logical_volume_manager_administration/index#LVM_components を参照してください。
- サーバー側のクォーラム (定足数) が有効にされている場合、1 つのノードをダウンしてもサーバー側のクォーラム (定足数) に違反しないことを確認します。ダミーのピアを追加して、以下のコマンドを使用し、ローリングアップグレードが完了するまでサーバー側のクォーラム (定足数) の違反が生じないようにします。
gluster peer probe dummynode
# gluster peer probe dummynodeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記geo レプリケーションセッションがある場合は、『『Red Hat Gluster Storage Administration Guide』』の「『Starting Geo-replication for a New Brick or New Node』」のセクションを参照してください。たとえば、各マシンに 2 ノードと 1 ブリックのある単純なレプリケーションボリュームについてサーバー側のクォーラム (定足数) の割合がデフォルト値(>50%) に設定される場合、上記のコマンドを使用して、ブリックを含まないダミーノードを信頼できるストレージプールに追加し、ボリュームの高可用性を確保する必要があります。3 ノードで構成されるクラスターでは、サーバー側のクォーラム (定足数) の割合が 77% に設定される場合、1 つのノードがダウンするとサーバー側のクォーラム (定足数) の違反が生じます。このシナリオでは、サーバー側のクォーラム (定足数) を満たすために 2 つのダミーノードを追加する必要があります。 - マスターとスレーブ間で実行されている geo レプリケーションセッションを停止します。
gluster volume geo-replication MASTER_VOL SLAVE_HOST::SLAVE_VOL stop
# gluster volume geo-replication MASTER_VOL SLAVE_HOST::SLAVE_VOL stopCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 以下のコマンドを使用して、インサービスソフトウェアアップグレードに進む前に保留中の自己修復がないことを確認します。
gluster volume heal volname info
# gluster volume heal volname infoCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Red Hat Gluster Storage サーバーが必要なチャンネルに登録されていることを確認します。Red Hat Enterprise Linux 6 の場合:
rhel-6-server-rpms rhel-scalefs-for-rhel-6-server-rpms rhs-3-for-rhel-6-server-rpms
rhel-6-server-rpms rhel-scalefs-for-rhel-6-server-rpms rhs-3-for-rhel-6-server-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 7 の場合:rhel-7-server-rpms rh-gluster-3-for-rhel-7-server-rpms
rhel-7-server-rpms rh-gluster-3-for-rhel-7-server-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 8 の場合rhel-8-for-x86_64-baseos-rpms rhel-8-for-x86_64-appstream-rpms rh-gluster-3-for-rhel-8-x86_64-rpms
rhel-8-for-x86_64-baseos-rpms rhel-8-for-x86_64-appstream-rpms rh-gluster-3-for-rhel-8-x86_64-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow チャンネルにサブスクライブするには、以下のコマンドを実行します。subscription-manager repos --enable=repo-name
# subscription-manager repos --enable=repo-nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.2.1.2. インサービスソフトウェアアップグレードの制限 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
以下は、インサービスソフトウェアアップグレードの制限の一部を示しています。
- NFS-Ganesha クラスターのインサービスアップグレードは、Red Hat Gluster Storage 3.4 以降でのみサポートされます。Red Hat Gluster Storage 3.1 からアップグレードし、NFS-Ganesha を使用する場合は、Red Hat Gluster Storage 3.4 にオフラインでアップグレードします。その後、インサービスアップグレード方法を使用して Red Hat Gluster Storage 3.5 にアップグレードします。
- イレイジャーコード化(分散した)ボリュームは、
disperse.optimistic-change-log、disperse.eager-lock、およびdisperse.other-eager-lockオプションがoffに設定されている場合にのみ、稼働中にアップグレードできます。これらのオプションを無効にしてから 2 分間待機してからアップグレードを試行し、これらの設定の変更が I/O 操作で有効になるようにします。 - アップグレード後に、値はイレイジャーコーディングされたボリュームのアップグレード前の値と同様の値に変更できますが、
disperse.optimistic-change-logおよびdisperse.other-eager-lockオプションがonに設定されていることを確認してください。 - インサービスソフトウェアアップグレードの実行前のシステムのワークロードが少なくし、アップグレード時に自己修復プロセスで過剰なエントリーを修復する必要がないようにします。また、システムのワークロードが高くなると、修復に時間がかかることになります。
- Red Hat Gluster Storage サーバーではボリューム操作を実行しないでください。
- ハードウェア設定を変更しないでください。
- Red Hat Gluster Storage の複数バージョンが混在した状態でそれらのバージョンを長期間実行しないでください。たとえば、Red Hat Gluster Storage 3.3、Red Hat Gluster Storage 3.4、および Red Hat Gluster Storage 3.5 が長期間にわたって混在しないようにしてください。
- 異なるアップグレード方法を組み合わせることはできません。
- シンプロビジョニングされたボリュームへの移行にインサービスソフトウェアアップグレードを使用することは推奨されませんが、オフラインアップグレードシナリオで使用できます。詳細は、「Red Hat Gluster Storage 3.5 へのオフラインアップグレード」 を参照してください。
5.2.1.3. ISO を使用してアップグレードするためのリポジトリーの設定 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
ISO を使用してアップグレードするようにリポジトリーを設定するには、以下の手順を実行します。
注記
ISO を使用した Red Hat Gluster Storage のアップグレードは、直前のリリースからのみ実行できます。つまり、ISO を使用して Red Hat Gluster Storage 3.5 にアップグレードする場合は、Red Hat Gluster Storage 3.4 からのみ実行できます。サポートされる Red Hat Gluster Storage リリースの詳細な一覧は、「Red Hat Gluster Storage のソフトウェアコンポーネントおよびバージョン」を参照してください。
- 以下のコマンドを使用して、任意のディレクトリーに ISO イメージファイルをマウントします。
mount -o loop <ISO image file> <mount-point>
# mount -o loop <ISO image file> <mount-point>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下は例になります。mount -o loop rhgs-3.5-rhel-7-x86_64-dvd-1.iso /mnt
# mount -o loop rhgs-3.5-rhel-7-x86_64-dvd-1.iso /mntCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 以下の場所にあるファイルにリポジトリーオプションを設定します。
/etc/yum.repos.d/<file_name.repo>
/etc/yum.repos.d/<file_name.repo>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 以下の情報をリポジトリーファイルに追加します。
[local] name=local baseurl=file:///mnt enabled=1 gpgcheck=0
[local] name=local baseurl=file:///mnt enabled=1 gpgcheck=0Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.2.1.4. アップグレードアクティビティーの準備およびモニタリング リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
インサービスソフトウェアのアップグレードに進む前に、以下のプロセスを準備し、監視します。
- ピアおよびボリュームの状態を確認して、すべてのピアが接続され、アクティブなボリュームタスクがないことを確認します。
gluster peer status
# gluster peer statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow gluster volume status
# gluster volume statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 以下のコマンドを使用してリバランスのステータスを確認します。
gluster volume rebalance r2 status
# gluster volume rebalance r2 status Node Rebalanced-files size scanned failures skipped status run time in secs --------- ----------- --------- -------- --------- ------ -------- -------------- 10.70.43.198 0 0Bytes 99 0 0 completed 1.00 10.70.43.148 49 196Bytes 100 0 0 completed 3.00Copy to Clipboard Copied! Toggle word wrap Toggle overflow - イレイジャーコード化(分散した)ボリュームをアップグレードする必要がある場合は、
disperse.optimistic-change-log、disperse.eager-lock、およびdisperse.other-eager-lockオプションをoffに設定します。これらのオプションを無効にしてから 2 分間待機してからアップグレードを試行し、これらの設定の変更が I/O 操作で有効になるようにします。gluster volume set volname disperse.optimistic-change-log off gluster volume set volname disperse.eager-lock off gluster volume set volname disperse.other-eager-lock off
# gluster volume set volname disperse.optimistic-change-log off # gluster volume set volname disperse.eager-lock off # gluster volume set volname disperse.other-eager-lock offCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 以下のコマンドを使用して、保留中の自己修復がないことを確認します。
gluster volume heal volname info
# gluster volume heal volname infoCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の例は、保留中の自己修復がないことを示しています。Copy to Clipboard Copied! Toggle word wrap Toggle overflow