HAクラスターとは

    HAクラスターの概要や、
    ストレージ構成について紹介します。

    ①HAクラスターとは

    HAクラスター(High Availability Cluster)とは、複数台のサーバーを相互に接続して連携させる(クラスター化する)ことで、システムを冗長化し、 コンピューターシステム全体の可用性(アベイラビリティ)を高めることを目的としています。また、システム障害によるシステム停止時間を最短にする迅速復旧機能も含みます。

    HAクラスターは、「ミッションクリティカルなデータベースシステム」「基幹業務システム」「商用Webサイト」など、高い信頼性が求められ、システム停止を避けなければならない環境で多く利用されます。

     

    「フェイルオーバー」と「フェイルバック」

    フェイルオーバー

    HAクラスターでは、稼動中のアクティブサーバーに障害が発生し、サービスを継続できなくなった場合に、自動的にスタンバイサーバーへ処理を引き継ぐことで、システム全体としてのサービス提供機能を維持します。

    この切り替え処理のことを「フェイルオーバー」と呼びます。

    フェイルバック

    フェイルオーバー後、現アクティブサーバー(元スタンバイサーバー)から、現スタンバイサーバー(元アクティブサーバー)へ処理を引き継ぐことを「フェイルバック」と呼びます。

     

    HAクラスター構成ソフトウェア

    HAクラスターを構成するためのソフトウェアは、「HAクラスターソフトウェア」や「HAクラスタリングソフトウェア」などと呼ばれます。

    HAクラスターソフトは、関連サーバー群を常に監視し、アクティブサーバーに障害が発生した場合、スタンバイサーバーへ切り替える処理を実行します。

     

    HAクラスター構成方式

    アクティブ/スタンバイ構成

    「アクティブ/スタンバイ構成」は、HAクラスター構成の中で、最もスタンダードな構成です。平常時は、サービスはアクティブサーバー上で動いていて、スタンバイサーバーは待機状態になっています。

    アクティブサーバーに障害が発生した場合、アクティブサーバーからスタンバイサーバーへ処理を切り替えることで、サービスを継続する方式です。

    アクティブ/アクティブ構成

    「アクティブ/アクティブ構成」は、2台のサーバーが両方ともアクティブになっている状態です。平常時は、「サーバーAでサービスAが稼働」「サーバーBでサービスBが稼働」のように、それぞれ別のサービスを提供しています。

    サーバーAに障害が発生した場合、サーバーAで稼働していたサービスAを、サーバーBに引き継ぎます。この場合、サーバーBがサービスAとサービスBの両方のサービスを提供します。

    「(1)アクティブ/スタンバイ構成」でのスタンバイサーバーを平常時にも稼働させることができるため、サーバーリソースを有効に活用できるメリットがあります。

    N対1スタンバイ構成

    「N対1スタンバイ構成」とは、平常時、N台のサーバーでそれぞれサービスを稼働させて、その中のどれかのサーバーに障害が発生した場合に、スタンバイサーバーに引き継ぐ構成です。

    ただし、「フェイルオーバー時にパフォーマンス劣化が生じやすい」というデメリットがあります。

     

    【参考元サイト】
    weblio辞書 →HAクラスタ
    SIOS →HAクラスターの仕組みとポイント
    Hewlett Packard Enterprise →HAクラスターの教科書~簡単!ライバルに差をつけるHP Serviceguard構築~ 第1日目:ハードウェア構成を知る
    JP1/Performance Management 運用ガイド →9.1.1 クラスタシステムの概要
    IT用語辞典 e-Words →HAクラスタ 【 High Availability cluster 】
    キーマンズネット →今こそ理解!HAクラスタリングソフトの実力

     

    ②HAクラスターのストレージ構成
    「共有ストレージ」と「レプリケーション」

    HAクラスターにおけるストレージ構成には、「共有ストレージ」と「レプリケーション」の2種類に大別されます。クラスタソリューションの選択時において、どちらを選択するかについては考慮すべき重要な点となります。

    それぞれのメリットとデメリットなどについて紹介します。

    「共有ストレージ」構成

    「共有ストレージ」構成とは、アクティブサーバーとスタンバイサーバーで同一ストレージを共有する構成です。サーバーA(アクティブ)に障害が発生した場合、サーバーB(スタンバイ)に処理が切り替わりますが、サーバーBもサーバーAがアクセスしていた共有ストレージにアクセスを行います。

    ■「共有ストレージ」構成のメリット

    ・レプリケーション未対応アプリケーションへ対応可能
    共有ストレージ構成にすることで、独自にレプリケーション機能を持たないアプリケーション(データベースなど)に対して、処理性能に影響を与えずに冗長化し、可用性を向上できます。

    ・信頼性の高いフェイルオーバー
    ストレージが1つのみであるため、フェイルオーバーの信頼性が高まります。

    ・フェイルオーバー時のデータ不整合発生を軽減
    ストレージが分散しているレプリケーション構成と比較した場合、共有ストレージ構成では、実データは1つの共有ストレージにのみ存在しているため、フェイルオーバー時のデータ不整合が発生するリスクを低減できます。
    また、データ復旧のための時間が発生しません。

    ・ネットワークスペックに影響されない
    レプリケーションを行う必要がないため、ネットワークパフォーマンスに影響されません。

     

    ■「共有ストレージ」構成のデメリット

    ・高コスト
    共有ストレージとして、高額なストレージハードウェアを用意する必要があるため、導入時コストが高額になる傾向があります。

    ・クラウド(仮想環境)展開は不可
    共有ストレージは、クラウドや仮想環境において使用できないため、オンプレミスからクラウドへの展開を行う場合などに制約が発生します。アプリケーションのデータ構成について、共有ストレージを利用するように設定(改修)する必要があります。

    ・共有ストレージが単一障害点に
    ストレージが1つであるため、共有ストレージが単一障害点とならないように、ハードウェア構成を適切に構成する必要があります。

     

    「レプリケーション」構成

    「レプリケーション」構成とは、サーバーA(アクティブ)とサーバーB(スタンバイ)で、それぞれのローカルストレージを利用し、レプリケーションによりデータ同期を行う構成です。それぞれのローカルディスクをレプリケーションすることで、ミラーボリュームを作成し、仮想的な共有ディスクとして扱います。

    サーバーA(アクティブ)に障害が発生して、サーバーB(スタンバイ)に処理が切り替わった場合、サーバーBはサーバーAからレプリケーション同期されている、サーバーBのローカルストレージにアクセスします。

    ■「レプリケーション」構成のメリット

    ・低コスト
    ローカルストレージを使用し、高額な外部ストレージを用意する必要はないため、安価にHAクラスターを構築できます。

    ・シンプルに導入可能
    共有ストレージ構成とは異なり、ハードウェア構成がシンプルであるため、導入しやすいメリットがあります。

    ・ディザスタリカバリ対応
    共有ストレージではないため、遠隔地へのレプリケーション(フェイルオーバー)が可能です。
    クラウド内や遠隔地サーバーに対してレプリケーションを行うことで、ディザスタリカバリサイトを構築できます。

     

    【参考元サイト】
    SIOS →HAクラスターの仕組みとポイント
    evidian →共有なしクラスターと共有ストレージ クラスター
    IIJ →共有ストレージ型HAクラスタ
    Cybozu Garoon 3 →HAクラスタによるガルーン3の可用性向上
    NEC →CLUSTERPRO →CLUSTERPRO X – 特長/機能
    CTC →LifeKeeper
    Think IT →データベース・クラスタの概要
    IBM →共有ストレージを使用した高可用性

     

    ③DRBDによるPostgreSQL用HAクラスタ構築

    DRBDを利用して、オープンソースDB「PostgreSQL」をHAクラスター化する方法についてまとめられているサイトを紹介します。

    DRBD+PacemakerでのPostgreSQL高可用性構成構築方法


    「オープンソースカンファレンス2014」で発表されたスライド資料です。
    「DRBD」と「Pacemaker」を利用して、PostgreSQLのHAクラスターを構築するための手順について細かくまとめられています。

    「Pacemaker」とは、オープンソースソフトウェアとして開発されている、HAクラスターソフトウェアです。ネットワークで接続された複数のサーバーコンピュータを連携させ、アクティブサーバーに故障を検知したら、スタンバイサーバーにフェイルオーバーさせるクラスタ管理機能を提供します。

    【テーマ】
    ■高可用性とは
    ■PostgreSQLのHA構成
    ■Pacemakerとは
    ■DRBDとは
    ■構成例(PostgreSQL+Pacemaker+DRBD)
    ■インストール
    →PostgreSQLのインストール
    →Linux-HA Japanリポジトリのダウンロード
    →Linux-HA Japanリポジトリの設定
    →PacemakerとHeartbeatパッケージのインストール
    →ELRepoリポジトリの設定
    →DRBDパッケージのインストール
    ■OSの設定
    ■Heartbeatの設定
    ■DRBDの設定
    →DRBD用パーティションの準備
    →DRBDリソースの設定
    →DRBDリソースの起動とデータの初期同期
    →ファイルシステムの作成とマウント
    ■PostgreSQLの設定
    ■Pacemakerの設定
    ■デモ

    【ページリンク】
    オープンソースカンファレンス2014 Nagoya →【入門】PostgreSQL+Pacemaker+DRBDで高可用性構成を構築してみよう

     

    DRBDとPostgreSQLレプリケーション—PacemakerのMaster/Slave構成の基本と事例紹介


    2014年3月に開催された「Open Source Conference 2014」での発表スライドにて、Pacemaker側からの視点を中心として、「DRBDによるPostgreSQLレプリケーション」について解説されています。

    「DRBD+PostgreSQLレプリケーション構成」についてのメリットとデメリットを踏まえて、「PostgreSQLレプリケーション構成」と「フェイルオーバー時の昇格の仕組み」について紹介されています。

    また、レプリケーションLANに障害が発生した事例と対策方法についても参照できます。

    【テーマ】
    ■各アプリケーションの概要
    →Pacemakerとは
    →共有ディスクを使用した構成について
    →DRBD、PostgreSQLレプリケーションを使用した構成
    →DRBD概要
    →PostgreSQL レプリケーション概要
    →Pacemaker+DRBD / PostgreSQLレプリケーション構成
    ■Master Slave リソースと従来のリソースとの違い
    →リソースの種類
    →Primitiveリソースとcloneリソース(共有ディスク構成での例)
    →MSリソース(Pacemaker+DRBDの例)
    →MSリソース(Pacemaker+ PostgreSQLレプリケーション)
    ■Masterに昇格するノードの選定方法
    ■障害事例
    →レプリケーションLAN障害(DRBD)
    →レプリケーションLAN障害(PostgreSQLレプリケーション)
    →インターコネクトLANとレプリケーションLAN障害(DRBD)
    ■まとめ

    【ページリンク】
    OSC2014 Tokyo →PacemakerのMaster/Slave構成の基本と事例紹介(DRBD、PostgreSQLレプリケーション)

     

     

     

     

    SNSでもご購読できます。