Pacemakerクラスタ環境のアップデートについて

    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自体や対象アプリケーションのアップデートは必要になります。

    一般的に、クラスタ構成のアップデートは複雑な手順が必要となるため、多くの経験に裏打ちされた高い技術力が必要となるケースが多々あります。

    弊社にご連絡をいただければ、運用開始後のアップデートまで考慮したご提案も行えます。

    まずは、お気軽にお問い合わせください。

     

    参考元サイト

    SNSでもご購読できます。