私のkea-dhcp4-serverは私のpostgresqlデータベースに依存しています。再起動後、DHCP サーバーで次のエラーが発生します。
sudo systemctl status kea-dhcp4-server
× kea-dhcp4-server.service - Kea IPv4 DHCP daemon
Loaded: loaded (/lib/systemd/system/kea-dhcp4-server.service; enabled; vendor preset: enabled)
Drop-In: /etc/systemd/system/kea-dhcp4-server.service.d
└─override.conf
Active: failed (Result: exit-code) since Sun 2024-02-11 17:09:18 UTC; 11min ago
Docs: man:kea-dhcp4(8)
Process: 1104 ExecStart=/usr/sbin/kea-dhcp4 -c /etc/kea/kea-dhcp4.conf (code=exited, status=1/FAILURE)
Main PID: 1104 (code=exited, status=1/FAILURE)
CPU: 39ms
Feb 11 17:09:18 ns1 systemd[1]: Started Kea IPv4 DHCP daemon.
Feb 11 17:09:18 ns1 kea-dhcp4[1104]: 2024-02-11 17:09:18.166 ERROR [kea-dhcp4.dhcp4/1104.140666424032896] DHCP4_CONFIG_LOAD_FAIL configuration error using file: /etc/kea/kea-dhcp4.conf, reason: Unable to open database: connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection>
Feb 11 17:09:18 ns1 kea-dhcp4[1104]: Is the server running on that host and accepting TCP/IP connections?
Feb 11 17:09:18 ns1 kea-dhcp4[1104]: 2024-02-11 17:09:18.166 ERROR [kea-dhcp4.dhcp4/1104.140666424032896] DHCP4_INIT_FAIL failed to initialize Kea server: configuration error using file '/etc/kea/kea-dhcp4.conf': Unable to open database: connection to server at "localhost" (127.0.0.1), port 5432>
Feb 11 17:09:18 ns1 kea-dhcp4[1104]: Is the server running on that host and accepting TCP/IP connections?
Feb 11 17:09:18 ns1 systemd[1]: kea-dhcp4-server.service: Main process exited, code=exited, status=1/FAILURE
Feb 11 17:09:18 ns1 systemd[1]: kea-dhcp4-server.service: Failed with result 'exit-code'.
したがって、Postgresqlデータベースが後で開始されたか、まだ準備されていないようです。注:このkea-dhcp4-severサービスを手動で開始すると、すべてがうまく機能します。
kea-dhcp4-server.serviceを編集するときは、次のようにさまざまなオプションを試しました。
sudo systemctl edit kea-dhcp4-server
Wants =、After =、およびRequires =を試しましたが、すべて成功しませんでした。
たぶんPostgres <==ネットワーク==> Dhcpサーバー間の循環依存関係もありますか?
私の質問は:Ubuntu 22.04で起動中にpostgresqlデータベースが準備されるまでkea-dhcp4-serverを待つようにするにはどうすればよいですか?
答え1
私の質問に答えるには:
おそらくkea-dhcp4-server.serviceのoverride.confにあまりにも多くの内容を入力したようです。これを試すと、起動順序が正確になり、機能します。
more /etc/systemd/system/kea-dhcp4-server.service.d/override.conf
[Unit]
Requires=postgresql.service
After=postgresql.service