Japan
サイト内の現在位置を表示しています。
Azure File Storage を利用した HAクラスターの構築を試してみました(Windows)
CLUSTERPRO オフィシャルブログ ~クラブロ~はじめに
Azure File Storageとはサーバー メッセージ ブロック (SMB) プロトコル使用してファイル共有機能を提供するサービスです。
この記事の内容
HAクラスター構築手順
HAクラスター構成
- -Azure DNSを使用して現用系サーバーへ接続先を切り替え
- -HAクラスター対象のアプリケーションに minioを使用
- ※検証環境は、以前のブログ「Azure DNS を利用した HAクラスター構築(Windows)」のクラスター環境を使用します。
1.Azureに仮想マシンを作成
- ※仮想マシンの作成手順は、「Azure DNS を利用した HAクラスター構築(Windows) 」を参照ください。
2.仮想マシン(HAクラスター化対象サーバー)にCLUSTERPRO Xをインストール
- ※CLUSTERPROのインストール手順は、「Azure DNS を利用した HAクラスター構築(Windows)」を参照ください。
3.Azure File Storageにファイル共有を作成
- ストレージアカウント: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
「Azure File Storage にファイル共有を作成する」
4.HAクラスターを構築
WebManagerは、Webブラウザー経由でHAクラスターの管理や構築を行う運用管理ツールです。
- ※WebManagerを起動するマシンにはJava実行環境(JRE)がインストールされている必要があります。
スタートアップガイドなどで動作検証済みのJava実行環境を確認し、適宜インストールしてください。
構築の流れ
②フェールオーバーグループの作成
③モニターリソースの作成
①HAクラスターの作成
- HAクラスターを作成
- サーバーを追加
- ネットワーク構成を設定
- ネットワークパーティション解決処理を設定
②フェールオーバーグループの作成
- スクリプトリソース(Azure DNS切り替え用)
- スクリプトリソース(Azure File Storageアクセス制御用)
- スクリプトリソース(minio制御用)
スクリプトリソース(Azure DNS切り替え用)
- ※スクリプトリソース(Azure DNS切り替え用)の設定手順は、「Azure DNS を利用した HAクラスター構築(Windows)」を参照ください。
スクリプトリソース(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%
…省略…
「Windows で Azure ファイル共有をマウントして共有にアクセスする」
スクリプトリソース(minio制御用)
スクリプトによって、minioの起動/停止を実行します。
スクリプトリソース(Azure File Storageアクセス制御用)と同様の手順でスクリプトリソースを設定します。
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%
③モニターリソースの作成
- カスタム監視リソース(Azure DNS監視用)
- カスタム監視リソース(minio監視用)
- ※モニターリソースの作成手順は、「Azure DNS を利用した HAクラスター構築(Windows)」を参照ください。
5.動作確認
手動フェールオーバー前と同様にアクセスできることが確認できました。
注意事項
ネットワークドライブの一覧には、"切断したネットワークドライブ"と表示されます。
ネットワークドライブはSYSTEM権限で接続可能です。その他のユーザーで接続する場合には、別途、接続の設定が必要となります。
まとめ
サーバー間のデータ引き継ぎ場所としてAzure File Storageが使用可能なことを確認できました。
また、今回はAzure File Storageのマウント、アンマウントをCLUSTERPRO Xで制御しましたが、CLUSTERPROで制御せずAzure File Storageを両ノードから常時マウントしておく構成も可能です。
なお、Azure File Storageを利用する際は、I/O性能を事前に確認ください。
最後まで読んでいただきありがとうございました。
お問い合わせ
- ※本記事で紹介しているスクリプトの内容についてのお問い合わせ、および、お客様環境に合わせたカスタマイズにつきましてはCLUSTERPRO導入支援サービスにて承っておりますので、上記窓口の"ご購入前のお問い合わせ"フォームまでお問い合わせください。