DHCP

【図解】Windows DHCP fail over の設定とスコープ変更後の同期(スコープのレプリケート)と確認コマンド

DHCP フェールオーバークラスタとは

Windows の DHCP サーバを冗長化する際、昔は 1 台ずつスコープを分けて設定するものでした。

例えば「DHCPサーバ#1」には『192.168.1.1 ~ 192.168.1.100』のスコープを設定し、「DHCP サーバ#2」には『192.168.1.101 ~ 192.168.1.200』のスコープを設定する、というやり方です。

これだとサーバが 1 台障害した際、払い出せる数が半分になってしまいます。

Windows 2012 以降は『フェールオーバークラスタ』という設定により、複数のサーバで同じスコープを設定することができるようになりました。

フェールオーバークラスタではサーバ間でリースした IP 情報をお互いにやり取りして同期をとるため、重複して払い出すことがありません。

この記事では Windows Server 2019 でのフェールオーバークラスタの設定例と、フェールオーバークラスタのスコープを変更する際の同期方法、フェールオーバーの解除・削除方法、フェールオーバーの状態を確認する方法を紹介します。

Windows Server 2019 でのフェールオーバークラスタの設定例

192.168.1.1 ~ 192.168.1.200 のスコープをフェールオーバークラスタ設定します。

構成と設定の概要図は以下の通りです。

1. DHCPサーバの役割インストール

まずは 2 台のサーバに対し DHCP サーバの役割をインストールします。2 台とも共通の設定手順になります。

dhcp-foc-01
dhcp-foc-02
dhcp-foc-03
dhcp-foc-04
dhcp-foc-05
dhcp-foc-06
dhcp-foc-07
dhcp-foc-08
dhcp-foc-09
dhcp-foc-10
dhcp-foc-11
dhcp-foc-12
dhcp-foc-13
previous arrow
next arrow
dhcp-foc-01
dhcp-foc-02
dhcp-foc-03
dhcp-foc-04
dhcp-foc-05
dhcp-foc-06
dhcp-foc-07
dhcp-foc-08
dhcp-foc-09
dhcp-foc-10
dhcp-foc-11
dhcp-foc-12
dhcp-foc-13
previous arrow
next arrow

2. スコープ作成

その次に、片方のサーバのみにスコープを定義します。ここでは #1 に設定します。

サーバーマネージャーのダッシュボードの右上「ツール」から「DHCP」をクリックし、コンソールを起動します。

dhcp-foc-14
dhcp-foc-15
dhcp-foc-16
dhcp-foc-17
dhcp-foc-18
dhcp-foc-19
dhcp-foc-20
dhcp-foc-21
dhcp-foc-22
dhcp-foc-23
dhcp-foc-24
dhcp-foc-25
previous arrow
next arrow
dhcp-foc-14
dhcp-foc-15
dhcp-foc-16
dhcp-foc-17
dhcp-foc-18
dhcp-foc-19
dhcp-foc-20
dhcp-foc-21
dhcp-foc-22
dhcp-foc-23
dhcp-foc-24
dhcp-foc-25
previous arrow
next arrow

3. 作成したスコープのフェールオーバー設定

その次に、作成したスコープに対し、フェールオーバークラスタの設定をします。スコープを右クリックし [フェールオーバーの構成] をクリックすればそのスコープだけクラスタ設定ができますが、[IPv4] を右クリックして [フェールオーバーの構成] をクリックすれば複数のスコープをいっぺんにクラスタ設定可能です。

dhcp-foc-26
dhcp-foc-27
dhcp-foc-28
dhcp-foc-29
dhcp-foc-30
dhcp-foc-31
previous arrow
next arrow
dhcp-foc-26
dhcp-foc-27
dhcp-foc-28
dhcp-foc-29
dhcp-foc-30
dhcp-foc-31
previous arrow
next arrow

なお、このクラスタ設定のサーバの検出は MS-RPC (DCOM) を使っているようです。wireshark で tcp/135 の通信が確認できました。

そのため、もし WORKGROUP 環境のサーバ 2 台でフェールオーバーを構成する場合は、ローカル管理者の ID/パスワードを揃える必要があります。(ローカル administrator のパスワードが異なるとパートナーサーバーの設定でエラーになります。)

以上で設定作業は完了です。

スコープ変更時のフェールオーバー設定の同期 (スコープのレプリケート)

もし運用中にスコープを変更したい、というとき、まずはどちらかの片方のサーバのスコープを変更します。例えばここで「192.168.1.1 ~ 192.168.1.198」に修正したとします。

ですが、フェールオーバークラスタを組んでいてもこの設定はもう片方のサーバには自動では反映されません。

同期するためには [IPv4] を右クリックし、[スコープのレプリケート] をクリックします。

必ず、修正したサーバでこの作業をしてください。対向のサーバで [スコープのレプリケート] を実行すると、対向のサーバの設定が修正したサーバ側の設定を上書きしてしまう (つまり元の設定に戻ってしまう) ことになります。

同期が成功すると以下のように表示されます。

フェールオーバーの解除 (削除)

フェールオーバーの解除・削除をするには、スコープを右クリックし、[フェールオーバーの構成解除] をクリックします。

解除・削除はどちらのサーバからでも実施できますが、この手順を実行したサーバ側ではスコープがそのまま残り、対向のサーバではそのスコープが削除されます。

フェールオーバーの設定状態の確認

PowerShell の Get-DhcpServerv4Failover コマンドで状態を確認できます。State が Normal となっており正常であることが分かります。

PS C:\Users\Administrator> Get-DhcpServerv4Failover

Name                : win-7am8cvaqdrt-192.168.0.202
PartnerServer       : 192.168.0.202
Mode                : LoadBalance
LoadBalancePercent  : 50
ServerRole          :
ReservePercent      :
MaxClientLeadTime   : 01:00:00
StateSwitchInterval :
State               : Normal
ScopeId             :
AutoStateTransition : False
EnableAuth          : True

コメント

タイトルとURLをコピーしました