nixp.ru v3.0

22 января 2017,
воскресенье,
19:21:47 MSK

Аутсорсинг Linux с компанией «Флант»
Аватар пользователя Curu3MyHg
Curu3MyHg написал 16 марта 2007 года в 14:01 (550 просмотров) Ведет себя как мужчина; открыл 41 тему в форуме, оставил 896 комментариев на сайте.

Есть сервер от SuperMicro на

Intel(R) Xeon(R) CPU            5160  @ 3.00GHz

Есть две встроенный Intel’овские сетевухи.

Есть ещё две Intel’овские PCI-X сетевухи.

# lspci | grep Ether
05:01.0 Ethernet controller: Intel Corporation 82545GM Gigabit Ethernet Controller (rev 04)
06:00.0 Ethernet controller: Intel Corporation 80003ES2LAN Gigabit Ethernet Controller (Copper) (rev 01)
06:00.1 Ethernet controller: Intel Corporation 80003ES2LAN Gigabit Ethernet Controller (Copper) (rev 01)
07:01.0 Ethernet controller: Intel Corporation 82545GM Gigabit Ethernet Controller (rev 04)

Потребовалось их совместить в bond’ы.

Сам процесс поднятия bond’ов отлично описан как в Гентушной документации, так и в Цискиной, с этим проблем никаких не возникло, с каталистами линухи нормально дружат.

Теперь по порядку.

1) Втыкаю две PCI-X-сетевухи в первый и второй PCI-X слоты мамки.

Объединяю две встроенные сетевухи в bond1, две PCI-X в bond0.

Поднимаю маршрутизацию (с NAT’ом).

Всё работает ровно полминуты, после чего либо kernel panic и рассказ про CPU Exception, либо просто глухой «завис», либо сразу ребут.

До того, как начинает бегать траффик, всё нормально.

2) Втыкаю PCI-X-сетевухи во второй и третий слоты.

Сетевухи меняются номерами, но мне на это пофигу в общем-то.. Кабели перетыкаем и продолжаем радоваться жизни.

Теперь объединяю в bond’ы по одной встроенной сетевухе и по одной PCI-X’овой.

Поднимаю ту же маршрутизацию. Всё работает отлично. От получаса до четырёх с половиной часов. После чего ровно те же симптомы. Причём, один раз ушло в ребут на компиляции ядра (может быть совпадение).

Только на встроенных сетевухах (без бондинга) оно работает без проблем.

PCI-X сетевухи в другом сервере тоже служили верой и правдой довольно продолжительное время.

Ядро:

$ uname -r
2.6.20-ck1

bonding идёт модулем, сетевушки вкомпилены жёстко, драйвер — тот, который e1000 с включённым RX-Polling, irqbalance пробовал как ядерный, так и внешнюю утилиту.

На машине НАТиться по 200-250 Мбит/сек траффика, iptables на 27000 строк (оптимизированный по самые некуда), но это не показатель, на двух встроенных сетевухах пашет нормально.

Вопрос.

Это что??

Сервак такой галимый? Никогда больше не надо брать SuperMicro? Или это ядерные глюки?

В общем, никто не сталкивался..?

Genie

try to disable HT/SMP

explicitlly bind IRQs assigned to bonded cards to the same CPU

and ask LKML

Curu3MyHg
Genie
try to disable HT/SMP

explicitlly bind IRQs assigned to bonded cards to the same CPU

Ни то, ни другое не спасёт ситуацию. Разве что даст почву для дальнейших размышлений. Именно для того, чтобы развести все сетевушки на разные процессорные ядра, и поднимался бондинг. (там как раз два двухъядерных ксеона, виноват, о том, что их два, я не упомянул). А с двумя сетевушками нагрузка идёт только на два ядра из четырёх.

Genie
and ask LKML

На неделе проведу ещё пару опытов, и, если так ничего и не пойму, буду писать..

Curu3MyHg
Curu3MyHg
На неделе проведу ещё пару опытов, и, если так ничего и не пойму, буду писать..

Пока что смог только удостовериться в том, что дело не в патчах Кона Коливаса.

Тестил на 2.6.20-gentoo-r3 и ванильном 2.6.20.3, результат тот же. А более ранние ядра мне просто загрузить на этой машине не удалось.. ((

Опыты продолжаются…

ecobeingecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.