Удалите запись аренды DHCP libvirt с помощью virsh.

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

Используя:

$ virsh version
 Скомпилировано против библиотеки: libvirt 1.3.1
 Используемая библиотека: libvirt 1.3.1
 Используемый API: QEMU 1.3.1
 Запускаемый гипервизор: QEMU 2.5.0
$
$
$ lsb_release -a
 Нет доступных модулей LSB.
 Идентификатор дистрибьютора:    Ubuntu
 Описание:   Ubuntu 16.04.2 LTS
 Версия:   16.04
 Кодовое имя:  xenial

Я хотел бы удалить запись dhcp-аренды libvirt с помощью virsh.

$ virsh net-list
Имя                 Состояние  Автозапуск   Постоянный
----------------------------------------------------------
default              активен    да           да
docker-machines      активен    да           да

$ virsh net-dhcp-leases docker-machines
Время истечения       MAC-адрес           Протокол  IP-адрес               Имя хоста        ID клиента или DUID
-------------------------------------------------------------------------------------------------------------------
2017-05-10 16:15:38  52:54:00:8e:15:f5  ipv4      192.168.42.22/24         minikubecluster ff:c2:72:f6:09:00:02:00:00:ab:11:af:a8:d1:af:21:23:5c:49
2017-05-10 16:09:57  52:54:00:c6:51:45  ipv4      192.168.42.23/24         registry        01:52:54:00:c6:51:45

Я пробовал разные варианты с virsh net-update delete, но продолжаю получать эту ошибку:

не удалось найти соответствующую запись dhcp хоста в сети 'docker-machines'

Не связано ли это с тем, что файлы аренды libvirt были изменены (они названы по имени сетевого интерфейса и имеют формат JSON)? Если да, то как тогда это сделать?

Подкоманда удаления работает так же, как и подкоманда добавления.

virsh net-update docker-machines delete ip-dhcp-host \
"<host mac="52:54:00:8e:15:f5" \
name="minikubecluster" ip='192.168.42.22' />" \
--live --config

Libvirt – Сетевые подключения – virsh net-update

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

Чтобы удалить запись DHCP-арендного соглашения libvirt с использованием virsh, нужно последовательно выполнить несколько шагов. Давайте рассмотрим процесс более подробно, учитывая вашу информацию и используемые инструменты.

Шаг 1: Определение текущих арендаторов DHCP

В первую очередь, необходимо узнать, какие DHCP-арендные записи уже присутствуют в сети. Вы уже указали команду, которая выводит эту информацию:

virsh net-dhcp-leases docker-machines

В результате вы получили список активных арендаторов с их MAC-адресами, IP-адресами и другими соответствующими данными. На примере из вашего вопроса, вы видите следующее:

Expiry Time          MAC address        Protocol  IP address               Hostname        Client ID or DUID
-------------------------------------------------------------------------------------------------------------------
2017-05-10 16:15:38  52:54:00:8e:15:f5  ipv4      192.168.42.22/24         minikubecluster ff:c2:72:f6:09:00:02:00:00:ab:11:af:a8:d1:af:21:23:5c:49

Шаг 2: Удаление записи через virsh net-update

Чтобы удалить запись DHCP, вы можете использовать команду virsh net-update. Формат команды для удаления выглядит следующим образом:

virsh net-update <имя_сети> delete ip-dhcp-host \
'<host mac="52:54:00:8e:15:f5" name="minikubecluster" ip="192.168.42.22" />' \
--live --config

В вашей команде нужно заменить <имя_сети> на docker-machines. Таким образом, ваша команда будет выглядеть следующим образом:

virsh net-update docker-machines delete ip-dhcp-host \
'<host mac="52:54:00:8e:15:f5" name="minikubecluster" ip="192.168.42.22" />' \
--live --config

Шаг 3: Обработка ошибок

Если вы получили ошибку, подобную:

couldn't locate a matching dhcp host entry in network 'docker-machines'

Это может означать, что запись, которую вы хотите удалить, не была ранее добавлена либо была удалена каким-то другим способом. Убедитесь, что вы правильно указали MAC-адрес и другие параметры.

Шаг 4: Проверка конфигурации сети

Чтобы убедиться, что изменения вступили в силу, вы можете снова выполнить команду:

virsh net-dhcp-leases docker-machines

Убедитесь, что запись была успешно удалена. Если ваша сеть непрерывно использует DHCP, и вы не видите изменения, попробуйте перезагрузить сеть:

virsh net-destroy docker-machines
virsh net-start docker-machines

Заключение

Удаление записей DHCP в libvirt может показаться сложным процессом, но с правильной командой virsh net-update и пониманием текущих настроек сети, вы сможете легко управлять своими DHCP-арендаторами. Если у вас возникнут дополнительные вопросы или сложности, вы всегда можете обратиться к документации libvirt или к сообществу за поддержкой.

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

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