web-dev-qa-db-ja.com

Debian-ネットワークを待っている遅いブート

私は、より速く起動できる/すべきだと思うDebian 10サーバーを持っていますが、何が問題なのかわかりません。

起動時にA start job is running for Raise network interfacesが表示され、systemd-analyze blameを見るとnetworking.serviceに多くの時間が費やされているようです(50ミリ秒未満のサービスは省略しました)。

         50.846s networking.service
          1.872s smb.mount
           717ms nftables.service
           560ms ifupdown-pre.service
           544ms systemd-logind.service
           205ms systemd-journald.service
           194ms dev-nvme0n1p2.device
            88ms systemd-udev-trigger.service
            83ms smbd.service
            66ms libvirtd.service
            61ms lvm2-monitor.service
            60ms chrony.service
            57ms [email protected]
            50ms nmbd.service

systemctl stop networking.servicesystemctl start networking.serviceを実行するのに2秒もかかりません。

これは参照用の/ etc/network/interfacesです(br0はVMに使用されます):

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

auto enp5s0
iface enp5s0 inet static
        address 192.168.1.190
        netmask 255.255.255.0
        gateway 192.168.1.1 

auto enp9s0
iface enp9s0 inet manual

auto enp8s0
iface enp8s0 inet static
        address 10.36.14.242
        netmask 255.255.255.0
        post-up ip route add 10.0.0.0/8 via 10.36.14.1 dev enp8s0
        pre-down ip route del 10.0.0.0/8 via 10.36.14.1 dev enp8s0

auto br0
iface br0 inet static
        address 10.36.15.11
        netmask 255.255.255.0
        bridge_ports enp9s0
        bridge_stp off
        bridge_fd 0

auto wg-p2p
iface wg-p2p inet static
        address 10.88.88.1
        netmask 255.255.255.0
        pre-up ip link add $IFACE type wireguard
        pre-up wg setconf $IFACE /etc/wireguard/$IFACE.conf
        post-down ip link del $IFACE

autoallow-hotplugに変更することに関するいくつかの投稿を見ましたが、説明により、ブートをブロックせずにインターフェイスを開始するだけのように聞こえます。つまり、ネットワークに到達するまでの時間は同じです。 enp *インターフェイスをそのdidに変更すると、少なくともルーティングを開始する時間が改善されます。サーバーの起動後に別のデバイスから別のネットワークにpingすると、autoで約1分、allow-hotplugで約32秒かかります(おそらく、インターフェースが並行して開始されるためでしょうか?)。 A start job is runningメッセージ。ただし、br0をそれに変更すると、そのインターフェースは自動的に開始されなくなりました。

またonly enp *インターフェースでautoがアクティブな場合、シャットダウン時にA stop job is running for Raise network interfacesを取得します。これは完了するまでに約50秒かかります。

そのため、インターフェイスをallow-hotplugのままにしても問題ないかどうか(一部のサービスでインターフェイスバインディングの問題が発生している可能性がありますか?)、および起動時間を短縮するために修正できる他の問題があるかどうかを知りたいです。

編集:

dmesg -Tの関連出力は次のとおりです。

[Mo Jun 24 13:16:48 2019] IPv6: ADDRCONF(NETDEV_UP): enp5s0: link is not ready
[Mo Jun 24 13:16:51 2019] igb 0000:05:00.0 enp5s0: igb: enp5s0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
[Mo Jun 24 13:16:51 2019] IPv6: ADDRCONF(NETDEV_CHANGE): enp5s0: link becomes ready
[Mo Jun 24 13:16:58 2019] r8169 0000:09:00.0: firmware: direct-loading firmware rtl_nic/rtl8168e-3.fw
[Mo Jun 24 13:16:58 2019] RTL8211E Gigabit Ethernet r8169-900:00: attached PHY driver [RTL8211E Gigabit Ethernet] (mii_bus:phy_addr=r8169-900:00, irq=IGNORE)
[Mo Jun 24 13:16:58 2019] r8169 0000:09:00.0 enp9s0: No native access to PCI extended config space, falling back to CSI
[Mo Jun 24 13:16:58 2019] IPv6: ADDRCONF(NETDEV_UP): enp9s0: link is not ready
[Mo Jun 24 13:17:01 2019] r8169 0000:09:00.0 enp9s0: Link is Up - 1Gbps/Full - flow control off
[Mo Jun 24 13:17:01 2019] IPv6: ADDRCONF(NETDEV_CHANGE): enp9s0: link becomes ready
[Mo Jun 24 13:17:08 2019] RTL8211E Gigabit Ethernet r8169-800:00: attached PHY driver [RTL8211E Gigabit Ethernet] (mii_bus:phy_addr=r8169-800:00, irq=IGNORE)
[Mo Jun 24 13:17:08 2019] IPv6: ADDRCONF(NETDEV_UP): enp8s0: link is not ready
[Mo Jun 24 13:17:11 2019] r8169 0000:08:00.0 enp8s0: Link is Up - 1Gbps/Full - flow control off
[Mo Jun 24 13:17:11 2019] IPv6: ADDRCONF(NETDEV_CHANGE): enp8s0: link becomes ready
[Mo Jun 24 13:17:18 2019] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[Mo Jun 24 13:17:18 2019] br0: port 1(enp9s0) entered blocking state
[Mo Jun 24 13:17:18 2019] br0: port 1(enp9s0) entered disabled state
[Mo Jun 24 13:17:18 2019] device enp9s0 entered promiscuous mode
[Mo Jun 24 13:17:18 2019] br0: port 1(enp9s0) entered blocking state
[Mo Jun 24 13:17:18 2019] br0: port 1(enp9s0) entered forwarding state
[Mo Jun 24 13:17:18 2019] IPv6: ADDRCONF(NETDEV_UP): br0: link is not ready
[Mo Jun 24 13:17:19 2019] IPv6: ADDRCONF(NETDEV_CHANGE): br0: link becomes ready
[Mo Jun 24 13:17:28 2019] wireguard: loading out-of-tree module taints kernel.
[Mo Jun 24 13:17:28 2019] wireguard: module verification failed: signature and/or required key missing - tainting kernel
[Mo Jun 24 13:17:28 2019] wireguard: WireGuard 0.0.20190406 loaded. See www.wireguard.com for information.
[Mo Jun 24 13:17:28 2019] wireguard: Copyright (C) 2015-2019 Jason A. Donenfeld <[email protected]>. All Rights Reserved.

インターフェイスを無効にすると、インターフェイスごとに最大10秒長くなるようです

2
Marc Schulze

私はあなたと同じ問題を正確に持っていました(私は Debianユーザーフォーラムへのこの投稿

私の問題は、「Boottime Entropy Starvation」の別のインスタンスであることが判明しました(wpa-supplicantが鍵交換のためにランダムデータを必要とし、乱数ジェネレーターがランダムデータを提供するのを待つ間、カーネルがブロックしたと推測しています)。これは驚くほど一般的な問題であることがわかりました-残念ながら、私が見たほとんどすべての「いわゆるソリューション」は単にタイムアウトを減らすことを提案しています。 :

私にとっての修正は、hagegeデーモンをインストールすることでした(これは、ブートプロセスの初期に開始する別のランダムデータジェネレーターです。そのため、wpa-supplicantが要求すると、多くのエントロピーを利用できます)。

Sudo apt install haveged

楽しい!! :-)

より詳しい情報:

2
jaimet

Systemd-networkd-wait-online.serviceが無効になっているかどうかを確認しましたか?

"" "systemd-networkd-wait-onlineは、ネットワークが構成されるのを待機するワンショットシステムサービス(systemd.service(5)を参照)です。デフォルトでは、認識しているすべてのリンクを待機します。 systemd-networkd.service(8)によって管理され、完全に設定または失敗し、少なくとも1つのリンクがキャリアを獲得します。 "" " https://manpages.debian.org/testing/systemd/systemd -networkd-wait-online.service.8.en.html

また、最初にネットワークに不正なサーバーがないことを確認してください。たぶん無効なリースを持つブロードキャストDHCPサーバー?

1
Rik Vermeer

Ifupdown2をインストールすると、ネットワーク時間が約6秒に短縮されました。

          5.974s networking.service
          1.904s smb.mount
           773ms nftables.service
           552ms systemd-logind.service
           208ms systemd-journald.service
           205ms dev-nvme0n1p2.device
            96ms systemd-udev-trigger.service
            90ms lvm2-monitor.service
            79ms smbd.service
            62ms chrony.service
            53ms nmbd.service
            50ms libvirtd.service
[Di Jun 25 05:21:06 2019] [drm] Initialized amdgpu 3.27.0 20150101 for 0000:42:00.0 on minor 0
[Di Jun 25 05:21:09 2019] igb 0000:05:00.0 enp5s0: igb: enp5s0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
[Di Jun 25 05:21:09 2019] IPv6: ADDRCONF(NETDEV_CHANGE): enp5s0: link becomes ready
[Di Jun 25 05:21:11 2019] r8169 0000:08:00.0: firmware: direct-loading firmware rtl_nic/rtl8168e-3.fw
[Di Jun 25 05:21:11 2019] RTL8211E Gigabit Ethernet r8169-800:00: attached PHY driver [RTL8211E Gigabit Ethernet] (mii_bus:phy_addr=r8169-800:00, irq=IGNORE)
[Di Jun 25 05:21:11 2019] r8169 0000:08:00.0 enp8s0: No native access to PCI extended config space, falling back to CSI
[Di Jun 25 05:21:11 2019] IPv6: ADDRCONF(NETDEV_UP): enp8s0: link is not ready
[Di Jun 25 05:21:11 2019] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[Di Jun 25 05:21:11 2019] br0: port 1(enp9s0) entered blocking state
[Di Jun 25 05:21:11 2019] br0: port 1(enp9s0) entered disabled state
[Di Jun 25 05:21:11 2019] device enp9s0 entered promiscuous mode
[Di Jun 25 05:21:11 2019] RTL8211E Gigabit Ethernet r8169-900:00: attached PHY driver [RTL8211E Gigabit Ethernet] (mii_bus:phy_addr=r8169-900:00, irq=IGNORE)
[Di Jun 25 05:21:11 2019] br0: port 1(enp9s0) entered blocking state
[Di Jun 25 05:21:11 2019] br0: port 1(enp9s0) entered forwarding state
[Di Jun 25 05:21:11 2019] wireguard: loading out-of-tree module taints kernel.
[Di Jun 25 05:21:11 2019] wireguard: module verification failed: signature and/or required key missing - tainting kernel
[Di Jun 25 05:21:11 2019] wireguard: WireGuard 0.0.20190406 loaded. See www.wireguard.com for information.
[Di Jun 25 05:21:11 2019] wireguard: Copyright (C) 2015-2019 Jason A. Donenfeld <[email protected]>. All Rights Reserved.
[Di Jun 25 05:21:12 2019] br0: port 1(enp9s0) entered disabled state
[Di Jun 25 05:21:14 2019] r8169 0000:08:00.0 enp8s0: Link is Up - 1Gbps/Full - flow control off
[Di Jun 25 05:21:14 2019] IPv6: ADDRCONF(NETDEV_CHANGE): enp8s0: link becomes ready
[Di Jun 25 05:21:14 2019] r8169 0000:09:00.0 enp9s0: Link is Up - 1Gbps/Full - flow control off
[Di Jun 25 05:21:14 2019] br0: port 1(enp9s0) entered blocking state
[Di Jun 25 05:21:14 2019] br0: port 1(enp9s0) entered forwarding state

たぶん、通常のifupdownでの奇妙なタイムアウトの問題ですか?これは間違いなくバグのようです。

編集:

了解しました。インターフェイスは実際には完全に「アップ」していないため、これで何も修正されなかったようです。手動で再起動するまでdnsmasqが機能しなかったため、これに気付きました。これは、networking.serviceに次のオーバーライドを使用することで「修正」されました。

[Unit]
Before=network.target shutdown.target network-online.target

しかし、悲しいかな、これは私を正方形に戻しました:

         51.036s networking.service
          1.114s smb.mount
           837ms nftables.service
           557ms systemd-logind.service
           211ms systemd-journald.service
           199ms dev-nvme0n1p2.device
           100ms lvm2-monitor.service
            91ms systemd-udev-trigger.service
            77ms smbd.service
            62ms nmbd.service
            58ms chrony.service
            56ms libvirtd.service
            55ms [email protected]
1
Marc Schulze