33 クラスタアップグレードとソフトウェアパッケージの更新 #
この章では、次の2つの異なるシナリオ(SUSE Linux Enterprise High Availabilityの別バージョン(メジャーリリースまたはサービスパック)へのクラスタアップグレード、およびクラスタノード上の各パッケージの更新について説明します。33.2項 「最新の製品バージョンへのクラスタアップグレード」および33.3項 「クラスタノード上のソフトウェアパッケージの更新」を参照してください。
クラスタをアップグレードする場合、アップグレードを開始する前に、33.2.1項 「SLE HAおよびSLE HA Geoでサポートされるアップグレードパス」および33.2.2項 「アップグレード前に必要な準備」を確認してください。
33.1 用語集 #
次に、この章で使用される最も重要な用語の定義を示します。
- メジャーリリース, 一般出荷(GA)バージョン
メジャーリリースとは、新しい機能やツールを導入し、非推奨になっていたコンポーネントを削除した、新しい製品バージョンです。これには、後方互換性のない変更が存在します。
- クラスタオフラインアップグレード
新しい製品バージョンに後方互換性のない大きな変更が含まれている場合は、クラスタオフラインアップグレードによってクラスタをアップグレードする必要があります。すべてのノードをオンラインに戻す前に、すべてのノードをオフラインにして、クラスタ全体をアップグレードする必要があります。
- クラスタローリングアップグレード
クラスタローリングアップグレードでは、1度に1つのクラスタノードがアップグレードされ、残りのクラスタはまだ実行されています。最初のノードをオフラインにし、アップグレードして、オンラインに戻してから、クラスタに参加させます。その後、すべてのクラスタノードがメジャーバージョンにアップグレードされるまで、1つずつアップグレードを続けます。
- サービスパック(SP)
複数のパッチを組み合わせて、インストールまたは展開しやすい形式にします。サービスパックには番号が付けられ、通常、プログラムのセキュリティ修正、更新、アップグレード、または拡張機能が含まれます。
- この状態から
新しいマイナーバージョンのパッケージのインストールです。通常、セキュリティ更新やその他の重要な修正が含まれています。
- アップグレード
パッケージまたはディストリビューションの新しいメジャーバージョンのインストール。これにより新機能がもたらされます。クラスタオフラインアップグレードおよびクラスタローリングアップグレードも参照してください。
33.2 最新の製品バージョンへのクラスタアップグレード #
サポートされるアップグレードパスおよびアップグレードの実行方法は、現在の製品バージョンおよび移行したいターゲットバージョンによって異なります。
33.2.1 SLE HAおよびSLE HA Geoでサポートされるアップグレードパス #
SUSE Linux Enterprise High Availabilityには、基盤となる基本システムと同じサポートされているアップグレードパスがあります。完全な概要については、『SUSE Linux Enterprise Serverアップグレードガイド』のセクションSupported Upgrade Paths to SUSE Linux Enterprise Server 15 SP7を参照してください。
また、高可用性クラスタスタックはクラスタをアップグレードするための2つの方法を提供するため、次のルールが適用されます。
クラスタローリングアップグレード. クラスタローリングアップグレードは、同じメジャーリリース内(あるサービスパックから次のサービスパックへ、または製品のGAバージョンからSP1へ)でのみサポートされます。
クラスタオフラインアップグレード. あるメジャーリリースから次のメジャーリリース(たとえば、SSLE HA 12からSLE HA 15など)、または特定のメジャーリリース内のサービスパックから次のメジャーリリース(たとえば、SLE HA 12 SP5からSLE HA 15)へアップグレードするには、クラスタオフラインアップグレードが必要です。
SUSE Linux Enterprise High Availability 12/SUSE Linux Enterprise High Availability 15で実行する混合クラスタはサポートされていません。
製品バージョン15へのアップグレードプロセス後に、製品バージョン12に戻す処理は、サポートされていません。
最も単純なアップグレードパスは、すべてのサービスパックを連続してインストールすることです。SUSE Linux Enterprise 15製品ライン(GAおよび次のサービスパック)の場合、アップグレード時に最大2つのサービスパックをスキップすることもサポートされています。たとえば、SLE HA 15 SP3から15 SP6へのアップグレードがサポートされています(SLE HA 15 SP3がサポートされている場合)。
33.2.2 アップグレード前に必要な準備 #
- バックアップ
システムバックアップが最新で、復元可能かどうかを確認します。
- テスト
運用環境で実行する前に、まず、クラスタセットアップのステージングインスタンスでアップグレード手順をテストします。これにより、メンテナンス期間に要するタイムフレームを予測できます。予期しない問題を検出し、解決するのにも役立ちます。
33.2.3 クラスタオフラインアップグレード #
このセクションでは、SLE HA 12からSLE HA 15へのアップグレードについて説明します。図33.1「サポートされているアップグレードパスの概要」で、アップグレード対象としてサポートされているサービスパックを確認してください。クラスタがまだこれらよりも古いサービスパックに基づいている場合は、まず、SLE HA 15にアップグレードするためのソースとして使用できるバージョンのSLESおよびSLE HAにクラスタをアップグレードします。SLE HA 12 SP5については、「最新の製品バージョンへのクラスタアップグレード」を参照してください。
クラスタノードを(アップグレードするのではなく)最初からインストールすることにした場合、SUSE Linux Enterprise High Availability 15 SP7に必要なモジュールのリストについては、3.2項 「ソフトウェアの必要条件」を参照してください。モジュール、拡張機能、および関連製品の詳細については、SUSE Linux Enterprise Server 15のリリースノートを確認してください。これらは、https://www.suse.com/releasenotes/から入手できます。
SUSE Linux Enterprise High Availability 15へのオフラインアップグレードを開始する前に、注記: CIB構文バージョンのアップグレードの説明に従って現在のクラスタでCIB構文を手動でアップグレードしてください。
各クラスタノードにログインし、次のコマンドを使用してクラスタスタックを停止します。
#
crm cluster stop
クラスタノードごとに、目的のターゲットバージョンのSUSE Linux Enterprise ServerおよびSUSE Linux Enterprise High Availabilityへのアップグレードを実行します。33.2.1項 「SLE HAおよびSLE HA Geoでサポートされるアップグレードパス」を参照してください。
アップグレードプロセスが完了した後で、SUSE Linux Enterprise ServerおよびSUSE Linux Enterprise High Availabilityのアップグレード済みバージョンがインストールされた各ノードにログインして起動します。
Cluster LVMを使用する場合は、clvmdからlvmlockdに移行する必要があります。
lvmlockd
のマニュアルページのセクション「Changing a clvm/clustered VG to a shared VG」を参照してください。cmirrord
も使用する場合は、Cluster MDに移行することを強くお勧めします。28.4項 「Mirror LVからCluster MDへのオンラインマイグレーション」を参照してください。クラスタノードにログインして、すべてのノードでクラスタスタックを起動します。
#
crm cluster start --all
注記:--all
オプションはバージョン15 SP4でのみ使用可能--all
オプションは、SUSE Linux Enterprise High Availability 15 SP4で追加されました。以前のバージョンでは、各ノードでcrm cluster start
コマンドを1つずつ実行する必要があります。crm status
またはHawk2を使用してクラスタの状態を確認します。
新しい機能は、最新のCIB構文バージョンでのみ使用可能な場合もあります。新しい製品バージョンにアップグレードした場合でも、デフォルトではCIB構文バージョンはアップグレードされません。
バージョンをチェックします。
cibadmin -Q | grep validate-with
最新のCIB構文バージョンにアップグレードします。
#
cibadmin --upgrade --force
33.2.4 クラスタローリングアップグレード #
このセクションでは、新しいSLE HA 15サービスパックへのアップグレードについて説明します。図33.1「サポートされているアップグレードパスの概要」で、アップグレード対象としてサポートされているサービスパックを確認してください。
シナリオに合わせて次の手順のいずれかを使用します。
ノードのアップグレードを開始する前に、そのノード上のクラスタスタックを停止します。
ソフトウェアの更新中にノード上のクラスタリソースマネージャがアクティブな場合、アクティブノードのフェンシングのような結果を招く場合があります。
最新の製品バージョンに装備されている新機能は、すべてのクラスタノードが最新の製品バージョンにアップグレードされた後でないと使用できません。混合バージョンのクラスタは、クラスタローリングアップグレード中の短いタイムフレームでのみサポートされます。クラスタローリングアップグレードは1週間以内に完了してください。
すべてのオンラインノードでアップグレードされたバージョンが実行される場合、古いバージョンの他のノードはアップグレードせずに(再)参加できなくなります。
アップグレードするノードで
root
としてログインし、クラスタスタックを停止します。#
crm cluster stop
SLES 15 SP7の『アップグレードガイド』の説明に従って、目的のターゲットバージョンのSUSE Linux Enterprise ServerおよびSUSE Linux Enterprise High Availability Extensionへのアップグレードを実行します。
Geoクラスタをアップグレードする必要がある場合は、第10章 「Upgrading to the latest product version」を参照してください。
アップグレードしたノードでクラスタスタックを起動して、ノードをクラスタに再加入させます。
#
crm cluster start
次のノードをオフラインにし、そのノードに関して手順を繰り返します。
crm status
またはHawk2を使用してクラスタの状態を確認します。クラスタノードに異なるCRMバージョンが検出された場合、Hawk2の
画面に警告も表示されます。
最新の製品バージョンに装備されている新機能は、すべてのクラスタノードが最新の製品バージョンにアップグレードされた後でないと使用できません。混合バージョンのクラスタは、ローリングアップグレード中の短いタイムフレームでのみサポートされます。ローリングアップグレードは1週間以内に完了してください。
クラスタノードに異なるCRMバージョンが検出された場合、Hawk2の
画面に警告も表示されます。多くのお客様は、インプレースアップグレードのほかに、次のサービスパックに移行する場合でも新規インストールを希望しています。次の手順は、ノードaliceおよびbobを含む2ノードクラスタを次のサービスパック(SP)にアップグレードするシナリオを示しています。
クラスタ設定のバックアップを作成します。次のリストに、最小ファイルセットを示します。
/etc/corosync/corosync.conf /etc/corosync/authkey /etc/sysconfig/sbd /etc/modules-load.d/watchdog.conf /etc/hosts /etc/chrony.conf
リソースに応じて、次のファイルが必要になる場合もあります。
/etc/services /etc/passwd /etc/shadow /etc/groups /etc/drbd/* /etc/lvm/lvm.conf /etc/mdadm.conf /etc/mdadm.SID.conf
ノードaliceから開始します。
ノードをスタンバイモードにします。これにより、リソースをノードから移動できます。
#
crm --wait node standby alice reboot
--wait
オプションを使用すると、このコマンドはクラスタが移行を終了してアイドル状態になるまで終了しません。reboot
オプションには、ノードがもう一度オンラインになったときにはスタンバイモードではなくなるという効果があります。その名前に反して、reboot
オプションはノードがオフラインまたはオンラインである限り機能します。ノードaliceでクラスタサービスを停止します。
#
crm cluster stop
この時点で、aliceには実行中のリソースはありません。ノードaliceをアップグレードし、その後に再起動します。クラスタサービスは起動時には開始されないことが想定されます。
バックアップファイルをステップ 1から元の場所にコピーします。
ノードaliceをクラスタに戻します。
#
crm cluster start
リソースに問題がないことを確認します。
ノードbobに対してステップ 2を繰り返します。
33.3 クラスタノード上のソフトウェアパッケージの更新 #
ノードのパッケージ更新を開始する前に、クラスタスタックが影響を受けるか否かによって、そのノード上のクラスタスタックを停止するか、ノードを保守モードにします。詳細についてはステップ 1を参照してください。
ソフトウェアの更新中にノード上のクラスタリソースマネージャがアクティブな場合、アクティブノードのフェンシングのような結果を招く場合があります。
ノード上にパッケージ更新をインストールする前に、次の内容を確認してください。
この更新は、SUSE Linux Enterprise High Availabilityに属するパッケージに影響しますか?
yes
の場合は、ソフトウェアの更新を開始する前に、ノード上でクラスタスタックを停止します。#
crm cluster stop
パッケージ更新には再起動が必要ですか。
yes
の場合は、ソフトウェアの更新を開始する前に、ノード上でクラスタスタックを停止します。#
crm cluster stop
これらの状況のいずれにも該当しない場合は、クラスタスタックを停止する必要はありません。その場合は、ソフトウェアの更新を開始する前に、ノードを保守モードにします。
#
crm node maintenance NODE_NAME
保守モードの詳細については、32.2項 「保守タスクのためのさまざまなオプション」を参照してください。
YaSTまたはZypperを使用してパッケージ更新をインストールします。
更新が正常にインストールされたら、次のいずれかを行います。
それぞれのノードでクラスタスタックを起動します(ステップ 1で停止した場合)。
#
crm cluster start
または、ノードの保守フラグを削除して、ノードを通常モードに戻します。
#
crm node ready NODE_NAME
crm status
またはHawk2を使用してクラスタの状態を確認します。
33.4 詳細情報 #
アップグレード先の製品の変更点と新機能の詳細については、それぞれのリリースノートを参照してください。リリースノートは、https://www.suse.com/releasenotes/で入手できます。