Windows Server クラスター、特に Server 2016 以降の新しいバージョンを使っていると、オプションが増え、複雑さも増し、かなり面白くなります。以前は、クラスターを動作させるにはすべてのサーバーが同じ AD ドメインに属している必要があり、それが面倒なことがありました。しかし、最新バージョンでは、その範囲を少し広げて、異なるドメインのサーバー、さらにはワークグループ内のサーバーも扱えるようになりました。かなり大胆な展開ですが、適切な計画を立てないと少し混乱することもあります。ここでの目標は、頭を悩ませることなくフェールオーバー クラスターを稼働させることです。そこで、実践的な概要を以下に示します。
Windows Server 2016/2019+ でフェールオーバー クラスターを修正または設定する方法
方法1: 基本構成でクラスターノードを準備する
- まず、すべてのノードにフェールオーバークラスタリングの役割をインストールする必要があります。PowerShellを管理者として起動し、次のコマンドを実行します。
Install-WindowsFeature Failover-Clustering –IncludeManagementTools - 次に、すべてのノードで共有するローカル管理者アカウントを作成し、同じパスワードを設定します。セキュリティは基本的なものですが、これにより問題を回避することができます。例えば
net user /add clustadm Sup33P@ssw0Rd!、net localgroup administrators clustadm /add - 「要求されたレジストリアクセスは許可されていません」というエラーが表示された場合は、UACの制限によるものと考えられます。具体的には、レジストリを調整する必要があります。
New-ItemProperty -Path HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Policies\\System -Name LocalAccountTokenFilterPolicy -Value 1 - すべてのノードが同じプライマリDNSサフィックスを持っていることを確認してください。これにより、ノードはIPではなくFQDN名で相互に通信できるようになり、クラスタリングには不可欠です。通常は「システムプロパティ」>「コンピューター名」>「変更」>「詳細…」で確認できます。
- 各ネットワークアダプタの「TCP/IP詳細設定」で、「DNS接続アドレスを登録する」のチェックを外します。Windowsの都合で、処理が複雑になるからです。
- 重要:すべてのサーバーが互いの名前を正しく解決できるように、 hostsファイルを編集する必要があります。特にDNSが信頼できない場合やテスト環境の場合は重要です。例えば、他のサーバーでも同様です。基本的な手順ですが、名前解決の手間を省くことができます。
c:\windows\system32\drivers\etc\hosts192.168.1.21 clust-host1192.168.1.21 clust-host1.mylocal.net
方法2: レジストリまたは権限の問題を修正する
- 管理共有へのリモートアクセスを有効にするとエラーが発生する場合は、上記のレジストリ調整(LocalAccountTokenFilterPolicy)で通常は解決しますが、適用には再起動または再ログインが必要になる場合があることにご注意ください。特定の設定では、これらの変更を行った後、再度試行したり、システムを再起動する必要がある場合もあります。
方法3: クラスターの検証と構築
- クラスター検証ツールを実行します。
Test-Cluster -Node "clust-host1.mylocal.net", "clust-host2.mylocal.net" - すべてが問題なければ、クラスターを作成します。
New-Cluster -Name cluster1 -Node clust-host1.mylocal.net, clust-host2.mylocal.net -AdministrativeAccessPoint DNS -StaticAddress 192.168.1.20 - その後、Get-ClusterまたはGet-ClusterResourceを使用してステータスを確認してください。名前解決がうまくいかなかったり、構成が適切に同期されていなかったりすると、予期せぬ問題が発生する可能性があります。
追加のヒントとトラブルシューティング
- クラスターをグラフィカルに管理するには、 Windows 10 の RSAT ツールまたは Server Manager からフェールオーバー クラスター マネージャーをインストールします。このインターフェース経由でクラスターに接続し、正常性を確認します。
- 偶数ノードで作業している場合は、クォーラム監視(共有ストレージの場合はディスク監視、Azure の場合はクラウド監視)を設定することを忘れないでください。SMB 共有フォルダーは監視として使用できません。新しい構成では、SMB 共有フォルダーは監視として使用できません。
正直に言うと、最初の数回はちょっと大変です。特に名前付け、権限、ネットワーク設定に関しては、試行錯誤が必要です。しかし、すべてが接続され、クラスターのステータスが正常であれば、「うまく動いている」という満足感が得られます。場合によっては、設定によっては、すべての部分を正常に動作させるために1、2回の再起動が必要になることもあります。
これで少しでも頭が軽くなれば幸いです。クラスタリングはいつもパズルのようですが、一度理解してしまえば、あとは順調に進むのです。
まとめ
- すべてのノードにフェールオーバー クラスタリング ロールをインストールする
- 共有管理者アカウントを作成し、同じパスワードを設定する
- 必要に応じてリモート管理共有のレジストリを構成する
- ネットワークアダプタ設定でDNS登録のチェックを外す
- 名前解決のためにhostsファイルを編集する
- 検証テストを実行し、クラスターを作成します
- フェールオーバー クラスター マネージャーを使用してクォーラム監視を管理および追加する
まとめ
Windows Server クラスターを異なるドメインやワークグループ間で動作させることは不可能ではありませんが、決して簡単ではありません。権限、名前解決、ネットワークの整合性を確保することが重要です。一度調整すれば、クラスターは非常に信頼性の高いものになりますが、途中で多少のトラブルが発生することも覚悟しておきましょう。この記事が、誰かの困った状況解決の助けになれば幸いです。頑張ってください!