Я установил 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 не может использовать сетевой адаптер и которая, по-видимому, не реализована модулем LIS3.1 от Microsoft.
Могу ли я что-нибудь сделать, чтобы использовать синтетический сетевой адаптер в CentOS? Или я сделал что-то не так и должно работать как есть? Возможности синтетического адаптера зависят от аппаратной карты Ethernet, используемой в хост-машине? Версия ядра CentOS - 2.6.32-71.el6.x86_64, гипервизор - R2 SP1 со всеми установленными обновлениями.
Второй вопрос, если ответ на первый - «нет, это не сработает»: есть ли большое снижение производительности при использовании эмулированного (устаревшего) сетевого драйвера? Этого следует избегать в производственной среде?
Если у кого-то такая же проблема, вот решение: адаптер необходимо настроить вручную, добавив файлы / etc / sysconfig / network-scripts / ifcfg-eth0 и / etc / sysconfig / network / profiles / default / ifcfg. -eth0 после успешной установки LIS3.
Шаги, которые сработали для меня:
Источники, в которых я нашел наиболее полезную информацию:
(решено)
Пожалуйста, назначьте статический MAC-адрес в настройках Hyper-v. MAC должен быть таким же, как в вашей виртуальной машине Linux. Вы можете найти MAC-адрес в /etc/sysconfig/network-scripts/ifcfg-eth0
.
Погуглил, почему порт Ethernet находится на eth1, а не на eth0 для Hyper-v 2012?
Удалите существующие правила UDEV для сетевых карт. Если вы добавляете / меняете сетевой адаптер, правила udev обнаруживают новое устройство и назначают ему другое имя интерфейса. Инструкции см. Перенумеровать интерфейс Ethernet в CentOS Linux на eth0 или Заставьте CentOS 6 повторно обнаруживать сетевые устройства
Как бы это случилось? Когда виртуальная машина клонирована. Например. вы берете машину с сетевой картой на eth0, клонируете образ и создаете новую виртуальную машину для образа с другим MAC-адресом. Сетевой адаптер будет eth1, а не eth0.
Другие предположения? Я тестировал это с помощью Hyper-V 2012, CentOS6.3 x64 и Microsoft Linux Integration Services. 3,4