Машина частично отказывает, когда сетевой интерфейс развязан от DPDK

Я использую сервер Ubuntu 14.04.4, работая sshd OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.8, OpenSSL 1.0.1f 6 Jan 2014.

Сервер также выполняет платформу Intel DPDK, для разработки сетевого программного обеспечения; часть выполнения, которое включает перевод в нерабочее состояние интерфейсов на уровне Linux для привязки их с DPDK. Однако сетевой интерфейс, привыкший к ssh с внешней стороны, никогда не поднимается или вниз, только другие тронуты.

Большую часть времени ssh хорошо работает, но один раз в несколько дней он прекращает работать; сессии ssh прерваны, и пытающийся снова соединиться путем выполнения ssh -v остановы в сообщении Local version string SSH-2.0 ... (т.е. клиент может установить соединение, это - часть SSH, которая перестала работать).
Непосредственно соединение с машиной не работает также, интерфейс командной строки не обнаруживается, просто пустой экран.
Соединения TCP могут быть установлены, и машина все еще отвечает на ping.

Это является довольно раздражающим, так как сервер затем должен быть перезагружен.

Я включил входу в систему debug3 сервер и журнал в /var/log/auth.log когда клиент пробует (и сбои) для соединения похожи на это:

sshd[1688]: debug3: fd 5 is not O_NONBLOCK
sshd[1688]: debug1: Forked child 39149.
sshd[1688]: debug3: send_rexec_state: entering fd = 13 config len 724
sshd[1688]: debug3: ssh_msg_send: type 0
sshd[1688]: debug3: send_rexec_state: done
sshd[39149]: debug3: oom_adjust_restore
sshd[39149]: Set /proc/self/oom_score_adj to 0
sshd[39149]: debug1: rexec start in 5 out 5 newsock 5 pipe 12 sock 13

Этот журнал не кажется несколько отличающимся от того для успешных соединений, за исключением того, что он останавливается там, тогда как успешные соединения продолжаются (следующая строка затем debug1: inetd sockets after dupping: ...).

Проблема, кажется, возникает право, когда интерфейс связан или развязан от DPDK.

Что могло вызывать это? Есть ли обходные решения?

6
задан 24 January 2017 в 09:46

1 ответ

У меня были проблемы с тайм-аутом ssh, я нашел обходной путь, используя:

 sudo sysctl -w net.ipv4.tcp_keepalive_time=50 \
 net.ipv4.tcp_keepalive_intvl=10 \
 net.ipv4.tcp_keepalive_probes=5  
1
ответ дан 23 November 2019 в 08:12

Другие вопросы по тегам:

Похожие вопросы: