Виртуальные машины ESXi случайно теряют сеть при перезагрузке; только разрешение для извлечения сетевых адаптеров и переназначения нового драйвера сетевого адаптера со статическим MAC

У нас есть один сервер ESXi (сборка HP-ESXi-6.0.0 -2492585), на котором установлено несколько виртуальных машин, которые демонстрируют следующее поведение:

При перезагрузке виртуальной машины иногда просто теряется все сетевое подключение. Войдите в командную строку виртуальной машины из консоли хоста в vSphere, вы увидите, что машины сохраняют свои сетевые карты, сетевые настройки и т. Д. Ничего не может проверить связь в сети или на шлюзе. Я не могу найти никаких ошибок в журналах виртуальной машины или на стороне хоста. Как только возникает ошибка, последующие перезагрузки, похоже, не меняют поведения, однако этот аспект был проверен лишь слегка.

Самый прямой способ, которым мы '' Мы обнаружили, что для решения этой проблемы необходимо убить текущий vNIC и добавить новый. Иногда срабатывает простая замена драйвера vNIC с VMXNET3 на E1000, но недавно я обнаружил, что более вероятным «исправлением» является изменение MAC-адреса с автоматического на ручной. У нас определенно были случаи, когда удаление vNIC и добавление его обратно только с новым типом адаптера не помогло, но изменение MAC-адреса помогло.

У нас есть 3 других хоста ESXi на том же оборудовании и версия ESXi, где виртуальные машины не демонстрируют такого поведения.

Это происходит на виртуальных машинах как с ОС Linux, так и с ОС Windows.

Эта проблема может возникнуть при перезагрузке всего узла виртуальной машины. Фактически исходное проявление проблемы произошло после перезагрузки хоста виртуальной машины. Как указано в документации, я создал файл /etc/modprobe.d/be2net.conf с ...

Я хочу загрузить модуль be2net с параметром rx_frag_size установлен на 4096 , значение по умолчанию 2048 . Как указано в документации , я создал файл /etc/modprobe.d/be2net.conf с параметрами содержимого be2net rx_frag_size = 4096 .

Однако после перезагрузки rx_frag_size по-прежнему установлен на 2048 (проверено командой cat /sys/module/be2net/parameters/rx_frag_size).

Я попытался найти любой сценарий, который modprobe be2net в / etc / безуспешно.

Я также попробовал этот метод и поместил исполняемый скрипт / etc / sysconfig / modules /be2net.modules для загрузки модуля с помощью modprobe be2net rx_frag_size = 4096 и тоже не работает, параметр остается на 2048.

Последний метод проверки наличия файла /etc/modprobe.d/be2net.conf используется modprobe,Я выгрузил модуль be2net и перезагрузил его, используя

modprobe -r be2net
modprobe be2net
cat /sys/module/be2net/parameters/rx_frag_size
4096

, так что на самом деле он работает, но это не постоянно.

Есть ли у вас какие-либо идеи, что может привести к тому, что модуль не загружается с параметром, установленным в / etc / modprobe .d / be2net.conf при загрузке?

спасибо

1
задан 10 July 2018 в 21:59
1 ответ

Для модулей, которые загружаются в initramfs, необходимо скопировать параметры их модулей в initramfs, иначе они будут загружены со значениями по умолчанию.

Чтобы решить эту проблему Проблема требует регенерации initramfs . Это можно сделать в RHEL 6 и новее, запустив:

dracut -f -v

Это регенерирует initramfs для работающего ядра. Чтобы повторно сгенерировать initramfs для всех установленных ядер, добавьте в команду --reгенерировать-все .

1
ответ дан 3 December 2019 в 23:14

Теги

Похожие вопросы