フェイルオーバー機能を使いこなせ〜DHCPサーバー編(2):基礎から学ぶサーバーマネージャーの使い方(2)
Windows Server 2012 R2には、DHCPのフェイルオーバー機能が搭載されている。これにより、DHCPサーバーの柔軟な冗長構成が可能だ。
「DHCPのフェイルオーバー」で柔軟な冗長構成を
Windows Server 2008 R2以前は、DHCP(Dynamic Host Configuration Protocol)の冗長構成を考慮した設計を行う場合、DHCPサーバーをフェイルオーバークラスター構成にするか、複数台のDHCPサーバーを用意して同じスコープ範囲をそれぞれ設定し、除外範囲の設定で重複するアドレスを取り除くことで構成していた。
前バージョンのWindows Server 2012からは「DHCPのフェイルオーバー」機能が搭載されたことにより、柔軟な冗長構成が可能になった。DHCPのフェイルオーバー機能には「ホットスタンバイモード」と「負荷分散モード」がある(図1)。それぞれの動作の違いを理解することで、より適切な運用ができるようになるだろう。
DHCPのフェイルオーバーを構成するには
Windows Server 2012 R2でDHCPのフェイルオーバーを構成するには、まずは「サーバーマネージャー」からDHCPサーバーの管理コンソールを起動して、スコープを作成する。次に作成したスコープを右クリックして、「フェイルオーバーの構成」を選択する。すると、ウィザードが起動するので、指示に従って構成を進めていけばよい。
このフェイルオーバー機能は1対1の構成になっているので、一方のDHCPで設定を行うことで、対向のDHCPにはスコープ情報などの設定が反映される。その際、対向のDHCPサーバーが承認されていないとスコープはアクティブにならないので注意してほしい。
ホットスタンバイの構成
「ホットスタンバイモード」では、次の設定を行う必要がある(画面1)。
- クライアントの最大リードタイム(MCLT:Maximum Client Lead Time)
- スタンバイサーバー用に予約されているアドレス
- 状態切り替えの間隔
- メッセージの認証を有効にする
それぞれの設定の意味は、図2のようになる。
例えば、サーバー「DHCP01」がアクティブで、サーバー「DHCP02」がスタンバイとしてDHCPフェイルオーバーを構成したとしよう。その際、MCLTを「10分」、状態の切り替えを「30分」とする。
DHCPサーバーのデフォルトのIPアドレスリース期間は「8日間」だが、DHCPフェイルオーバーの構成をした場合、DHCPクライアントは初めにMCLTで設定した時間である「10分」の有効期間でリースされる。
クライアントがDHCP01からリースした場合、DHCP01はDHCP02にアドレスとクライアント情報を通知する。この際、メッセージの認証を行う場合は「メッセージの認証を有効にする」をチェックして「共有シークレット」を入力しておこう。
DHCP02はそれらのクライアント情報をDHCPデータベースに追加するのだが、本来ならMCLTで設定された期間(10分)がリース期間として配布されるはずだ。しかし、この場合にはデフォルトの「8日間」がリース期間として追加されることがポイントになる。
DHCPクライアントはMCLT期間が経過するとリース更新が発生し、再度DHCP01から同じIPアドレスをリースされるが、この場合のリース期間はデフォルトの「8日間」となる。この動作が行われることで、両方のサーバーが同じリース期間として保存される。
なぜ、MCLTを最初にリースする必要があるか疑問に思うかもしれない。MCLTを使用しない前提で、DHCP01がDHCP02に情報を通知する前にダウンしたとしよう。この場合、DHCP02にはDHCP01がDHCPクライアントに提供したアドレス情報はないので、同じアドレスを本来のリース期間でリースしてしまう可能性が発生するのだ。このような動作を防ぐために、DHCP02にはあらかじめ正規のリース期間が登録された状態を維持してから、DHCP01はDHCPクライアントに対して正規のリース期間を付与している。
DHCPサーバーの状態
DHCPサーバーには、次の三つの状態がある。
状態 | 説明 |
---|---|
標準 | フェイルオーバーモードに基づいて動作し、クライアントに対して正常にサービスを提供している状態 |
パートナーとの接続なし | DHCPフェイルオーバーで構成された二つのサーバー間で通信の問題が発生した場合、各サーバーは通信が中断された状態に移行する |
パートナー停止中 | パートナー停止中状態では、DHCPサーバーはフェイルオーバーパートナーが動作していないことを前提として、スコープ全体を引き継ぐことができる |
通常運用時は「標準」であり、何らかの障害が発生すると「パートナーとの接続なし」に変化し、その後「パートナー停止中」となる。「パートナーとの接続なし」から「パートナー停止中」までの状態は、手動と自動で変更することができる。
自動でスタンバイサーバーの状態が「パートナー停止中」となるためには、「状態切り替えの間隔」を設定する必要がある。本稿では「状態切り替えの間隔」を「30分」に設定したので、DHCP01がダウンするとDHCP02のステータスは「パートナーとの接続なし」に変化し、30分後に自動的に「パートナー停止中」となる。
「状態切り替えの間隔」を設定しない場合は、手動で変更する必要がある。手動での変更はGUI(Graphical User Interface)で行う方法と、Windows PowerShellを使う方法がある。
GUIで状態を変更するには、DHCPの管理コンソールから「IPv4プロパティ」を開き、「フェイルオーバー」タブで「フェイルオーバーリレーションシップ」の編集をクリックする(画面2)。
Windows PowerShellによる変更は、次のコマンドレットを実行すればよい。
Set-DhcpServerv4Failover -PartnerDown <関係名>
スタンバイサーバーの状態が「パートナー停止中」になると、MCLTで設定した期間が経過後にスタンバイサーバーがスコープを制御して、100%のアドレス範囲を振り出すことができるようになる。
アクティブサーバーがダウンした場合、DHCPクライアントのIPアドレスのリース期間はMCLTで設定した値となる。これはスタンバイ側の状態が「パートナーとの接続なし」および「パートナー停止中」であることを意味する。スタンバイサーバーがスコープを制御して100%のアドレス範囲を振り出すことができたとしても、リース期間は正規のリース期間とはならずに、MCLTの期間となることに注意してほしい。
さらに、DHCPクライアントの動作として、リース期間の50%が経過するとリース更新を要求するのだが、スタンバイサーバーはこれに応答しない。さらに87.5%が経過すると再度リース更新を要求するが、このとき初めてスタンバイサーバーは応答する。
このような動作から、DHCPのフェイルオーバーではアクティブとスタンバイが明確に分けられており、スタンバイサーバーの役割が変化することはないので、本来のアクティブサーバーの再開を待っていることになる。
負荷分散の構成
負荷分散はホットスタンバイとほとんど同じで、モードを切り替えることで構成できる(画面3)。
負荷分散を構成した場合は、負荷分散の割合に応じてDHCPクライアントが接続するサーバーが変化する(図3)。
図3のように、ダウンしたサーバーからIPアドレスを取得していた場合と、そうでない場合で取得するIPアドレスのリース期間が変化することにも注意してほしい。どちらか1台がダウンすると、ダウンしたサーバーからIPアドレスを取得していたDHCPクライアントは、現在起動しているDHCPサーバーからIPアドレスを取得しようとする。その際のリース期間は、正規のリース期間となる。
しかし、起動しているDHCPサーバーからIPアドレスを取得していたDHCPクライアントは、MCLTのリース期間となる。
Windows Server 2012のDHCPのフェイルオーバー機能には、ホットスタンバイと負荷分散の二つのモードがあり、どのような動作になるのか理解できたと思う。特にホットスタンバイモードでは、アクティブとスタンバイがあり、この役割は変わらないことに注目してほしい。アクティブなDHCPサーバーがダウンしたら、その後のリース期間はMCLTで設定した期間になることがこの機能の重要なポイントになる。
- Active Directory証明書サービスでセキュアな公開鍵基盤を構築する(3)
- Active Directory証明書サービスでセキュアな公開鍵基盤を構築する(2)
- Active Directory証明書サービスでセキュアな公開鍵基盤を構築する(1)
- Windows展開サービスで大量のクライアントPCを一気に展開する(3)
- Windows展開サービスで大量のクライアントPCを一気に展開する(2)
- Windows展開サービスで大量のクライアントPCを一気に展開する(1)
- BranchCacheで遠隔地からのファイルアクセスを高速化
- 乱立するファイルサーバーはDFSで一元管理
- ファイルサーバー管理の強力な助っ人、FSRMを使いこなそう
- DHCPサーバーの設定を確認し、挙動を理解する〜DHCPサーバー編(3)
- フェイルオーバー機能を使いこなせ〜DHCPサーバー編(2)
- Windows Server管理の基本をマスターせよ〜DHCPサーバー編(1)
筆者紹介
阿部 直樹(あべ なおき)
エディフィストラーニング株式会社所属のマイクロソフト認定トレーナー。Active Directory、Network、Security、Hyper-V、Clusterなどを担当。マイクロソフト トレーナー アワード(2010年)およびMicrosoft MVP for Hyper-V(Apr 2010 - Mar 2014)を受賞。個人ブログ『MCTの憂鬱』でマイクロソフト関連情報を発信中。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 基礎から分かるActive Directory再入門(1):Active Directoryはなぜ必要なのか
本連載では「Active Directoryとは?」「なぜ、Active Directoryを使う必要があるのか?」などをあらためて考察し、より効果的に運用するための方法を探っていく。 - Windows Server 2003からの乗り換え案内:Windows Server 2012 R2で行こう!
Windows Server 2003のサポート終了日「2015年7月」が迫ってきた。本稿では、Windows Server 2003から最新のWindows Server 2012 R2へ移行する理由やメリットについて取り上げる。 - Windows Server 2012 R2とSystem Center 2012 R2が企業のクラウド導入を強力に後押しする
マイクロソフトがビジョンとして掲げる「クラウドOS」。そのクラウドOSを具現化したサーバーOSが、Windows Server 2012 R2だ。では、クラウドOSとは何なのか。クラウドOSによってどのようなビジネスメリットがもたらされるのか。 - Windows Server 2012 R2登場(1):企業のIT基盤を変革する“クラウドOS”とは何か
本連載では、Windows Server 2012 R2とSystem Center 2012 R2の導入で、企業のIT環境やエンドユーザーの現場はどう変化するのか、新バージョンに実装された新機能を中心に探ってみる。