公式コラムでは「Windows移行特集」が始まりました。第1回は「Windowsのマイグレーションと言えば」というタイトルで私が書いています。
英語の「migration」は、ごく一般的な言葉で「人や動物が移動する」ことを意味します。たとえば、アフリカ大陸で見られる「ヌー(Gnu)の大移動」は「The Great Migration」と呼ばれるそうです。UNIXからLinuxに移行することではありません。
GnuプロジェクトのツールがUNIXからLinuxにどんどん移植され、最近ではLinuxが中心になっていることに引っかけてみたんですが、社内では誰も突っ込んでくれませんでした(Gnuプロジェクトの創設者R. M. Stallmanは「Gnu Linuxと呼べ」と言っているので、最初は「WindowsからLinuxへの移行」と書いたのですが、「UNIXからLinusの方が面白い」と社外の方に指摘されて修正しました)。
さて今日の本題です。
Windows Server 2012から、DHCPサーバーの冗長構成(DHCPフェールオーバー)が可能になりました。もう高価で面倒なフェールオーバークラスターを構築する必要はありません。
DHCPフェールオーバーは、DHCPスコープあたり2台のサーバーで構成します。フェールオーバー後の動作を実際に試してみました。いずれも「ホットスタンバイモード」の場合です。
●正常時の動作
プライマリDHCPサーバーがIPアドレスをリースします。この情報はスタンバイDHCPサーバーのDHCPスコープに複製されます。
●フェールオーバー後の動作
プライマリDHCPが停止すると、一定時間後にスタンパイDHCPがスコープの制御を取得します。
ただし、この情報はDHCPクライアントには伝わりません。そのため、DHCPクライアントからのIPアドレス更新要求は常に自分がIPアドレスを取得したDHCPサーバー(プライマリDHCPサーバー)に対して行われます。
しかし、プライマリDHCPサーバーは停止しているため、更新要求は失敗します。
DHCPクライアントは、IPアドレスの有効期限直前になると、プライマリDHCPサーバーからの更新をあきらめ、新たにIPアドレスのリースをブロードキャストで要求します。
この時、スタンバイDHCPが応答しますが、スタンバイDHCPには既存のDHCPスコープ情報が複製されているため、DHCP要求に含まれるMACアドレスに対して、以前払い出したIPアドレスが再割り当てされます。
結果として、DHCPサーバーは変わりますが、IPアドレスその他のパラメータは以前と同じ情報が配布されます。これによりTCP/IP構成の連続性が保証されます。
●フェールバック時の動作
プライマリDHCPサーバーが復旧した場合、一定時間後にスコープの制御がプライマリDHCPサーバーに戻ります。もちろんスコープ情報もすべて複製されます。
スタンバイDHCPサーバーは待機状態になり、IPアドレスの更新要求に答えなくなります。その後はフェールオーバー時と同様の動作で、プライマリDHCPサーバーからIPアドレスを新たに(でも同じIPアドレスで)入手します。
●注意
DHCPサーバーがフェールオーバーしているときに、コマンド「ipconfig /renew」を実行すると、IPアドレスが更新できずエラーとなります。
手動でIPアドレスを更新する場合は、「ipconfig /release」を実行し、明示的にIPアドレスを解放してから「ipconfig /renew」を実行してください。