3.5. Satellite で DHCP の問題をトラブルシューティングする手順
Satellite は内部または外部の DHCP Capsule で ISC DHCP サーバーを管理し、DHCP 予約およびリースを表示、作成、削除できます。Satellite は、DHCP の予約およびリースをリスト表示、作成、削除することができます。ただし、時折発生する可能性のある問題が多数あります。
同期していない DHCP レコード
DHCP のオーケストレーション中にエラーが発生した場合は、Satellite データベースと DHCP サーバーの DHCP レコードが一致しない場合があります。これを修正するには、Satellite データベースから不足している DHCP レコードを DHCP サーバーに追加してから、以下の手順に従って DHCP サーバーから不要なレコードを削除する必要があります。
手順
DHCP サーバーに追加予定の DHCP レコードをプレビューするには、以下のコマンドを実行します。
# foreman-rake orchestration:dhcp:add_missing subnet_name=NAME
前の手順のプレビューの変更で問題がない場合は、上記のコマンドに
perform=1
引数を指定して適用します。# foreman-rake orchestration:dhcp:add_missing subnet_name=NAME perform=1
Satellite と DHCP サーバーの DHCP レコードが同期されている状態を維持するには、DHCP サーバーから不要な DHCP レコードを削除します。Satellite は、すべてのマネージド DHCP サーバーにサードパーティーレコードが含まれていないことを前提とします。そのため、この手順では、想定外のレコードを削除する場合があります。DHCP サーバーから削除されるレコードをプレビューするには、以下のコマンドを入力します。
# foreman-rake orchestration:dhcp:remove_offending subnet_name=NAME
前の手順のプレビューの変更で問題がない場合は、上記のコマンドに
perform=1
引数を指定して適用します。# foreman-rake orchestration:dhcp:remove_offending subnet_name=NAME perform=1
PXE ローダーオプションの変更
PXE のローダーオプションが既存のホスト用に変更された場合には、DHCP の競合が発生します。この回避策として、DHCP エントリーを上書きしてください。
DHCP ファイルでのの不正なパーミッション
オペレーティングシステムを更新すると、dhcpd
パッケージが更新される場合があります。これが原因で、重要なディレクトリーやファイルのパーミッションがリセットされて、DHCP Capsule が必要な情報を読み取ることができなってしまいます。
詳細は、Red Hat ナレッジベースの DHCP error while provisioning host from Satellite server Error ERF12-6899 ProxyAPI::ProxyException: Unable to set DHCP entry RestClient::ResourceNotFound 404 Resource Not Found を参照してください。
DHCP Capsule エントリーの変更
Satellite は、DHCP Capsule セットが含まれるサブネットに割り当てられたホストの DHCP レコードのみを管理します。ホストを作成して、DHCP Capsule を消去または変更した場合に、ホストを削除しようとすると、削除のアクションに失敗します。
DHCP Capsule を設定せずにホストを作成してから DHCP Capsule を設定しようとすると、DHCP の競合が発生します。
dhcpd.leases ファイルで削除済みのホストエントリー
DHCP リースに対する変更は、dhcpd.leases
ファイルの最後に追加されます。エントリーがこのファイルに追加されるので、dhcpd.leases
ファイルに、同時に同じリースのエントリーが 2 つ以上存在する可能性があります。同じリースのエントリーが 2 つ以上ある場合には、ファイルの最後のエントリーが優先されます。リースファイルのグループ、サブグループ、ホストの宣言も、同じ方法で処理されます。リースが削除されると、{ deleted; }
が宣言に追加されます。