ページの先頭です。
サイト内の現在位置を表示しています。
  1. ホーム
  2. ソフトウェア
  3. CLUSTERPRO
  4. ブログ
  5. 2017/10/02 記事
ここから本文です。

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

Azure File Storage を利用した HAクラスターの構築を試してみました(Windows)

はじめに

今回はAzure File Storageをサーバー間のデータ引き継ぎ場所に使用したHAクラスターの構築を試してみました。
Azure File Storageとはサーバー メッセージ ブロック (SMB) プロトコル使用してファイル共有機能を提供するサービスです。

この記事の内容

以下の手順で、AzureでHAクラスターを構築します。
  1. Azureに仮想マシンを作成
  2. 仮想マシン(HAクラスター化対象サーバー)にCLUSTERPRO Xをインストール
  3. Azure File Storageにファイル共有を作成
  4. HAクラスターを構築
  5. 動作確認

HAクラスター構築手順

HAクラスター構成

2ノードのHAクラスターを構築します。

 

  • 1.Azureに仮想マシンを作成

    2.仮想マシン(HAクラスター化対象サーバー)にCLUSTERPRO Xをインストール

    3.Azure File Storageにファイル共有を作成

    Azure CLI 2.0を使用してファイル共有を作成します。

    • ストレージアカウント:samplestorage
    • 共有ファイル名:sampleshare
    • ファイル共有のクォータ (最大サイズ):10GB

    > $StorageAccountName=samplestorage
    > $AccountKey=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ←Storage Acount Keyを指定

    > $FileShareName=sampleshare
    > $FileShareSize=10
    >
    > az storage share create --name $FileShareName --account-key $AccountKey --account-name $StorageAccountName --quota $FileShareSize

    ファイル共有の作成手順は以下のURLを参考にしました。
    「Azure File Storage にファイル共有を作成する」
    https://docs.microsoft.com/ja-jp/azure/storage/storage-file-how-to-create-file-share

    4.HAクラスターを構築

    WebManagerを使用して構築します。
    WebManagerは、Webブラウザー経由でHAクラスターの管理や構築を行う運用管理ツールです。

    Webブラウザーで、CLUSTERPRO Xをインストールしたサーバーに接続して、WebManagerを起動します。
    http://サーバーのIPアドレス:29003

    • WebManagerを起動するマシンにはJava実行環境(JRE)がインストールされている必要があります。
      スタートアップガイドなどで動作検証済みのJava実行環境を確認し、適宜インストールしてください。

    例) http://10.10.2.7:29003

    構築の流れ

    ①HAクラスターの作成
    ②フェールオーバーグループの作成
    ③モニターリソースの作成

    ①HAクラスターの作成

    クラスター名やサーバー名、ネットワークの設定を実行し、設定を反映します。

    • HAクラスターを作成
    • サーバーを追加
    • ネットワーク構成を設定
    • ネットワークパーティション解決処理を設定

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

    3つのリソースを追加します。

    • スクリプトリソース(Azure DNS切り替え用)
    • スクリプトリソース(Azure File Storageアクセス制御用)
    • スクリプトリソース(minio制御用)

    スクリプトリソース(Azure DNS切り替え用)

    Azure DNS のレコードの制御により、接続先の切り替えを実現します。

    スクリプトリソース(Azure File Storageアクセス制御用)

    Azure File Storageのアクセス制御を実現します。
    スクリプトリソースでは、フェールオーバーグループの起動時、終了時、移動時に任意のスクリプトを実行します。
    スクリプトによって、Azure File Storageに対するマウント、アンマウントを実施することで、フェールオーバーグループが起動しているノードからAzure File Storageにアクセスすることができます。
     

    スクリプトリソース(Azure File Storageアクセス制御用)の設定を実施します。

    起動スクリプト(start.bat)、停止スクリプト(stop.bat)にそれぞれ Azure File Storageをマウント、アンマウントするスクリプトを記載します。
    今回は、サンプルスクリプトにStorage Account Keyを直接記述しています。
    CLUSTERPRO Xでは、スクリプトを実行する場合に、環境変数によってスクリプト実行要因を指定します。
    スクリプトの記述についての詳細は CLUSTERPRO Xのリファレンスガイドを参照ください。

    起動スクリプト(抜粋)

    set StorageAccount=samplestorage
    set FileShareName=sampleshare
    set StorageAccountKey=XXXXXXXXXXXXXXXXXXXXXXXXXXXX
    set DriveLetter=Z

    …省略…
    net use "%DriveLetter%": "\\%StorageAccount%.file.core.windows.net\%ShareFileName%" "%StorageAccountKey%" "/user:Azure\%StorageAccount%" /persistent:NO
    exit /b %errorlevel%
    …省略…

    停止スクリプト(抜粋)

    set DriveLetter=Z

    …省略…
    net use "%DriveLetter%": /delete
    exit /b %errorlevel%
    …省略…

    ファイル共有のマウント手順は以下のURLを参考にしました。
    「Windows で Azure ファイル共有をマウントして共有にアクセスする」
    https://docs.microsoft.com/ja-jp/azure/storage/storage-file-how-to-use-files-windows

    スクリプトの戻り値を判定するため、[正常な戻り値]の設定を実施します。

    スクリプトリソース(Azure File Storage アクセス制御用)の設定画面04

    スクリプトリソース(minio制御用)

    minioの制御を実現します。
    スクリプトによって、minioの起動/停止を実行します。

    スクリプトリソース(Azure File Storageアクセス制御用)と同様の手順でスクリプトリソースを設定します。

    リソースの依存関係(起動順序)をスクリプトリソース(Azure File Storageアクセス制御用)の起動後にminioが起動するように変更します。

    起動スクリプト(start.bat)、停止スクリプト(stop.bat)にそれぞれminioを起動/停止するスクリプトを記載します。

    起動スクリプト(抜粋)

    start C:\minio\minio.exe --config-dir C:\minio server Z:\
    tasklist |find "minio"
    exit /b %errorlevel%

    停止スクリプト(抜粋)

    tasklist |find "minio"
    if errorlevel 1 exit /b 0
    taskkill /IM minio.exe
    exit /b %errorlevel%

    ③モニターリソースの作成

    2つのリソースを追加します。
    • カスタム監視リソース(Azure DNS監視用)
    • カスタム監視リソース(minio監視用)

    5.動作確認

    フェールオーバーグループをServer1で起動します。

    仮想ホスト名を使用してminioに接続します。

    手動フェールオーバーを実行。

    上記の手動フェールオーバー後も同様に仮想ホスト名を使用してminioに接続します。
    手動フェールオーバー前と同様にアクセスできることが確認できました。

    注意事項

    スクリプトリソースは SYSTEM権限で動作するため、Azure File StorageのマウントはSYSTEM権限で実行されます。
    ネットワークドライブの一覧には、"切断したネットワークドライブ"と表示されます。
    ネットワークドライブはSYSTEM権限で接続可能です。その他のユーザーで接続する場合には、別途、接続の設定が必要となります。

    まとめ

    今回はAzure File Storageを利用したHAクラスターの構築手順を紹介させていただきました。
    サーバー間のデータ引き継ぎ場所としてAzure File Storageが使用可能なことを確認できました。
    また、今回はAzure File Storageのマウント、アンマウントをCLUSTERPRO Xで制御しましたが、CLUSTERPROで制御せずAzure File Storageを両ノードから常時マウントしておく構成も可能です。
    なお、Azure File Storageを利用する際は、I/O性能を事前に確認ください。

    最後まで読んでいただきありがとうございました。

    参考

    クラウド向けクラスター構築支援サービス(クラウドHAコンサル)を実施しています。
    お問い合わせ先はこちら(info@clusterpro.jp.nec.com)

    お問い合わせ

    当ブログに関するお問い合わせは、CLUSTERPRO プリセールスお問い合わせ窓口(info@clusterpro.jp.nec.com)までお問い合わせください。

    資料請求・お問い合わせ

    CLUSTERPRO

    ページの先頭へ戻る