はじめに
Centos7において、Networkインタフェース数が多くなってきたことにより、デフォルトのタイムアウト時間(5分)内に起動がおわらなくなった。一部インターフェースが起動しないままOSが立ち上がってしまい困ったので、タイムアウト時間の変更方法を調べました。
現状確認
以下のファイルに設定が入っているのを発見。しかし、このファイルを直接編集しても変更内容は反映されない。
# grep 5min /run/systemd/generator.late/network.service
TimeoutSec=5min
上記はsystemd-sysv-generator
が動的に作ったものなので、reloadされたらまた同じ値に戻ってしまう。
解決策(設定方法)
network.serviceはinit.dの定義ファイルが使われており,systemdの定義はなかった。以下の定義を新たに作ることで解決しました。
# mkdir -pv /etc/systemd/system/network.service.d/
# echo -e '[Service]\nTimeoutStartSec=15min' > /etc/systemd/system/network.service.d/timeout.conf
# systemctl daemon-reload
network起動時のタイムアウト値(TimeoutStartUSec)が15分に変わった。
# systemctl show network.service | grep -i 'time.*sec='
TimeoutStartUSec=15min
TimeoutStopUSec=5min
TimerSlackNSec=50000
JobTimeoutUSec=0
Ref
以下のサイトを参考にしました。
https://bugzilla.redhat.com/show_bug.cgi?id=1444803