サイト内の現在位置を表示しています。

Azureでリージョンを跨いだハイブリッドディスク型のHAクラスターを構築してみました(Windows/Linux)

CLUSTERPRO オフィシャルブログ ~クラブロ~

はじめに

Microsoft Azure(以降、Azure)上で、リージョンを跨いだハイブリッドディスク型クラスターの構築を試してみました。

ハイブリッドディスク型クラスターは共有ディスク型クラスターとミラーディスク型クラスターを組み合わせた構成です。共有ディスク上のパーティションをミラーリングすることによって、共有ディスク装置の障害に対しても業務継続を可能とします。リージョン間でミラーリングすることにより、災害対策(DR/ディザスタリカバリ)としても利用できます。

今回は、以前のブログでご紹介した「仮想ネットワーク ピアリング」と「Azure共有ディスク」の機能を利用して、東日本リージョンと西日本リージョンを跨いだハイブリッドディスク型のHAクラスターを構築する手順をご紹介します。

この記事の内容

1. ハイブリッドディスク型クラスターとは

ハイブリッドディスク型クラスターは、共有ディスク型とミラーディスク型を組み合わせた、遠隔クラスターに最適な構成です。メインサイトでは共有ディスク型クラスターのように振る舞うため、メインサイト内の局所的な障害(アプリケーション障害/IaaS障害等)はサイト内でフェールオーバーすることで業務継続が可能です。
一方、サイト間ではCLUSTERPROのミラーリング機能により共有ディスクのデータをミラーリング可能なため、メインサイトの全てのサーバーがダウンしたときにバックアップサイトにフェールオーバーすることで、最新データをもとに業務の継続が可能です。また、バックアップサイトは、メインサイトと同様に共有ディスク型クラスター構成をとることも、共有ディスクを使用せずにサーバー1台の構成で、内蔵ディスクへミラーリングする構成をとることも可能です。

2. 構築するHAクラスター構成の概要

今回は、Azure DNSを使用した3ノードハイブリッドディスク型のHAクラスターを構築します。
Azure Virtual Machines(以降、VM)を「東日本」リージョンと「西日本」リージョンにそれぞれ配置し、「東日本」リージョンと「西日本」リージョンの仮想ネットワーク間を、グローバル仮想ネットワーク ピアリングを利用して接続します。

構成は以下の通りです。

本構成では、Azure DNSを使用して接続先を切り替えます。
メインサイト(東日本リージョン)では2ノード構成の共有ディスク型クラスターを構築し、共有ディスクにデータを保存します。また、バックアップサイト(西日本リージョン)に用意した1台のサーバーのディスクに対して共有ディスク上のデータをミラーリングします。

メインサイト(東日本リージョン)内の障害はサイト内でフェールオーバーすることで業務継続し、メインサイト(東日本リージョン)の全てのサーバーがダウンした場合は、バックアップサイト(西日本リージョン)へフェールオーバーして業務継続します。

3. HAクラスター構築手順

Azureに「ハイブリッドディスク型HAクラスター」を構築します。
今回の構成は以下の通りです。

  • リソース グループの設定
    ■名前
     ・TestGroup1
    ■リソース グループの場所
     ・東日本
  • DNS ゾーンの設定
    ■名前
     ・test.zone
    ■レコードセット
     ・sample

  • 東日本リージョン
    -仮想ネットワークの設定
     ■名前
      ・Vnet1
     ■アドレス空間
      ・10.5.0.0/24
     ■サブネット名
      ・Vnet1-1
     ■サブネットアドレス範囲
      ・10.5.0.0/24

    -VMの設定
     ■ホスト名
      ・サーバー1(現用系VM):server01
      ・サーバー2(待機系VM):server02

    -NICの設定
     <ホスト名(server01)>
      ■NIC - IP構成
       ・ipconfig1(プライマリ):10.5.0.120
     <ホスト名(server02)>
      ■NIC - IP構成
       ・ipconfig1(プライマリ):10.5.0.121
  • 西日本リージョン
    -仮想ネットワークの設定
     ■名前
      ・Vnet2
     ■アドレス空間
      ・10.6.0.0/24
     ■サブネット名
      ・Vnet2-1
     ■サブネットアドレス範囲
      ・10.6.0.0/24

    -VMの設定
     ■ホスト名
      ・サーバー3(待機系VM):server03

    -NICの設定
     <ホスト名(server03)>
      ■NIC - IP構成
       ・ipconfig1(プライマリ):10.6.0.120

  • CLUSTERPROの設定(Windowsの場合)
    -サーバー
     ■server01
     ■server02
     ■server03
    -サーバーグループ
     ■svg1(server01、server02)
     ■svg2(server03)
    -ハートビートリソース
     ■カーネルモードLANハートビートリソース:各VMのIPアドレス
    -ネットワークパーティション解決リソース
     ■DISKネットワークパーティション解決リソース:H:\
    -フェールオーバーグループ (failover)
     ■Azure DNSリソース
      ・レコードセット名:sample
      ・ゾーン名:test.zone
      ・IP アドレス:
       (server01の場合)10.5.0.120
       (server02の場合)10.5.0.121
       (server03の場合)10.6.0.120
      ・リソースグループ名:TestGroup1
      ・ユーザURI:http://azure-test
      ・テナントID:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
      ・サービスプリンシパルのファイルパス:
       C:\Users\<ユーザー名>\examplecert.pem
      ・Azure CLI ファイルパス:
       C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\wbin\az.cmd
     ■ハイブリッドディスクリソース
      ・ハイブリッドディスクリソース用パーティション:M:\
      ・クラスタパーティション:R:\

  • CLUSTERPROの設定(Linuxの場合)
    -サーバー
     ■server01
     ■server02
     ■server03
    -サーバーグループ
     ■svg1(server01、server02)
     ■svg2(server03)
    -ハートビートリソース
     ■カーネルモードLANハートビートリソース:各VMのIPアドレス
     ■LANハートビートリソース:各VMのIPアドレス
     ■ディスクハートビートリソース:/dev/sdc3
    -フェールオーバーグループ (failover)
     ■Azure DNSリソース
      ・レコードセット名:sample
      ・ゾーン名:test.zone
      ・IPアドレス:
       (server01の場合)10.5.0.120
       (server02の場合)10.5.0.121
       (server03の場合)10.6.0.120
      ・リソースグループ名:TestGroup1
      ・ユーザURI:http://azure-test
      ・テナントID:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
      ・サービスプリンシパルのファイルパス:
       /root/examplecert.pem
      ・Azure CLI ファイルパス:/usr/bin/az
     ■ハイブリッドディスクリソース
      ・ハイブリッドディスクリソース用パーティション:/dev/sdc2
      ・クラスタパーティション:/dev/sdc1

HAクラスターの構築手順は「Azure向け HAクラスタ 構築ガイド」の「第 4 章 構築手順(Azure DNS を使用したHA クラスタの場合)」を参照ください。

【参考】
  • クラウド > Microsoft Azure > CLUSTERPRO X 4.3 向け HAクラスタ 構築ガイド
    → 第 4 章 構築手順(Azure DNS を使用したHA クラスタの場合)
  • クラウド > Microsoft Azure > CLUSTERPRO X 4.3 向け HAクラスタ 構築ガイド
    → 第 4 章 構築手順(Azure DNS を使用したHA クラスタの場合)

「Azure向け HAクラスタ 構築ガイド」は東日本リージョン(Vnet1)に2ノードミラーディスク型クラスターを構築する手順となりますが、今回は東日本リージョン(Vnet1)と西日本リージョン(Vnet2)で3ノードハイブリッドディスク型クラスターを構築します。
ミラーディスク型クラスターに必要なパーティションの作成やミラーディスクリソースの設定は行わず、ハイブリッドディスク型クラスターで必要なサーバーグループやパーティションの作成、ハイブリッドディスクリソースの設定を行うように適宜読み替える必要があります。

3.1 Microsoft Azureの設定

「Azure向け HAクラスタ 構築ガイド」の「4.2 Microsoft Azure の設定」を参考に設定を行います。
ガイドの「仮想ネットワークの作成」の項では、仮想ネットワーク ピアリングの設定を追加で行う必要があります。また、ガイドの「仮想マシンの作成」の項では、事前にAzure共有ディスクの機能を利用したマネージドディスクを作成し、VMにデータディスクとして追加する必要があります。

上記を踏まえ、以下で設定を行います。

3.1.1 仮想ネットワークピアリングの設定

東日本リージョンに作成する仮想ネットワーク「Vnet1」に加えて、西日本リージョンに仮想ネットワーク「Vnet2」を作成します。「Vnet1」と「Vnet2」の作成後は、仮想ネットワーク間を接続するために仮想ネットワーク ピアリングの設定を行います。設定の際は以前ご紹介した「仮想ネットワーク ピアリングを利用したリージョン間のHAクラスター構築」の記事を参照ください。

3.1.2 共有ディスクの作成とVMの設定

東日本リージョンには事前に「近接通信配置グループ」、「Azure共有ディスク」の機能を利用したマネージドディスク(共有ディスク)を作成しておきます。
作成後、VM(server01とserver02)を作成します。server01とserver02は「近接通信配置グループ」に配置し、共有ディスクをデータディスクとして追加します。手順の詳細は、以前ご紹介した「Azure共有ディスクを利用したHAクラスター構築」の記事を参照ください。

【参考】
popupAzure共有ディスクを利用したHAクラスターを構築してみました(Windows/Linux)
→ 3.1.1. 近接通信配置グループの作成
→ 3.1.2. Azure共有ディスクを作成する
→ 3.2.1. VMの設定
→ 3.2.2. データディスクの追加

西日本リージョンにはVM(server03)を作成します。server03にはハイブリットディスクに使用するため、データディスクを1つ追加します。

3.2 インスタンスの設定

「Azure向け HAクラスタ 構築ガイド」の「4.3 インスタンスの設定」を参考に設定を行います。
ガイドの「ミラーディスクの準備」の項では、ミラーディスクリソース用のパーティションではなく、ハイブリッドディスクリソース用のパーティションの作成を行う必要があります。

3.2.1 パーティションの確保

ハイブリッドディスク型クラスターの構築に必要なパーティションを作成します。

  • server01、server02(東日本リージョン)
    -クラスターパーティション
    -ハイブリッドディスクリソース用パーティション
    -ディスクハートビート用パーティション
  • server03(西日本リージョン)
    -クラスターパーティション
    -ハイブリッドディスクリソース用パーティション

詳細はCLUSTERPRO Xの「インストール&設定ガイド」を参照ください。

【参考】
  • CLUSTERPRO X 4.3 > Windows > インストール&設定ガイド

  • 第 2 章 システム構成を決定する
  • 2.6 ハードウェア構成後の設定
  • 2.6.1. 共有ディスクを設定する(共有ディスク使用時は必須)
  • ・1. ディスクハートビート用パーティションの確保
  • ・2. クラスタパーティションの確保 (ハイブリッド方式を使用する場合のみ)
  • ・3. ディスクリソース用切替パーティション / ハイブリッドディスクリソース用データパーティションの確保

  • CLUSTERPRO X 4.3 > Linux > インストール&設定ガイド

  • 第 2 章 システム構成を決定する
  • 2.8 ハードウェア構成後の設定
  • 2.8.2. ハイブリッドディスクリソース用の共有ディスクを設定する (Replicator DR 使用時は必須)
  • 2.8.3. ハイブリッドディスクリソース用のパーティションを設定する (Replicator DR 使用時は必須)

3.3 CLUSTERPROの設定

「Azure向け HAクラスタ 構築ガイド」の「4.4 CLUSTERPRO の設定」を参考に設定を行います。
ガイドの「クラスタの作成」、「グループリソースの追加」の項では、ハイブリッドディスク型クラスターの構築に必要なサーバグループ、ハイブリッドディスクリソースの設定を行う必要があります。以下、構築手順のポイントを記載します。
設定の詳細については、以下各手順の末尾に記載しているCLUSTERPRO Xの「インストール&設定ガイド」を参照ください。

  • 手順の基本的な流れは、WindowsとLinuxで同様ですが、設定手順がOSで異なる場合は、各OSの設定手順、設定画面を記載しますので、該当するOSの手順をご確認ください。

3.3.1 サーバーグループの作成

ハイブリッドディスク構成の場合、メインサイト、バックアップサイト毎に所属するVMを登録するためのグループを作成します。[サーバグループの設定]で、サーバグループを2つ作成します。

  • 1つ目のサーバーグループ(svg1)に東日本リージョンのVM(server01、server02)を追加します。
  • 2つ目のサーバーグループ(svg2)に西日本リージョンのVM(server03)を追加します。

servergroup-1
servergroup-2

【参考】
  • CLUSTERPRO X 4.3 > Windows > インストール&設定ガイド

  • 第 6 章 クラスタ構成情報を作成する
  • 6.4 クラスタ構成情報の作成手順
  • 6.4.1 クラスタの作成
  • サーバグループを作成する

  • CLUSTERPRO X 4.3 > Linux > インストール&設定ガイド

  • 第 6 章 クラスタ構成情報を作成する
  • 6.10 3ノードクラスタ (ハイブリッド方式) 構成情報の作成手順
  • 6.10.1. クラスタの作成
  • サーバグループを作成する

3.3.2 ディスクハートビート用パーティションの設定

ディスクハートビート用に確保したパーティションを使用して、Windowsの場合は「ネットワークパーティション解決リソース」、Linuxの場合は「ハートビートリソース」の設定を行います。

  • Windowsの場合
    • ネットワークパーティション解決の画面で設定します。[NP解決]の種別に「DISK」を追加し、server01、server02にディスクハートビートリソース用に作成したパーティションを選択します。server03のセルは空欄にします。

  • Linuxの場合
    • インタコネクトの画面で設定します。[インタコネクト]の種別に「DISK」を選択し、server01、server02にディスクハートビートリソース用に作成したパーティションを選択します、server03のセルは空欄にします。

【参考】
  • CLUSTERPRO X 4.3 > Windows > インストール&設定ガイド

  • 第 6 章 クラスタ構成情報を作成する
  • 6.4 クラスタ構成情報の作成手順
  • 6.4.1 クラスタの作成
  • ネットワークパーティション解決処理を設定する

  • CLUSTERPRO X 4.3 > Linux > インストール&設定ガイド

  • 第 6 章 クラスタ構成情報を作成する
  • 6.10 3ノードクラスタ (ハイブリッド方式) 構成情報の作成手順
  • 6.10.1. クラスタの作成
  • ネットワーク構成を設定する

3.3.3 フェールオーバーグループの作成

ハイブリッドディスク構成の場合、フェールオーバーグループ作成時に、[サーバグループ設定を使用する]をオンにします。
また、[利用可能なサーバグループ]リストから、[svg1]、[svg2]の順で[起動可能なサーバグループ]に追加します。

failovergroup-1
failovergroup-2

【参考】
  • CLUSTERPRO X 4.3 > Windows > インストール&設定ガイド

  • 第 6 章 クラスタ構成情報を作成する
  • 6.4 クラスタ構成情報の作成手順
  • 6.4.2 フェイルオーバグループの作成
  • フェイルオーバグループを追加する

  • CLUSTERPRO X 4.3 > Linux > インストール&設定ガイド

  • 第 6 章 クラスタ構成情報を作成する
  • 6.10 3ノードクラスタ (ハイブリッド方式) 構成情報の作成手順
  • 6.10.2 フェイルオーバグループの作成
  • フェイルオーバグループを追加する

3.3.4 ハイブリッドディスクリソースの追加

ハイブリッドディスク構成の場合、フェールオーバーグループにハイブリッドディスクリソースを追加します。依存関係の設定、復旧動作の設定は既定値から変更せずに進め、ハイブリッドディスクリソースの詳細画面で、以下の設定を行います。

  • Windowsの場合
    • [データパーティションのドライブ文字]にミラーリングするデータパーティションのドライブ文字(M:)、[クラスタパーティションのドライブ文字]にクラスタパーティションのドライブ文字(R:)をそれぞれのボックスに入力します。[情報取得]をクリックして、各サーバーのデータパーティションとクラスタパーティションのGUID情報を取得・表示します。

  • Linuxの場合
    • [ミラーパーティションデバイス名]ボックスでミラーパーティションデバイス名(/dev/NMP1)を選択します。マウントポイント(/mnt/hd1)、データパーティションデバイス名(/dev/sdc2)、クラスタパーティションデバイス名(/dev/sdc1)をそれぞれのボックスに入力します。[ファイルシステム]ボックスでファイルシステム(ext3)を選択します。

hybriddisk-lin

【参考】
  • CLUSTERPRO X 4.3 > Windows > インストール&設定ガイド

  • 第 6 章 クラスタ構成情報を作成する
  • 6.4 クラスタ構成情報の作成手順
  • 6.4.2 フェイルオーバグループの作成
  • グループリソース(ディスクリソース/ミラーディスクリソース/ハイブリッドディスクリソース) を追加する
  • ハイブリッドディスクの場合

  • CLUSTERPRO X 4.3 > Linux > インストール&設定ガイド

  • 第 6 章 クラスタ構成情報を作成する
  • 6.10 3ノードクラスタ (ハイブリッド方式) 構成情報の作成手順
  • 6.10.2 フェイルオーバグループの作成
  • グループリソース (ハイブリッドディスクリソース) を追加する

4. 動作確認

フェールオーバーの前後で、ハイブリッドディスクへのアクセス制御が行えていること、また、データの引き継ぎが行えていることを確認します。

  • 1.server01でフェールオーバーグループを起動します。
  • 2.server01からハイブリッドディスクリソース用パーティションにアクセスできることを確認します。(Windowsの場合:M:\、Linuxの場合:/mnt/hd1)
    また、server02、server03からハイブリッドディスクリソース用パーティションにアクセスできないことを確認します。
  • 3.server01からハイブリッドディスクリソース用パーティション配下にテキストファイルを作成します。
    エディタで開き、テキストファイルを編集して保存します。
  • 4.Cluster WebUIから、フェールオーバーグループをserver01からserver02に、手動で移動します。
  • 5.server02からハイブリッドディスクリソース用パーティションにアクセスできることを確認します。
    また、server01、server03からハイブリッドディスクリソース用パーティションにアクセスできないことを確認します。
  • 6.server02から、ハイブリッドディスクリソース用パーティション配下にテキストファイルが表示されていることを確認します。
    エディタで開き、テキストファイルの編集内容が引き継がれていることを確認します。また、新たにテキストファイルを編集して保存します。
  • 7.Cluster WebUIから、フェールオーバーグループをserver02からserver03に、手動で移動します。
  • 8.server03からハイブリッドディスクリソース用パーティションにアクセスできることを確認します。
    また、server01、server02からハイブリッドディスクリソース用パーティションにアクセスできないことを確認します。
  • 9.server03から、ハイブリッドディスクリソース用パーティション配下にテキストファイルが表示されていることを確認します。
    エディタで開き、テキストファイルの編集内容が引き継がれていることを確認します。

クラスターサーバー間で、ハイブリッドディスクリソース用パーティションへのアクセス制御が行えていること、データの引き継ぎが行えていることを確認しました。

まとめ

今回は、Azure上の異なるリージョン間でハイブリッドディスク型クラスターを構築する手順を紹介させていただきました。
共有ディスク装置の障害に対しても業務継続を可能としたい、サーバーの設置場所を離して地域災害に対応したい等のご要望がある場合は、是非お試しください。

本記事の構成をご検討の際は、CLUSTERPROのpopup試用版を用いて検証した後、ご提案・構築ください。

お問い合わせ

当ブログに関するお問い合わせは、popupお問い合わせ窓口 までお問い合わせください。