ネットワーク管理方式を「NetworkManager」から「network」に戻す際にはまったのでメモ
環境情報
OS:CentOS7.3
IP:DHCP
はまったこと
下記コマンドでNetworkManagerを停止し、networkを起動しようとした。
# systemctl stop NetworkManager
# systemctl disable NetworkManager
# systemctl start network
しかし、networkを起動する時にエラーが立ち上がらない事象が発生。
# systemctl status network
● network.service - LSB: Bring up/down networking
Loaded: loaded (/etc/rc.d/init.d/network; bad; vendor preset: disabled)
Active: failed (Result: exit-code) since 火 2018-09-04 15:34:59 JST; 4s ago
Docs: man:systemd-sysv-generator(8)
Process: 1556 ExecStart=/etc/rc.d/init.d/network start (code=exited, status=1/FAILURE)
9月 04 15:34:59 ホスト名 network[1556]: RTNETLINK answers: File exists
9月 04 15:34:59 ホスト名 network[1556]: RTNETLINK answers: File exists
9月 04 15:34:59 ホスト名 network[1556]: RTNETLINK answers: File exists
9月 04 15:34:59 ホスト名 network[1556]: RTNETLINK answers: File exists
9月 04 15:34:59 ホスト名 network[1556]: RTNETLINK answers: File exists
9月 04 15:34:59 ホスト名 network[1556]: RTNETLINK answers: File exists
9月 04 15:34:59 ホスト名 systemd[1]: network.service: control process exited, code=exited status=1
9月 04 15:34:59 ホスト名 systemd[1]: Failed to start LSB: Bring up/down networking.
9月 04 15:34:59 ホスト名 systemd[1]: Unit network.service entered failed state.
9月 04 15:34:59 ホスト名 systemd[1]: network.service failed.
サーバを再起動するとエラーなどなかったかのように「network」は立ち上あがっているので
netork周りの設定はおかしくないとはずなのにどうして失敗するのだろうか。
サーバを再起動すれば直るということはプロセスが悪さをしてる?
原因
見つけました!
# ps aux | grep NetworkManager
root 572 0.0 1.5 112876 15856 ? S 15:20 0:00 /sbin/dhclient -d -q -sf /usr/libexec/nm-dhcp-helper -pf /var/run/dhclient-eth0.pid -lf /var/lib/NetworkManager/dhclient-418ddc1b-baa9-3a6c-9c2d-27737ad89161-eth0.lease -cf /var/lib/NetworkManager/dhclient-eth0.conf eth0
root 577 0.0 1.5 112876 15864 ? S 15:20 0:00 /sbin/dhclient -d -q -sf /usr/libexec/nm-dhcp-helper -pf /var/run/dhclient-eth1.pid -lf /var/lib/NetworkManager/dhclient-241ed966-e1c7-4d5c-a6a0-8a6dba457277-eth1.lease -cf /var/lib/NetworkManager/dhclient-eth1.conf eth1
root 1714 0.0 0.0 112660 976 pts/0 R+ 15:38 0:00 grep --color=auto NetworkManager
今回IPアドレスをDHCPで管理していた為、「NetworkManager」が「dhclient」を動かしていたのですが
「NetworkManager」を停止しても「dhclient」自体は消えずに残っていたようです。
このプロセスをkillしたところ、無事「network」を起動できました!
今回の反省
messageログを再度見てみるとnetwork起動時に下記メッセージが!
これを見れば一発で原因が確定していましたね。
ちゃんとログを見ていればもっとはやく解決できただろうに…
dhclient(577) is already running - exiting.