CentOS 6 на Hyper-V - сетевой адаптер не работает (без функции контрольной суммы)

Я установил CentOS 6.0 на Hyper-V Server 2008 R2 SP1. В ВМ включен только синтетический сетевой адаптер. Установка прошла успешно (без какой-либо сети), затем я установил Linux Integration Services 3.1 из ISO, все тоже хорошо. Теперь все модули Hyper-V установлены (включая hv_netvsc), но сетевой адаптер не обнаружен.

Запуск dmesg | grep eth возвращает сообщение "Удаление NETIF_F_SG, поскольку функция контрольной суммы отсутствует". Повторный поиск в Интернете показывает, что контрольная сумма представляется важной функцией, без которой CentOS не может использовать сетевой адаптер и которая, по-видимому, не реализована модулем Microsoft LIS3.1.

Что я могу сделать, чтобы использовать синтетический сетевой адаптер в CentOS? Или я что-то сделал не так и должно работать как есть? Зависит ли возможности синтетического адаптера от аппаратной карты Ethernet, используемой на хост-компьютере? Версия ядра CentOS, похоже, 2.6.32-71.el6.x86_64, гипервизор R2 SP1 со всеми установленными обновлениями.

Второй вопрос в случае, если ответом на первый вопрос является "нет, это не сработает": существует ли значительное снижение производительности при использовании эмулированного (устаревшего) сетевого драйвера? Следует ли этого избегать в производственной среде?

3 ответа

Решение

Если у кого-то еще возникла такая же проблема, вот решение: адаптер должен быть настроен вручную путем добавления файлов /etc/sysconfig/network-scripts/ifcfg-eth0 и / etc / sysconfig / network / profile /default/ifcfg-eth0 после успешной установки LIS3.

Шаги, которые работали для меня:

  • создать виртуальную машину как с сетевым адаптером, так и с устаревшим сетевым адаптером
  • установить CentOS 6 и Linux Integration Services 3.1
  • Создайте файлы /etc/sysconfig/network-scripts/ifcfg-eth1 и / etc / sysconfig / network / profile /default/ifcfg-eth1
  • перезагрузите компьютер и проверьте, работают ли оба сетевых интерфейса
  • удалите ifcft-eth0 и переименуйте ifcfg-eth1 в ifcfg-eth0 в обоих местах
  • выключите, удалите устаревший адаптер в свойствах машины hyper-v и включите

Источники, где я нашел наиболее полезную информацию:

(Решена)

Пожалуйста, назначьте статический MAC-адрес в настройках Hyper-V. MAC должен быть таким же, как в вашей виртуальной машине Linux. Вы можете найти в MAC-адрес в /etc/sysconfig/network-scripts/ifcfg-eth0,

Гуглил для "почему порт ethernet на eth1, а не eth0 для Hyper-v 2012"?

Удалите существующие правила UDEV для сетевых карт. Если вы добавляете / меняете сетевой адаптер, правила udev обнаруживают новое устройство и присваивают ему другое имя интерфейса. Инструкции см. В разделе Перенастройка интерфейса Ethernet в CentOS Linux на eth0 или Force CentOS 6 для повторного обнаружения сетевых устройств.

Как бы это счастье? Когда виртуальная машина клонирована. Например, вы берете машину с NIC, находящимся по адресу eth0, клонируете образ и создаете новую виртуальную машину для образа с другим MAC-адресом. NIC будет eth1, а не eth0.

Другие предположения? Я проверил это с помощью Hyper-V 2012, CentOS6.3 x64 и Microsoft Linux Integration Services 3.4

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