LinuCレベル4 システムアーキテクト 可用性の設計 問20
可用性の設計/フェイルオーバークラスタオフィスのDHCPサーバーを冗長化し、障害が発生した場合でも既存クライアントが同じIPアドレスを継続利用できるようにしたい。設計として最も適切なものはどれか。
当サイトのオリジナル問題(LinuCレベル4 システムアーキテクトの出題範囲「可用性の設計」に対応。実際の試験問題ではありません)
- A2台のDHCPサーバーに同じIPアドレス範囲を設定して常時稼働させ、どちらのサーバーが応答してもよいようにする。クライアントは自分にIPを配布したサーバーを記憶しているため、片方が停止してもIPリースは継続される
- BkeepalivedのVRRPで仮想IPを引き継ぐ方式を採用する。障害時にセカンダリが仮想IPを受け継いでDHCP要求に応答を始めるが、プライマリが管理していたリース情報はセカンダリに引き継がれない
- CDNSラウンドロビンでDHCPサーバーの名前を2台に向けることで、クライアントが自動的に稼働中のサーバーへ切り替わり、既存クライアントのリース情報も引き継がれる
- DISC DHCPのフェイルオーバープロトコルを使い、プライマリとセカンダリの間でリース情報をリアルタイムに同期する。障害発生後も既存クライアントのリース情報が維持され、同一のIPアドレスを継続利用できる
正解:D
解説
DHCPサーバーを冗長化する際の最大の課題はリース情報の同期です。VRRPで仮想IPを引き継いでもDHCPのリース情報はセカンダリに移らず、プライマリが管理していたリースが期限切れになった際にIPが変わります。同じアドレス範囲を2台で独立して提供するとIPの二重割り当てが発生します。ISC DHCPのフェイルオーバープロトコルは、プライマリとセカンダリ間でリース情報をリアルタイムに同期します。プライマリに障害が起きてもセカンダリはリース情報を引き継いでいるため、既存クライアントが同一IPを継続利用でき、フェイルオーバーが透過的に行われます。
選択肢ごとの解説
- A誤り。2台が同じアドレス範囲から独立して配布すると、同じIPが複数のクライアントに割り当てられるIPアドレス衝突が発生します。DHCPには2台のサーバー間でリース状態を協調する仕組みがなく、両方が稼働している状態でも重複発行のリスクがあります。
- B誤り。VRRPはIPレイヤーでの仮想IP引き継ぎを行いますが、DHCPサーバーのリース情報は別管理です。セカンダリが仮想IPを受け継いでも、プライマリが発行したリース情報を知らないため、リース期限が切れたクライアントは別のIPを割り当てられる可能性があります。
- C誤り。DHCPリクエストはブロードキャストまたはリレーエージェント経由のUDPで送られます。DNSラウンドロビンはDNS名前解決の振り分けであり、DHCPの経路制御には使えません。またリース情報を同期する仕組みもありません。
- D正しい。ISC DHCPのフェイルオーバープロトコルはプライマリ・セカンダリ間でリース情報をリアルタイムに同期します。障害後にセカンダリへ切り替わっても既存クライアントのリース情報は維持され、同一IPアドレスの継続利用が可能です。