Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548
Warning: preg_match(): Compilation failed: unrecognized character follows \ at offset 1 in /home/r5652521/public_html/soma-engineering.com/wp-content/themes/affinger/functions.php on line 1548
【Azure】MS SQL Serverでクラスタ構成を作る(3)では以下の事を行いました。
- 各 DB サーバーから データベースエンジンを削除 → 完了
- Windows Firewall からルールを追加 → 完了
- フェールオーバークラスタの作成 → 完了
- 記憶域スペースダイレクト(S2D)の有効化 → 完了
- フェールオーバーのテスト → 完了
- SQL Server フェールオーバークラスタのインストール → 完了
- SQL Server フェールオーバークラスタにノード追加 → 完了
- Azure ロードバランサーの作成・構成
- プローブのクラスターの構成
- FCI フェールオーバーのテスト
以降は Azure のロードバランサーについて進みます。
作業手順
Azure のロードバランサーの作成
1. Azure Marketplace のネットワーキングから [Load Balancer] をクリックします。
2. 以下のように必要項目を入力・選択します。完了後に [作成] をクリックします。
- 名前:ロードバランサーの名前を入力します。
- 種類:内部を選択します。
- SKU: そのまま デフォルトで Basic とします。
- 仮想ネットワーク:フェールオーバークラスターと同じ仮想ネットワークを選択します。
- サブネット:フェールオーバークラスターと同じサブネットを選択します。
- IP アドレスの割り当て:静的を選択します。
- プライベート IP アドレス: SQL Server フェールオーバークラスター作成時に入力した IP アドレスを入力します。
- リソースグループ:フェールオーバークラスターと同じリソースグループを選択します。
Azure のロードバランサーの構成
1. バックエンドプールをクリックします。
2. [追加] をクリックします。
3. 名前にバックエンドプールの名前を入力します。
4. 関連付け先に [可用性セット] を選択し、可用性セットをクリックし、可用性セット名を選択します。
可用性セット名はフェールオーバークラスターと同じものを選択します。
5. ターゲット ネットワーク IP 構成の [+ターゲット ネットワーク IP 構成の追加] をクリックします。
6. フェールオーバークラスターの各ノードのネットワークインターフェースを選択します。
7. [OK] をクリックします。
8. バックエンドプールが作成されました。
9. 正常性プローブをクリックします。
10. [追加] をクリックします。
11. 以下のように入力・選択します。[OK] をクリックします。
- 名前:正常性プローブの名前
- プロトコル:TCP を選択
- ポート:59999 (SQL サーバーで追加した正常性プローブと同じポート)
- 間隔:デフォルト値 (5)
- 異常値しきい値:デフォルト値 (2)
12. 正常性プローブが作成されました。
13. 負荷分散規則をクリックします。
14. [追加] をクリックします。
15. 以下のように入力・選択します。[OK] をクリックします。
- 名前:負荷分散規則の名前
- IP バージョン:IPv4 を選択
- フロントエンド IP アドレス:SQL Server FCI クラスターのネットワーク リソースの IP アドレス
- プロトコル:TCP を選択
- ポート:59999 (SQL サーバーで追加した正常性プローブと同じポート)※1433 と表示してますが、これはここでは間違いです。この環境では 59999 が正です。
- バックエンドポート:デフォルト (80)
- 正常性プローブ:そのまま
- セッション永続化:[なし] を選択
- アイドルタイムアウト:デフォルト
- フローティング IP:[有効] を選択
16. 負荷分散規則が作成されました。
プローブのクラスターの構成
1. SQL サーバーで PowerShell を実行します。結構ここでハマりました。下にどの名前を参照すれば良いか、画像を貼っておきました。
[code language="powershell"]
$ClusterNetworkName = "クラスターネットワークの名前"
$IPResourceName = "IPリソースの名前"
$ILBIP = "ロードバランサーのIP"
[int]$ProbePort = "正常性プローブのポート番号"
Import-Module FailoverClusters
Get-ClusterResource $IPResourceName | Set-ClusterParameter -Multiple @["Address"="ILBIP";"ProbePort"=$ProbePort;"SubnetMask"="255.255.255.255";Network"=$ClusterNetworkName";"EnableDhcp"=0}
[/code]
$ClusterNetworkName はここを参照します。
$IPResourceName はここを参照します。
2. 実行後、PowerShell で以下を実行しますと、クラスタパラメーターが確認できます。
[code language="powershell"]
<span class="hljs-pscommand">Get-ClusterResource</span> <span class="hljs-variable">$IPResourceName</span> | <span class="hljs-pscommand">Get-ClusterParameter</span>
[/code]
実行結果
FCI フェールオーバーのテスト
フェースオーバークラスターから、SQL Server のサービスをフェールオーバーしてみます。
1. [役割] → SQL Server を右クリック → [移動] → [最適なノード]または[ノードの選択] をクリックします。
2. フェールオーバーが発動します。
3. SQL Server のサービスが片側のノードに移動し、フェールオーバーが成功しました。
SQL Server FCI への接続
1. フェールオーバー後に、SQL Management Studio を起動し、SQL Server FCI に接続してみます。
2. サーバー名に FCI 名とインスタンスを入力し、[接続] をクリックします。
3. 接続できない場合は、インスタンス名が正しくなかったり、ポートの接続が拒否されている可能性があるので、確認します。
4. 接続できました。
以上になります。
いかがでしょうか。内容的にかなり長くなってしまいましたが、何とか Azure でS2D と LoadBalancer を使い、WSFC を組む事ができました。
では最後までお読みいただきありがとうございました!
前のページ
【Azure】MS SQL Serverでクラスタ構成を作る(1)