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? Или это ядерные глюки?
В общем, никто не сталкивался..?
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
try to disable HT/SMP
explicitlly bind IRQs assigned to bonded cards to the same CPU
and ask LKML
Ни то, ни другое не спасёт ситуацию. Разве что даст почву для дальнейших размышлений. Именно для того, чтобы развести все сетевушки на разные процессорные ядра, и поднимался бондинг. (там как раз два двухъядерных ксеона, виноват, о том, что их два, я не упомянул). А с двумя сетевушками нагрузка идёт только на два ядра из четырёх.
На неделе проведу ещё пару опытов, и, если так ничего и не пойму, буду писать..
Пока что смог только удостовериться в том, что дело не в патчах Кона Коливаса.
Тестил на 2.6.20-gentoo-r3 и ванильном 2.6.20.3, результат тот же. А более ранние ядра мне просто загрузить на этой машине не удалось.. ((
Опыты продолжаются…