第10回 フェイルオーバー構成をサポートしたDHCPサービスWindows Server 2012クラウドジェネレーション

DHCPサービスはネットワークの基本サービスであり、もし障害が発生すると、ネットワーク上の機器がまったく使えなくなる。Windows Server 2012のDHCPサービスでは簡単に冗長構成を取れるように、ホットスタンバイや負荷分散機能が追加されている。

» 2013年05月16日 17時44分 公開
[打越浩幸デジタルアドバンテージ]
Windows Server 2012クラウドジェネレーション
Windows Server Insider


「Windows Server 2012クラウドジェネレーション」のインデックス

連載目次

 ネットワーク機器が動作するためには、それぞれの機器に対して適切なIPアドレスを割り当てる必要があるが、このためには、現在ではDHCPサービスを利用するのが一般的である。DHCPサービスの機能は、ルータ機器などに含まれているほか、Windows Serverを始めとするサーバOSなどでも提供されており、広く使われている。Windows Server 2012ではDHCPサービスの機能が強化され、DHCPサービスの冗長構成などがサポートされている。MSCS(Microsoft Cluster Service)のようなクラスタを用意しなくても、DHCPサービスだけで冗長運用が可能だ。今回はこれについて見ていく。

 まずWindows Server 2012で強化されたDHCPサービス関連の機能強化点を次にまとめておく。

機能 概要
DHCPフェイルオーバー 2台のDHCPサーバを使って冗長構成のIPv4向けDHCPサーバを構築する。アクティブ/パッシブ型のホットスタンバイ・モードと、負荷分散モードの2種類の構成が選択できる
ポリシー・ベースのIPアドレス割り当て MACアドレスやDHCPベンダ・オプションなど、いくつかの条件によって、割り当てるIPアドレスの範囲やDHCPオプションなどをカスタマイズできる
PowerShell管理機能の強化 DHCPサーバ管理用に、約100個のPowerShellコマンドレットを追加
Windows Server 2012におけるDHCPサービス関連の機能改善点

2台のDHCPサーバを冗長構成で運用する

 DHCPサービスが利用できなくなるとネットワークに接続した機器が利用できなくなるため、その重要性は非常に高い。そこで、DHCPサービスを提供する場合は2台以上のサーバに分散するなどして、障害対策を施すことが少なくない。

 今までのWindows Serverでも、2台のDHCPサーバを使って簡易的な障害対策を行うことは可能であった。具体的な方法については以下の記事を参照していただきたいが、2台のDHCPサーバに重複しない2つのスコープを割り当て、どちらのDHCPサーバからでもIPアドレスを受け取れるようにするものである。

 この方法は、設定は簡単だし、どのWindows Server OSでも利用できるというメリットがあるが、運用には少し注意が必要である。IPアドレスのプールを2つに分けて2台のDHCPサーバに割り当てるのでアドレスの利用効率が半分になるし、2台のDHCPサーバに同じように設定を行う必要があるので、設定変更作業が面倒になる、などである。

 これを改善するために、Windows Server 2008 R2では、IPアドレスのプールを分割して、2台目のDHCPサーバに設定をコピーする機能が用意された。設定手順については以下の記事を参照していただきたい。

 ただしこの機能では、スコープの分割と最初の設定のコピーは行ってくれるが、その後の設定変更が自動的にコピーされることはない。スコープの設定を変更した場合は、手動で2台目のDHCPサーバの設定も変更する必要がある(もしくは2台目のDHCPサーバの設定を削除してから、スコープの分割作業をやり直す)。

Windows Server 2012のDHCPサーバの新機能

 Windows Server 2012では冗長構成のDHCPサーバの運用をサポートするため、DHCPサービスのフェイルオーバーや負荷分散機能などが新たに導入された。これを使えば、2台のDHCPサーバをフェイルオーバーで動作させたり、DHCPサービスを2台で分散処理させたりできる。まとめておくと、Windows Server 2012では次のような冗長運用の方法が利用できることになる。

方法 概要
ホットスタンバイ・モード Windows Server 2012の新機能。2台のDHCPサーバを使ってアクティブ/パッシブ型の冗長構成のIPv4向けDHCPサーバを構築する。常時動作するのはアクティブ側の1台だけだが、何らかの障害が発生した場合には、スタンバイ・モードで待機していたDHCPサーバに切り替わる。1台のDHCPサーバで設定を変更すると、それが他方にも伝達される。リースしたIPアドレスなどのデータベース情報は共有されているので、IPアドレスの利用効率が下がることはない
負荷分散モード Windows Server 2012の新機能。2台のDHCPサーバを常時動作させておき、負荷分散を図る。それ以外の機能は上のホットスタンバイ・モードと同じ
スコープの分割モード Windows Server 2008 R2における新機能。ウィザードを使ってスコープを分割し、2台目のDHCPサーバの設定を自動的に行う。ただしスコープの設定を変更した場合は、手動で2代目のDHCPサーバにも設定を適用する必要がある。TIPS「DHCPのスコープを分割して冗長構成にする(Windows Server 2008 R2編)」参照
DHCPサーバのクラスタ化 Windows Server OSのクラスタ機能を使ってDHCPサーバを冗長化する
2台のDHCPサーバを使った運用 2台のDHCPサーバで、スコープ内のIPアドレス・プールが重複しないように設定して運用する方法。TIPS「DHCPサーバを冗長構成で運用する方法」参照
Windows Serverで利用できるDHCPサーバの冗長運用方法

 以下、Windows Server 2012で新たに導入された2つのモードについて見ていく。

DHCPサーバのホットスタンバイ・モード

 これは2台のDHCPサーバを使って、アクティブ/パッシブ型の冗長構成を行う方式である。2台のDHCPサーバはスコープの情報やIPアドレスのリース状況などの情報を(通信によって)共有しているが、実際のIPアドレスの割り当て処理を行うのはアクティブな1台のDHCPサーバだけである。もしそのDHCPサーバに障害が発生して、通信できなくなったら、スタンバイ状態で待機していたバックアップのDHCPサーバがIPアドレスの割り当て作業を行う。

 2台のDHCPサーバは、1つのネットワーク上に配置しておく方法もあるが、組織内の複数のDHCPサーバのバックアップとして配置しておく、ハブ&スポーク型で運用してもよいだろう。この場合、バックアップ側のDHCPサーバは、DHCPリレー(別の場所に配置されているDHCPサーバへ、ルータを介して接続する機能)によってサービスを行うことになる。

ハブ&スポーク型としてホットスタンバイ・モードのDHCPサーバを配置する ハブ&スポーク型としてホットスタンバイ・モードのDHCPサーバを配置する
ホットスタンバイ・モードとは、常時運用するDHCPサーバのほかに、バックアップ用のDHCPサーバを用意する方式。通常はメインのDHCPサーバのみがサービスを提供する。メインのDHCPサーバに障害が発生した場合は、バックアップ用のDHCPサーバに切り替えてサービスを継続する。2台のDHCPサーバの配置にはいろいろな方式が考えられるが、ある程度の大きな組織では、各ネットワークごとにメインのDHCPサーバを1台置き、中央にバックアップアップ用のDHCPサーバを1台だけ置くという、ハブ&スポーク方式がよいだろう。バックアップ用のDHCPサーバでは、複数のDHCPスコープのバックアップを行う。

DHCPサーバの負荷分散モード

 これは2台のDHCPサーバでDHCP要求を処理する方法である。ホットスタンバイ・モードと違い、2台のDHCPは常時動作しているので、DHCPサーバの負荷分散にもなっている。同じネットワーク上に2台のDHCPサーバを配置できるなら、この方法で利用するのがよいだろう。なお2台のDHCPサーバ間では、IPアドレス・プールから配布するIPアドレスの割合を変更できる。50%と50%にしておくと、2台のDHCPサーバから均等にIPアドレスがリースされるが、例えば20%と80%にしておくと、2:8の割合(IPアドレスの数の割合)でIPアドレスがリースされる。

負荷分散モードのDHCPサーバ 負荷分散モードのDHCPサーバ
1つのネットワークに対して2台のDHCPサーバを用意し、負荷分散と障害対策の両方を行う方式。2台のDHCPサーバは、論理的には1つのIPアドレス・プールを共有し(実際は、それぞれの持つデータベースを同期させている)、クライアントに対しては2台のうちのいずれかが応答する。

 


フェイルオーバーを利用するための要件

 DHCPサーバのホットスタンバイや負荷分散モードを利用するために必要な要件は次の通りである。

  • DHCP役割をインストールした2台のWindows Server 2012(以前のServer OSでは利用できない)。
  • 2台のDHCPサーバの時刻は1分以内のずれになるように同期しておくこと。これよりずれが大きいと同期できない。2台のWindows Server 2012をActive Directoryドメインに参加させておけば、それぞれのサーバの時刻情報は自動的にドメイン・コントローラと同期するので、ドメインのメンバ・サーバとして運用するとよい。

DHCPサーバを負荷分散モードで導入する

 それではDHCPサーバを負荷分散モードで導入してみよう。冗長構成を利用するといってもその設定方法は簡単である。

 まず同じドメインのWindows Server 2012のメンバ・サーバを2台用意し、それぞれに「DHCP」の役割を追加してDHCPサーバとして稼働させておく(DHCPサーバには固定IPアドレスが必要だが、このあたりの設定手順は省略する)。そしていずれのDHCPサーバも「承認」された状態にしておくこと(DHCPの管理ツールでDHCPサーバ名を選び、右クリックして、ポップアップ・メニューから[承認]を実行する)。

 DHCPサーバを導入したら、次に「スコープ」を作成し、IPアドレス・プールやオプションなどを適切に定義しておく。そして実際にクライアントにIPアドレスが割り当てられるかどうか確認しておく。なお、これらの作業は1台目のDHCPサーバ上で行う。2台目のDHCPサーバは、DHCPサーバ役割を導入するだけでよく、後は何もしなくてよい(スコープを作成する必要はない)。

 DHCPの設定が完了したら、DHCPの管理ツールを開き、サーバ名の下にある[IPv4]あるいはスコープ名を右クリックし、ポップアップ・メニューから[フェール オーバーの構成]を実行する。

フェイルオーバーの設定の開始 フェイルオーバーの設定の開始
スコープ名を右クリックして、フェイルオーバーの設定を開始する。
  (1)DHCPスコープの例。ここでは「10.20.0.0/16」というネットワークに対するDHCPスコープを定義している。IPアドレス・プールやスコープ・オプションなども定義し、正しく動作することを確認しておくこと。
  (2)これを選択する。

 ウィザードの最初の画面では、どのスコープをフェイルオーバーの対象にするかを選択する。

利用可能なスコープの選択 利用可能なスコープの選択
この画面では、どのスコープをフェイルオーバーの対象にするかを選択する。
  (1)デフォルトでは、このDHCPサーバ上で定義されているすべてのスコープが対象となる。
  (2)複数のスコープがある場合は、ここで選択できる。グレー表示されているのは、自動的に選択されたスコープ。

 次の画面では、フェイルオーバーのパートナー(ペア)として利用するDHCPサーバを指定する。対象となるシステムには、あらかじめDHCPサーバ役割を導入して、「承認」操作を行っておくこと(スコープなどは何も定義しておく必要はない)。

パートナーとなるサーバの指定 パートナーとなるサーバの指定
フェイルオーバーのパートナーとなるDHCPサーバの名前を入力する。
  (1)フェイルオーバー先として利用するDHCPサーバの名前やIPアドレス。
  (2)これをクリックすると、承認されたDHCPサーバの一覧リストなどからサーバ名を入力できる。
  (3)一度作ったフェイルオーバー設定を削除するなど、以前のフェイルオーバーの構成が残っていた場合はこれを選択して、その内容を変更できる。

 次の画面では、フェイルオーバーの方法とそのパラメータを設定する。

フェイルオーバーの方法とそのパラメータの設定 フェイルオーバーの方法とそのパラメータの設定
ここではフェイルオーバーの方法やパラメータを設定する。
  (1)このフェイルオーバー構成に付ける名前を指定する。
  (2)パートナーがダウン状態になったことを検出した場合、ここで指定した時間が経つと、フェイルオーバーしたり、自分自身がマスタとなってDHCPサービスを制御する(パートナー・サーバに切り替えるまでの時間)。
  (3)モードを選択する。「負荷分散」か「ホットスタンバイ」が選択できる。ここでは「負荷分散」を選択する。
  (4)2台のDHCPサーバ間での負荷分散の割合。どちらかの値を変更すると、合わせて100%になるように、もう一方の値も自動的に変わる。
  (5)2台のDHCPサーバ間で認証を有効にする。デフォルトでオン。
  (6)認証に使用するパスワード文字列。適当なものを入力しておけばよい。

 「負荷分散の割合」とは、2台のDHCPサーバから配布するIPアドレス(の数)の割合である。均等に配布したいならデフォルトの50%と50%のままでよい。

 以上で設定は終わりである。[次へ]ボタンをクリックすると、設定内容の確認画面が表示されるので、[確認]ボタンをクリックすると、パートナーのDHCPサーバへ設定がコピーされ、スコープの作成やアクティブ化などが行われた後、DHCPサーバとして起動する。

フェイルオーバー構成の実行の確認画面 フェイルオーバー構成の実行の確認画面
ウィザードを終了すると、パートナーとなるDHCPサーバに対して構成情報がコピーされ、フェイルオーバーの構成やDHCPスコープの作成、アクティブ化が行われる。

 構成後のDHCP管理ツールの画面は次の通りである。2台目のDHCPサーバへ構成情報がコピーされていることが確認できる。2台のDHCPサーバの情報は同期されているので、IPアドレスのリース情報などはどちらのDHCPサーバでも同じように設定されていることが確認できる。設定したフェイルオーバーの構成は、「IPv4」やスコープのプロパティ画面で確認できる。変更したい場合は、一度フェイルオーバー設定を削除して、もう一度作り直せばよい。

DHCPサーバの管理画面 フェイルオーバー設定後のDHCPサーバの管理画面
DHCPのフェイルオーバーを設定すると、2台のDHCPサーバが連携して動作する。設定はどちらか1台だけに行えばよい。
  (1)元のDHCPサーバ。
  (2)負荷分散用に追加したパートナーDHCPサーバ。
  (3)このスコープ情報は、元のDHCPサーバからコピーされ、自動的に作成されたもの。2台のDHCPサーバが1つのIPアドレス・プールを(論理的に)共有して管理している。
  (4)フェイルオーバーが設定されていると、このようにリレーションシップ名(関係名)が表示される。

 以上のようにDHCPサーバが構成されている場合、DHCPクライアントから見ると、DHCPサーバが1台の場合と同じようにIPアドレスがリースされるが、どちらのDHCPサーバからリースされるかは不定である。「負荷分散の割合」で設定した確率に基づいて、いずれかのDHCPサーバからアドレスがリースされる。どちらのDHCPサーバから割り当てられているかは、クライアントのコマンド・プロンプト上で「ipconfig /all」などを実行してみれば確認できる。

DHCPサーバをホットスタンバイ・モードで導入する

 ホットスタンバイ・モードを利用する場合も設定手順はほとんど同じである。モードの選択画面で「ホット スタンバイ」を選択すればよい。

ホットスタンバイ・モードの設定 ホットスタンバイ・モードの設定
ホットスタンバイ・モードを利用するには、「フェイルオーバーの構成」画面でホットスタンバイを選ぶ。
  (1)これを選択する。
  (2)パートナー(2台目のDHCPサーバ)のモードを選択する。デフォルトではスタンバイ(1台目のDHCPサーバに障害が発生した場合に、アクティブになる)となっている。
  (3)スタンバイ・サーバに割り当てるIPアドレス・プールの割合。

ポリシー・ベースのIPアドレス割り当て

 Windows Server 2012のDHCPサーバで強化された機能として、もう1つ「ポリシー・ベースのIPアドレス割り当て」について解説しておく。これは、MACアドレスやDHCPのベンダ・オプションなどの条件に基づいて、特定のIPアドレスなどを割り当てる機能である。例えばMACアドレスが「00-15-5D-XX-XX-XX」の場合(これはHyper-Vの仮想マシンに割り当てられるデフォルトのMACアドレス)、「10.20.2.200〜250」のIPアドレスを割り当て、さらにDNSサーバは10.20.1.101にする、といったことが実現できる。

 Windows ServerのDHCPサーバには、MACアドレスを使った「予約」機能があるが、これを使う場合は、クライアントのMACアドレスをいちいち登録せねばならず、数が増えると面倒であった。だが特定のPCのMACアドレスがある範囲内にあると分かっているなら(MACアドレスの先頭3bytesのベンダ・コードが分かっているなら)、それらに対して特定のIPアドレス範囲を割り当てることができる。

 ポリシー・ベースのIPアドレス割り当ては、DHCPの管理ツールで左ペインのツリーにある[ポリシー]を右クリックし、ポップアップ・メニューから[新しいポリシー]を選択すれば定義できる。以下にポリシーの定義例を示しておく。

ポリシーの定義例(ウィザード画面からの抜粋) ポリシーの定義例(ウィザード画面からの抜粋)
これはポリシーの定義ウィザードの要約画面。MACアドレスに基づいたポリシーを定義している。
  (1)ここでは条件として、「MACアドレスが00155Dxxxxxx」という条件を定義している(下位3bytesは任意)。複数の条件をANDやORで結合して定義することも可能。
  (2)このポリシーで割り当てられるIPアドレスの範囲。DHCPスコープで定義されているIPアドレス・プールのうちの一部をこのようにポリシーで使用できる。
  (3)追加のDHCPオプションの例。ポリシーにマッチしたクライアントには、このようなカスタマイズしたDHCPオプション・パラメータを渡せる。


 今回は、DHCPサービスのフェイルオーバー構成やポリシー・ベースのIPアドレス割り当てについて見てきた。DHCPサービスはネットワークの基幹サービスであり、高い信頼性が求められる重要な機能である。OSの標準機能だけでDHCPサーバを冗長構成にできるのは、非常に便利であり、ぜひ活用したいところだ。


「Windows Server 2012クラウドジェネレーション」のインデックス

Windows Server 2012クラウドジェネレーション

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。