Ubuntu 22.04で起動している間にpostgresqlデータベースが準備されるまでkea-dhcp4-serverを待つ方法は?

Ubuntu 22.04で起動している間にpostgresqlデータベースが準備されるまでkea-dhcp4-serverを待つ方法は?

私の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

おすすめ記事