Недавно у меня появился новый сервер Dell PowerEdge R610, я установил на него VMWare ESXi 5.0 и попытался установить FreeBSD в качестве гостевой ОС для кэширования squid.
Сервер имеет двойной порт PCI-E Intel X520-T2 10Gig Network Card Coper, который предназначен для использования для высокоскоростной передачи данных между шлюзом и кэш-серверами, но теперь у меня возникают проблемы с его работой под FreeBSD.
Сначала я установил два модуля FreeBSD и добавил к ним 10-гигабайтную карту как e1000, она работала, но, очевидно, с производительностью всего около 1 ГБ / с, что действительно плохо. Затем я попытался добавить сетевой адаптер как VMxNet2 и VMxNet3, они не работали, потому что VMWare-Tool для FreeBSD не работает на FreeBSD 9, а open-vm-tools скомпилированы, установлены и даже не обнаруживают интерфейс для неизвестно почему.
Итак, наконец, я обнаружил, что сквозная передача может быть отличной идеей, и я настроил VMWare ESXi для сквозной передачи обоих 10-гигабайтных интерфейсов и добавил их в качестве устройств PCI в свои ящики FreeBSD. Я думал, что FreeBSD должна определить оборудование и назначить подходящий драйвер для сетевой карты, но этого не произошло.
Проблема, которую я получаю, заключается в том, что я попытался повторно скомпилировать ядро с включенным устройством ixgbe, система правильно обнаружила устройство, назначила версию драйвера 2.3.3, и я смог увидеть интерфейс ix0 из ifconfig. Но я не могу пинговать, не могу ни к чему подключиться, так как статус устройства - «без оператора связи». Я погуглил сообщение об ошибке и оказалось, что это проблема с драйвером, поэтому я загрузил новейшую версию ixgbe с официального сайта Intel, скомпилировал и установил драйвер, теперь система может обнаруживать и назначать драйвер 2.4.4 для интерфейса, но я Сообщение об ошибке оператора связи по-прежнему отсутствует.
У меня сейчас нет доступа к серверу, поэтому я не могу предоставить никаких результатов. Я обновлю свой вопрос, как только смогу получить журналы.
Кстати, я считаю, что FreeBSD, которая у меня есть, является новейшей, FreeBSD9-Stable, с обновленным src 16 февраля 2012 года.
PS. Я попытался установить версию FreeBSD 9 Release с ядром GENERAL, та же проблема.
Может ли кто-нибудь предоставить мне какую-либо ссылку, мысль или метод устранения неполадок, большое спасибо.
С уважением, Хай Ланг
А вот и выходы сервера.
OmniSquid # dmesg | grep ix0
ix0: порт 0x4000-0x401f mem 0xd2600000-0xd27fffff, 0xd2400000-0xd2403fff irq 18 на устройстве 0.0 на pci3
ix0: Использование прерываний MSIX с 5 векторами
ix0: Адрес Ethernet: 00: 1b: 21: d8: d7: b2
ix0: шина PCI Express: скорость 5,0 Гбит / с неизвестноOmniSquid # pciconf -l -cv | grep ix
ix0 @ pci0: 3: 0: 0: class = 0x020000 card = 0xa03c8086 chip = 0x151c8086 rev = 0x01 hdr = 0x00OmniSquid # ifconfig ix0
ix0: flags = 8843 метрическая система 0 MTU 1500
options = 401bb
эфир 00: 1b: 21: d8: d7: b2
inet 10.10.10.1 netmask 0xffffff00 широковещательный 10.10.10.255
inet6 fe80 :: 21b: 21ff: fed8: d7b2% ix0 prefixlen 64 scopeid 0x4
nd6 options = 29
media: автоматический выбор Ethernet
статус: нет перевозчика
Еще одно интересное открытие: драйвер 2.3.1 по умолчанию, который поставляется с ядром FreeBSD 9, похоже, не определяет тип носителя.
OmniSquid # dmesg | grep ix0
ix0: порт 0x4000-0x401f mem> 0xd2600000-0xd27fffff, 0xd2400000-0xd2403fff irq 18 на устройстве 0.0 на pci3
ix0: Использование прерываний MSIX с 5 векторами
ix0: Адрес Ethernet: 00: 1b: 21: d8: d7: b2
ix0: шина PCI Express: скорость 5,0 Гбит / с неизвестноOmniSquid # ifconfig ix0 10.10.10.1 сетевая маска 255.255.255.0 носитель
ifconfig: 'media' требует аргументаOmniSquid # ifconfig -m ix0
ix0: flags = 8843 метрическая система 0 MTU 1500
options = 401bb
возможности = 505бб
эфир 00: 1b: 21: d8: d7: b2
nd6 options = 29
media: автоматический выбор Ethernet
статус: нет перевозчика
поддерживаемые СМИ:
автоматический выбор медиа
автоматический выбор медиа
Но тот, который я скачал с Intel, может обнаружить
ix0: порт 0x4000-0x401f mem 0xd2600000-0xd27fffff, 0xd2400000-0xd2403fff irq 18 на устройстве 0.0 на pci3
ix0: Использование прерываний MSIX с 5 векторами
ix0: Адрес Ethernet: 00: 1b: 21: d8: d7: b2
ix0: шина PCI Express: скорость 5,0 Гбит / с неизвестноOmniSquid # ifconfig -m ix0
ix0: flags = 8843 метрическая система 0 MTU 1500
options = 401bb
возможности = 505бб
эфир 00: 1b: 21: d8: d7: b2
nd6 options = 29
media: автоматический выбор Ethernet
статус: нет перевозчика
поддерживаемые СМИ:
автоматический выбор медиа
медиа 10Gbase-T
Я читал отсюда, что, возможно, драйвер не пытается выполнить автоматическое согласование, поэтому я попытался вручную определить тип носителя для интерфейса.
OmniSquid # ifconfig ix0 10.10.10.1 маска сети 255.255.255.0 носитель 10Gbase-T
ifconfig: SIOCSIFMEDIA (media): недопустимый аргумент
И dmesg отображает
ix0: только автоматический тип носителя
ix0: только автоматический тип носителя
ix0: только автоматический тип носителяOmniSquid # ifconfig ix0 10.10.10.1 netmask 255.255.255.0 media 10Gbase-T mediaopt полнодуплексный
ifconfig: SIOCSIFMEDIA (media): устройство не настроеноOmniSquid # ifconfig ix0 10.10.10.1 netmask 255.255.255.0 media 10Gbase-T mediaopt полнодуплексный mtu 1500
ifconfig: SIOCSIFMEDIA (media): устройство не настроено
И я установил две виртуальные машины Linux, используя одно и то же оборудование, один и тот же драйвер (официальный Intel) и те же кабели, и работает отлично, так что что-то не так с моей конфигурацией или самим драйвером.