Pacemakerで構築したクラスタ環境について、「クラスタ環境アップデート」と「ローリングアップデート」の概要について紹介します。
Pacemakerとは
Pacemakerは、一連のマシン間で関連する「サービス起動」と「サービス復旧」をコントロールするためのクラスタソフトウェアです。
Pacemakerの概要については、こちらも参照ください。
→クラスタ構成ソフトウェア「Pacemaker」と「Heartbeat」「Corosync」の関係性
Pacemakerクラスタのアップデート
Pacemakerで構築したHAクラスタシステムの運用開始後に、「Pacemaker自体」や「動作している一部アプリケーション」についてアップデートしなければならない状況が発生することがあります。
アップデートが必要となる主な理由として以下のようなケースがあります。
・アプリケーション脆弱性修正(セキュリティフィックス)
・アプリケーションの重大不具合修正(緊急ホットフィックス)
・アプリケーションの対象バージョンサポート期間終了 など
シングルで動作しているアプリケーションの場合は、「アプリケーション停止」→「アプリケションアップデート」→「アプリケーション再起動」のようなシンプルな手順でアプリケーションアップデート作業を完了できます。
しかし、Pacemakerなどのクラスタソフトウェアでクラスタ構成に組まれたアプリケーションをアップデートする場合には、入念な計画を立てて実施する必要性があります。
Pacemakerクラスタの「ローリングアップデート」
「ローリングアップデート」とは
クラスタ環境でのアップデート手法として「ローリングアップデート」があります。
ローリングアップデートは、各サーバを順番にアップデートしていくことでクラスタ全体をアップデートしていく手法で、サービス継続を維持したままクラスタシステム全体に渡ってアップデートできるというメリットがあります。
主な手順
「サーバ(A):プライマリ」と「サーバ(B):スタンバイ」というシンプルなクラスタ構成の場合、以下のような手順で2台のサーバに対してアップデートを実施します。
①「サーバ(B):スタンバイ」に対してアップデートを実施
②「サーバ(B):スタンバイ」を「サーバ(B):プライマリ」に昇格させる
※「サーバ(A):プライマリ」は「サーバ(A):スタンバイ」に降格
③「サーバ(A):スタンバイ」に対してアップデートを実施
④「サーバ(A):スタンバイ」を「サーバ(A):プライマリ」に昇格させる
※「サーバ(B):プライマリ」は「サーバ(B):スタンバイ」に降格
課題・懸念点
ローリングアップデートには、課題や懸念点が存在します。
アプリケーション互換性が崩れる場合は不可
ローリングアップデート前後の状態として、アプリケーション互換性が維持されている必要があります。アップデート内容としてプロトコルやデータ形式に変更が加えられる場合は、この手法の採用は困難となります。
複雑なクラスタ構成の場合
複雑なクラスタ構成の場合は、多くのさまざまな要因が絡み合うこととなるため、非常に慎重にアップデート計画を策定する必要があります。
最後に
PacemakerでHA構成を構築した後でも、Pacemaker自体や対象アプリケーションのアップデートは必要になります。
一般的に、クラスタ構成のアップデートは複雑な手順が必要となるため、多くの経験に裏打ちされた高い技術力が必要となるケースが多々あります。
弊社にご連絡をいただければ、運用開始後のアップデートまで考慮したご提案も行えます。
まずは、お気軽にお問い合わせください。
参考元サイト
- https://www.sraoss.co.jp/tech-blog/pacemaker/pacemaker-cluster-update/
- https://blog.3ware.co.jp/2015/05/%E3%83%A1%E3%83%B3%E3%83%86%E3%83%8A%E3%83%B3%E3%82%B9%E6%99%82%E3%81%AB%E3%83%95%E3%82%A7%E3%83%BC%E3%83%AB%E3%82%AA%E3%83%BC%E3%83%90%E3%81%95%E3%81%9B%E3%81%AA%E3%81%84%E6%96%B9%E6%B3%95/
- http://kan3aa.hatenablog.com/entry/2015/11/14/194942