3.12. 破損したリースデータベースの復元
DHCP サーバーが、リースデータベースに関連するエラー (Corrupt lease file - possible data loss! など) をログに記録すると、dhcpd サービスが作成するコピーからリースデータベースを復元できます。このコピーには、データベースの最新のステータスが反映されない場合があることに注意してください。
リースデータベースをバックアップに置き換えるのではなく削除すると、現在割り当てられているリースに関する情報がすべて失われます。その結果、DHCP サーバーは、他のホストに割り当てられていて、まだ期限が切れていないクライアントにリースを割り当てることができます。これにより IP の競合が発生します。
DHCPv4、DHCPv6、またはその両方のデータベースを復元するかどうかに応じて、以下の手順を参照してください。
前提条件
-
rootユーザーとしてログインしている。 - リースデータベースが破損している。
手順
DHCPv4 リースデータベースの復元:
dhcpdサービスを停止します。systemctl stop dhcpd
# systemctl stop dhcpdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 破損したリースデータベースの名前を変更します。
mv /var/lib/dhcpd/dhcpd.leases /var/lib/dhcpd/dhcpd.leases.corrupt
# mv /var/lib/dhcpd/dhcpd.leases /var/lib/dhcpd/dhcpd.leases.corruptCopy to Clipboard Copied! Toggle word wrap Toggle overflow リースデータベースを更新する際に作成される
dhcpサービスのリースデータベースのコピーを復元します。cp -p /var/lib/dhcpd/dhcpd.leases~ /var/lib/dhcpd/dhcpd.leases
# cp -p /var/lib/dhcpd/dhcpd.leases~ /var/lib/dhcpd/dhcpd.leasesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重要リースデータベースの最新のバックアップがある場合には、代わりにこのバックアップを復元します。
dhcpdサービスを開始します。systemctl start dhcpd
# systemctl start dhcpdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
DHCPv6 リースデータベースの復元:
dhcpd6サービスを停止します。systemctl stop dhcpd6
# systemctl stop dhcpd6Copy to Clipboard Copied! Toggle word wrap Toggle overflow 破損したリースデータベースの名前を変更します。
mv /var/lib/dhcpd/dhcpd6.leases /var/lib/dhcpd/dhcpd6.leases.corrupt
# mv /var/lib/dhcpd/dhcpd6.leases /var/lib/dhcpd/dhcpd6.leases.corruptCopy to Clipboard Copied! Toggle word wrap Toggle overflow リースデータベースを更新する際に作成される
dhcpサービスのリースデータベースのコピーを復元します。cp -p /var/lib/dhcpd/dhcpd6.leases~ /var/lib/dhcpd/dhcpd6.leases
# cp -p /var/lib/dhcpd/dhcpd6.leases~ /var/lib/dhcpd/dhcpd6.leasesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重要リースデータベースの最新のバックアップがある場合には、代わりにこのバックアップを復元します。
dhcpd6サービスを起動します。systemctl start dhcpd6
# systemctl start dhcpd6Copy to Clipboard Copied! Toggle word wrap Toggle overflow