LINUX.ORG.RU
решено ФорумAdmin

Waiting for br0 to become free- OpenSuse 12.3, kernel-default 3.7.X

 , ,


1

1

Добрый вечер.

Имеется сервер виртуализации под управлением OpenSuse 12.3. У него поднят единственный сетевой мост br0 с помощью тривиальных bridge-utils. При попытке перезагрузки или выключения хоста ядро на время зависает с ошибкой

Waiting for br0 to become free- usage count=1.

Через довольно продолжительное время процесс таки убивается по syskill. Подобную ошибку вижу впервые, хотя с виртуализацией под сабжем работаю уже с год. Как можно исправить положение?



Последнее исправление: cetjs2 (всего исправлений: 1)

В качестве решения проблемы рассматриваю переход на openvswitch. Но времени оттестировать это решения у меня не будет, так что не хотелось бы...

stein_h
() автор топика

с ядром 2.6.чтото_RC - была таже проблема, попробуй просто обновить ядро или откатить на версию назад

Lwulf
()
Последнее исправление: Lwulf (всего исправлений: 1)
Ответ на: комментарий от Lwulf

В том-то и дело, что проявляется на всех ядрах из ветки 12.3.

Попытался отключить ipv6- помогает, но однократно.

stein_h
() автор топика

В итоге пофиксил

Проблема решилась в тот момент, когда я потер сетевые настройки, прописанные yast и вбил свои проверенные. Настройки для будущих поколений пользователей гугла:

/etc/sysconfig/network/ifcfg-eth0:

DEVICE=eth0 BOOTPROTO=static IPADDR=0.0.0.0 ONBOOT=yes STARTMODE=hotplug TYPE=Ethernet USERCTL=no IPV6INIT=no

/etc/sysconfig/network/ifcfg-br0:

STARTMODE='auto' BOOTPROTO='static' USERCONTROL='no' IPADDR='192.168.0.189/19' BRIDGE='yes' BRIDGE_PORTS='eth0' BRIDGE_AGEINGTIME='300' BRIDGE_FORWARDDELAY='0.1' BRIDGE_HELLOTIME='2' BRIDGE_MAXAGE='20' BRIDGE_PATHCOSTS='19' BRIDGE_STP='off'

Есть мнение, что яст где-то неявно нагадил в конфигах, что и привело к сложившейся ситуации.

stein_h
() автор топика
Ответ на: В итоге пофиксил от stein_h

А вот хрен там. Ошибка продолжает появляться, причем не всегда регулярно: если перезагрузить сервер сразу после успешной загрузки- велика вероятность, что все завершится правильно. В случае же длительной работы почти наверняка повторится сабжевая проблема с отвалом по таймауту через 300 секунд. Я в замешательстве- это легко сказано.:(

stein_h
() автор топика
Ответ на: комментарий от stein_h

Судя по тексту ошибки - в мосте на момент отключения остается интерфейс. А если перед выключением тупо удалить все интерфейсы из моста ?

Скорее всего не успевает завершиться кто-то из виртуальных машин использующих этот мост.

vel ★★★★★
()
Ответ на: комментарий от stein_h

ХЗ как это сделать в opensuse.

В скрипте который выключает мост сказать

brctl show >/dev/console ; sleep 10
и посмотреть на консоль во время ребута.

или

brctl show | logger -p daemon.error - 

и потом в логах посмотреть.

vel ★★★★★
()
Ответ на: комментарий от vel

Только что перезагрузился с отключенным стартом libvirt. То есть фактически ничто не может занимать bridge. Ситуация та же самая. Можно как-нибудь подкрутить таймер для зависших процессов при перезагрузке? 300 секунд это как-то слишком, вот 20-30 меня со скрипом в зубах устроило бы

stein_h
() автор топика
Ответ на: комментарий от vel

Проблема решилась прозаично: мешала сиротливо висящая aoe-цель, модуль которой я в свое время от лени поставил в автозагрузку, вместо юнита systemd. В итоге он автоматом сканировал сеть, находил все мои экспортированные устройства и совершенно не желал прилично останавливаться при завершении сети. Ну что ж, мы многое поняли сегодня (с)

stein_h
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.