調べる
# systemd-analyze
Startup finished in 1.070s (kernel) + 4.813s (initrd) + 43.808s (userspace) = 49.692s
multi-user.target reached after 40.904s in userspace
40秒はちょっと長いです。
# systemd-analyze blame
30.128s NetworkManager-wait-online.service
4.553s initrd-switch-root.service
3.455s firewalld.service
3.150s kdump.service
2.430s tuned.service
30秒待ちとは。
NetworkManager Wait Online を有効にする
ネットワークが立ち上がる前にサービスが起動して失敗する場合、NetworkManager サービスにプラスして NetworkManager-wait-online.service を使って下さい。ただし、ネットワークが設定されていないときでも殆どのネットワークデーモンは正しく立ち上がるので、これが必要になるのは稀です。
それでもサービスが正しく起動できない場合 /usr/lib/systemd/system/NetworkManager-wait-online.service のタイムアウト設定が短すぎることが原因です。デフォルトのタイムアウトである 30 を高い値に修正してください。
# cat /usr/lib/systemd/system/NetworkManager-wait-online.service
[Unit]
Description=Network Manager Wait Online
Documentation=man:nm-online(1)
Requires=NetworkManager.service
After=NetworkManager.service
Before=network-online.target
[Service]
Type=oneshot
ExecStart=/usr/bin/nm-online -s -q --timeout=30
RemainAfterExit=yes
[Install]
WantedBy=network-online.target
タイムアウト30秒待ちに引っかかっているようです。
NetworkManager-wait-onlineとは
network-online.targetがあるのでいらないんじゃないですかね。
# systemctl disable NetworkManager-wait-online.service
Removed /etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service.
# systemd-analyze
Startup finished in 1.021s (kernel) + 4.598s (initrd) + 12.746s (userspace) = 18.366s
multi-user.target reached after 11.227s in userspace
11秒になりました。