сетевые интерфейсы удаляются после выполнения команды virsh shutdown на виртуальной машине

Вопрос или проблема

Я попытался инстанцировать виртуальную машину, используя команду virt-install с несколькими интерфейсами, как требуется. Точная команда выглядит следующим образом:

virt-install \
    --name VM \
    --noautoconsole \
    --input keyboard \
    --os-variant rhel7.0 \
    --memory 8192 \
    --vcpus 4 \
    --boot hd \
    --sound none \
    --disk "vol=default,boot_order=1,bus=sata" \
    --disk sda6 \
    --network bridge=eth0

Сразу после этого я попытался прикрепить интерфейс с помощью команды virsh attach-interface следующим образом:

virsh attach-interface --domain VM --type direct --source eth1 --model virtio

Меня удовлетворила XML конфигурация виртуальной машины, так как интерфейсы отобразились корректно.

$ virsh domiflist VM
Interface  Type       Source     Model       MAC
-------------------------------------------------------
vnet16     bridge     eth0       virtio      52:54:00:e9:d5:4c
macvtap0   direct     eth1       virtio      52:54:00:70:be:74

Но когда была выдана команда virsh shutdown, а позже виртуальная машина была запущена, почему-то прикрепленный интерфейс не отобразился в XML. У меня остался только интерфейс eth0. Не знаю, как/почему eth1 пропал.

$ virsh domiflist VM
Interface  Type       Source     Model       MAC
-------------------------------------------------------
vnet16     bridge     eth0       virtio      52:54:00:e9:d5:4c

Пожалуйста, дайте знать, что можно сделать, чтобы избежать этой ситуации, чтобы интерфейсы сохранялись как есть, как до выключения виртуальной машины.

Вам следует попробовать то же самое, но добавив флаг –config:

virsh attach-interface --domain VM --type direct --source eth1 --model virtio --config

Это должно сохраняться после перезагрузки.

добавьте “–persistent” или “–config”

источник:

virsh attach-interface –help

ИМЯ
attach-interface – прикрепить сетевой интерфейс

КОРОТКОЕ ОПИСАНИЕ
attach-interface [–target ] [–mac ] [–script ] [–model ] [–inbound ] [–outbound ] [–persistent] [–config] [–live] [–current] [–print-xml] [–managed]

ОПИСАНИЕ
Прикрепить новый сетевой интерфейс.

ПАРАМЕТРЫ
[–domain] имя домена, id или uuid
[–type] тип сетевого интерфейса
[–source] источник сетевого интерфейса
–target имя целевой сети
–mac MAC адрес
–script скрипт, используемый для связывания сетевого интерфейса
–model тип модели
–inbound контроль входящего трафика домена
–outbound контроль исходящего трафика домена
–persistent сделать живое изменение постоянным
–config повлиять на следующую загрузку
–live повлиять на работающий домен
–current повлиять на текущий домен
–print-xml вывести XML документ вместо прикрепления интерфейса
–managed libvirt автоматически отсоединит/прикрепит устройство от/к хосту

Ответ или решение

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

Проблема: Исчезновение интерфейсов после перезагрузки

Вы создали виртуальная машина (ВМ) с использованием virt-install и добавили интерфейс с помощью команды virsh attach-interface. На первый взгляд, все настроено правильно, интерфейсы отображаются корректно командой virsh domiflist. Однако после вызовов virsh shutdown и последующего старта ВМ, интерфейс macvtap0, привязанный к eth1, исчезает.

Причины проблемы

Эта ситуация может объясняться тем, что вы не использовали необходимые флаги для обеспечения постоянной конфигурации сетевого интерфейса. Ваша команда по добавлению интерфейса не сохраняет изменения в конфигурации ВМ, что означает, что при каждом старте системы применяются только настройки из последнего сохранённого состояния.

Решение: Использование параметров --persistent или --config

Чтобы сохранить настройки сетевого интерфейса, вы должны использовать один из следующих ключей при вызове команды virsh attach-interface:

  1. –persistent: Этот флаг делает изменения живыми и сохраняет их в конфигурации ВМ. Если вы используете этот флаг, изменения сохраняются, и интерфейсы не исчезнут после перезагрузки ВМ.

    Пример команды:

    virsh attach-interface --domain VM --type direct --source eth1 --model virtio --persistent
  2. –config: Этот флаг влияет на следующую загрузку ВМ. Используя его, вы можете гарантировать, что интерфейс будет подключаться при следующем запуске системы, даже если изменения не были сохранены как живые.

    Пример команды:

    virsh attach-interface --domain VM --type direct --source eth1 --model virtio --config

Рекомендуемое действие

Наилучшей практикой будет использование флага --persistent, поскольку он сохраняет изменения на уровне конфигурации, что делает управление сетевыми интерфейсами более предсказуемым. Таким образом, ваше решение по добавлению интерфейса будет оставаться в силе даже после перезагрузки — это значительно упрощает управление виртуальной инфраструктурой.

Используя правильные команды и параметры, вы сможете избежать ситуации, когда сетевые интерфейсы пропадают после перезагрузки виртуальной машины. Проходя через этот процесс, вы будете более уверенно управлять своими ВМ и их сетевыми подключениями, что важная часть администрирования виртуальных сред.

Оцените материал
Добавить комментарий

Капча загружается...