CentOS 7:NetworkManager接続の再起動

CentOS 7:NetworkManager接続の再起動

他の場所では、このような質問を見たことがありません。簡単に言うと、NetworkManagerは「Connection Drop」のため、毎時間1分1秒間eth0を終了します。明らかにすべての接続は失われますが、ほとんどの場合、接続は同じ秒以内に復元されます。まれに、固定IPv4アドレスを設定したにもかかわらず、ネットワークサービスを再起動するまで回復されません。

サーバーは、リモートホスティングプロバイダーによってKVM上で実行される仮想マシンで、毎時間1分1秒で正確に発生します。これは、Cockpitと呼ばれる追加のアプリケーションが1つしかインストールされていないCentOS 7の最近のデフォルトの最小インストール(CentOS 4以降の最初の試み)です。

以下は対応する2番目のログです。

ログ制御

http://pastebin.com/sAGEEkrx

/var/ログ/クローン

Feb  3 08:01:01 hyaena CROND[1094]: (root) CMD (run-parts /etc/cron.hourly)
Feb  3 08:01:01 hyaena run-parts(/etc/cron.hourly)[1094]: starting 0anacron
Feb  3 08:01:01 hyaena run-parts(/etc/cron.hourly)[1103]: finished 0anacron
Feb  3 08:01:01 hyaena run-parts(/etc/cron.hourly)[1094]: starting docker-cleanup
Feb  3 08:01:01 hyaena run-parts(/etc/cron.hourly)[1111]: finished docker-cleanup

/etc/cron.hourly

/ 0アナクロン

#!/bin/sh
# Check whether 0anacron was run today already
if test -r /var/spool/anacron/cron.daily; then
    day=`cat /var/spool/anacron/cron.daily`
fi
if [ `date +%Y%m%d` = "$day" ]; then
    exit 0;
fi

# Do not run jobs when on battery power
if test -x /usr/bin/on_ac_power; then
    /usr/bin/on_ac_power >/dev/null 2>&1
    if test $? -eq 1; then
    exit 0
    fi
fi
/usr/sbin/anacron -s

/ドッカーの整理

#!/bin/bash

# Do nothing if neither docker nor docker-latest service is running
if ! systemctl --quiet is-active docker-latest && ! systemctl --quiet is-active docker; then
  exit 0
fi

# If there are no dead containers, exit.
DEAD_CONTAINERS=`docker ps -aq -f status=dead`

[ -z "$DEAD_CONTAINERS" ] && exit 0

# Try to cleanup dead containers
docker rm $DEAD_CONTAINERS

答え1

CentOSインストールメディアから生成されたifcfgファイルを消去し、nmcliを使用して最初から作成しました。古い ifcfg ファイルと新しい ifcfg ファイルはほぼ同じでした。違いは、コンテンツの順序、新しい自動生成UID、接続に自動生成名の代わりにext0というカスタム名を付けたことです。今はうまくいきます。

それで結局誰が知っているのか。ここでは、フリップデスクトップの絵文字が便利です。

私が見つけたところによると、NetworkManagerはデバイスとの接続を完全に切断します。私の場合、何らかの理由でNetworkManagerはeth0が設定されていないことを確認し(それにもかかわらず)、一時的な新しい接続を作成した後に失敗します。したがって、現在の接続を完全に削除し、一時接続を失敗して繰り返します。

おそらく、これら2つの項目のうちの1つが私が知らない他の場所の参照である可能性があるため、NetworkManagerにその項目が実際に使用されており、NetworkManagerによって制御されていることを知らせることができます(NM_ControlLED = yesは履歴に何もしません)。

最後に、これは私のifcfg-ext0です。

TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=yes
NAME=ext0 # Arbitrary name given
UUID=<UUID generated by NetworkManager>
DEVICE=eth0
ONBOOT=yes
ZONE=drop
DNS1=<IPv4 DNS server>
DNS2=<IPv4 DNS server>
IPADDR=<static IPv4address>
PREFIX=24
GATEWAY=<static IPv4 gateway>
DOMAIN=<my domain>
DNS3=<IPv6 DNS server>
DNS4=<IPv6 DNS server>
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_PRIVACY=no

関連情報