- Создание сетевого моста в KVM
- Подготовительные действия
- Два альтернативных решения
- Ограничения
- Базовые концепции настройки сети
- Создание моста
- Создание виртуальной машины
- Альтернативный способ (работает не всегда)
- Существующие виртуальные машины
- Заключение
- Создаем сетевой мост (bridge, br0). Например, для виртуальных машин KVM
- Настройка KVM на Ubuntu Server
- Проверка поддержки гипервизора
- Подготовка сервера
- Установка и запуск
- Настройка сети на сервере KVM
- Создание виртуальной машины
- Подключение к виртуальной машине
- Управление виртуальной машиной из командной строки
- Управление дисками
- Добавление диска
- Увеличение размера виртуального диска
- Управление сетевыми настройками виртуальной машины
- Резервирование IP на DHCP
Создание сетевого моста в KVM
Итак, к настоящему времени мы достаточно хорошо разбираемся в настройке KVM. Мы изучили несколько руководств, включая основы установки и использования, работу с сетью и носителями, а также совместную работу VirtualBox и KVM. Следующим логичным шагом будет освоение настройки сетевого моста, чтобы позволить нашей виртуальной машине работать с внешними IP-адресами, если нам необходимо пробросить порты и т.д.
То, что я вам хочу сегодня показать, будет несколько отличаться от того, что вы увидите в большинстве других руководств. А именно, я хочу попробовать обойти метод грубой силы, который описан в различных источниках. Я покажу вам два возможных способа вывести ваши виртуальные машины во внешний мир. Один из методов — это хак, впрочем абсолютно легальный. Вы его точно никогда не видели! И мы также немного поговорим об ограничениях и возможных проблемах.
Подготовительные действия
Начнем с проверки. Сетевые мосты часто вызывают затруднения и требуют некоторого знания командной строки Linux. Однако иногда без них не обойтись. Если вам нужно запускать некоторые типы серверов внутри виртуальной машины, вам может понадобиться присвоить ей внешний IP-адрес, так как другие хосты должны будут соединяться с ней напрямую.
Пример: ваш маршрутизатор раздает адреса в диапазоне 10.0.0.X. Ваши физические хосты используют 10.0.0.4, но виртуальная машина имеет адрес 192.168.2.133. Без некоторых изменений в интерпретации системой отправлямых и получаемых пакетов клиенты в сети 10.0.0 не смогут сообщаться с клиентами в сети 192.168.2.
Вы можете обойти эту проблему с помощью сетевого моста. Это позволит вашей виртуальной машине соединяться с роутером и получать внешние IP-адреса. В данном контексте под внешними подразумеваются любые адреса, используемые вашими физическими хостами.
По умолчанию KVM создает свой собственный сетевой мост, 192.168.122.1. Это устройство работает как виртуальный маршрутизатор к вашим виртуальным машинам и раздает им IP-адреса в этом диапазоне. Однако мы хотим дать нашим машинам доступ к внешним адресам. В данном руководстве это диапазон 192.168.2.
Два альтернативных решения
Мы попробуем решить эту проблему двумя способами.
Во-первых, мы создадим мост. С помощью него будут соединены два устройста — физическое eth1 и виртуальное vnet0. После того, как мы убедимся, что наш мост работает правильно, мы внесем изменения в конфиграционный файл сети на диске. Виртуальные машины будут получать свои IP-адреса от маршрутизатора.
Я не могу гарантировать, что второй способ всегда работает, но обычно он срабатывает. Если ваш сетевой адаптер поддерживает сетевые мосты «из коробки», то вы сможете использовать его напрямую. В этом случае вам необходимо всего лишь назначить небольшую подсеть вашему виртуальному мосту в KVM, которая не будет перекрывать адреса, используемые физическими хостами в сети.
Ограничения
Существует ряд обстоятельств, которые могут серьезно осложнить применение рекомендаций, представленных в данном руководстве. Например, ваш маршрутизатор или ваш сетевой адаптер может не поддерживать сетевые мосты. Доступный вам диапазон IP-адресов может быть ограниченным. Могут возникнуть проблемы с брандмауэром. Наконец, в Ubuntu могут возникнуть проблемы и конфликты, если сетевым мостом управляет Network Manager.
Для более углубленного изучения вопроса можно почитать следующую документацию:
Итак, теперь вы знаете, что нас ждет. Сетевые мосты действительно не так просты. Есть несколько вещей, которые вам необходимо знать, чтобы уверенно продолжать. Во-первых, поддерживает ли ваш сетевой адаптер мосты? Например, на некоторых ноутбуках беспроводные адаптеры действительно не поддерживают этот режим работы. Во-вторых, нравится ли вам возиться с настройками сети? В третьих, действительно ли вам необходим сетевой мост? Может быть вас устроит NAT?
Базовые концепции настройки сети
Хотя моей тестовой системой является Ubuntu, мне бы хотелось, чтобы инструкции, которые я привожу, работали в любом дистрибутиве. Следование заветам документации сообщества Ubuntu KVM — вещь хорошая, но их инструкции будут работать только в системах на базе Debian. Поэтому давайте отклонимся немного в сторону и познакомимся с концепциями работы сети, принятыми в системах RedHat и SUSE.
В системах на базе Debian, таких как Ubuntu, постоянные настройки сети хранятся в /etc/network/interfaces. В системах на базе RedHat и семестве SUSE сетевые настройки находятся в индивидуальных файлах, расположенных в директории /etc/sysconfig/network, названия которых обычно начинаются с ifcfg-ethX или ifcfg-eth-MAC-address.
Также вы можете создавать мосты с помощью утилиты brctl в командной строке, без правки конфигурационных файлов, но изменения не будут сохраняться при перезапуске сетевых служб. Этот способ рекомендуется для тестирования перед внесением изменением в любые системные файлы. И не забывайте делать резервные копии своих настроек перед их изменением.
Создание моста
Теперь можно начинать. Надеюсь, что сначала вы будете работать с командами brctl, ifconfig и dhclient. Заранее прошу прощения, если буду опускать какие-либо детали, которые мне кажутся неважными. Дополнительную информацию всегда можно найти в более подробных руководствах. В целом, последовательность действий следующая (команды выполняются с sudo или от имени root, предполагается, что br0, физические и/или виртуальные устройства eth0/1 и DHCP подключены к свитчеру или маршрутизатору):
Обратите внимание, что виртуальный адаптер может быть недоступен, пока вы не запустите виртуальную машину. Поэтому пока можно не добавлять виртуальный адаптер. KVM сделает это автоматически, если вы зададите в опциях сетевой мост.
Если вы видите, что ваш сетевой мост получил внешний IP-адрес от DHCP-сервера, вы на правильном пути. В домашних условиях DHCP-сервер, как правило, находится в маршрутизаторе. Если же у вас прямое интернет-соединение, то скорее всего ничего не выйдет, так как ваш ISP может не допускать получение более чем одного IP-адреса на пользователя.
После того, как сетевой мост заработал, убедитесь, что работоспособность вашей сети не нарушена. Возможно, вам придется отредактировать /etc/resolv.conf или таблицу маршрутизации.
Если все заработало, вы можете захотеть сохранить изменения в файле конфигурации сети. Обратите внимание, что экземпляр, который я привожу — это типовой файл конфигурации, похожий на тот, что описывается в документации. У вас он может отличаться. Например, может понадобиться активировать Spanning Tree Protocol (STP) для сетевого моста.
Специально для этого случая мы хотим отредактировать /etc/network/interface и добавить br0. Если вам необходим STP, необходимо заменить bridge_stp off на bridge_stp on. Вы можете проверить результат с помощью команды btctl show.
Создание виртуальной машины
Мы уже изучали, как это делается, поэтому не будем повторяться. На финальной стадии, во вкладке Advanced options, задайте фиксированный уникальный MAC-адрес, чтобы избежать конфликта с другими устройствами.
Если вам повезет и ваш сетевой адаптер поддерживат сетевые мосты, то вам не нужно будет ничего дополнительно настраивать. Но скорее всего вам не повезет, так что приготовьтесь к ручному вводу нужных настроек.
Чтобы убедиться, что все работает, попробуйте ping:
Если пинг проходит, значит все в порядке. Теперь вы можете делать видимыми в сети службы, расшаривать данные и делать все, что вам нужно. Наслаждайтесь.
Альтернативный способ (работает не всегда)
Вы можете не оказаться среди счастливчиков. Network Manager может блокировать работу моста и может выявиться еще масса проблем. Для того, чтобы обойти их, вы можете попробовать создать отдельный виртуальный адаптер и связать его с физическим устройством, которое поддерживает режим сетевого моста «из коробки». Помните о конфликте IP-адресов.
В заключение, если у вас все работает, вы можете попробовать очень грязный хак. Создайте виртуальную сеть, которая разделяет такой же диапазон адресов /24 с вашей сетью. Например, если ваш роутер имеет адрес 192.168.2.0, создайте виртуальную сеть, диапазон адресов которой начинается с 192.168.2.160 и имеет всего несколько значений, например 16. Убедитесь, что ваш маршрутизатор никогда не отдаст эти адреса другим клиентам сети.
Пример: Я создал сеть 192.168.2.160/28. Не думаю, что маршрутизатор будет использовать адреса из этого диапазона, но при необходимости я могу ограничить их использование в настройках DHCP. Теперь свяжите виртуальную сеть с физическим устройством, в моем случае с беспроводным адаптером eth1.
Далее, создайте свою виртуальную машину и свяжите ее с eth1, как было показано выше. В онлайне они должны замечательно работать вместе. У хоста адрес .103, у виртуальной сетевой карты virbr1 .161, в то время как виртуальная машина работает с адресом .168.
На скриншоте ниже приведен пинг из физической системы Windows 7, находящейся в той же сети с адресом .103. Пингуется виртуальный адаптер с адресом .161 на Ubuntu Lucid. Оба адаптера беспроводные и соединены через один и тот же маршрутизатор.
Существующие виртуальные машины
Для виртуальных машин, которые были созданы ранее, вы также можете отредактировать установки путем изменения директив в /etc/libvirt/. Каждая виртуальная машина имеет отдельный конфигурационный файл в формате .xml. Для применения изменений необходимо перезапустить виртуальную машину. Пример:
Заключение
Настройка сетевых мостов в KVM не слишком интуитивна. В данном аспекте она отстает от VirtualBox на два — три года. Ограничения в использовании сетевых мостов связаны в основном с функциональностью и топологией вашей сети.
Если вам повезет, ваш сетевой адаптер будет поддерживать сетевые мосты. Если нет, необходимо создать виртуальный сетевой мост и связать его с физическим или виртуальным сетевым адаптером. Затем необходимо решить потенциальные проблемы с DNS, DHCP или маршрутизацией. После этого вы можете попробовать применить описанный выше хак и поупражняться в создании подсети в подсети, только убедитесь, что диапазоны адресов не пересекаются. Теперь соедините ваш виртуальный адаптер с физическим устройством.
Данное руководство не претендует на всеобъемлющий охват проблемы, поэтому я буду рад любым вашим комментариям и предложениям по преодолению трудностей, связанных с настройкой сетевых мостов в KVM.
Источник
Создаем сетевой мост (bridge, br0). Например, для виртуальных машин KVM
При установке kvm изначально создается виртуальная локальная сеть, из которой гостевые VM могут выходить «наружу», но с ними снаружи до настройки DST-NAT/FORWARD никто не сможет взаимодействовать. Если необходимо, чтобы виртуальные машины были доступны так же, как и обычные компьютеры, их можно подключить к сети черед мост (bridge). Предположим, есть хост Linux, на нем настроен KVM. На хосте есть два физических сетевых адаптеров, один из которых планируется отдать для подключения виртуальных машин к физической сети (LAN, WAN, не имеет значения).
Пусть есть два сетевых адаптера: eno1 и eno2.
eno2 — управляющий, ему будет назначен какой-то ip-адрес, через него хост настраивается.
eno1 — адаптер, подключенный к сети LAN, в которой будут доступны виртуальные машины.
При этом eno1 и eno2 могут быть подключены в одну и ту же сеть, не важно.
Создадим bridge br0, привязанный к адаптеру eno1.
На примере хоста KVM на CentOS 7.
Проверим, подгружен ли модуль bridge:
Если не подгружен, можно подгрузить:
# modprobe —first-time bridge
Возможно, потребуется установить утилиты bridge:
# yum install bridge-utils
NetwokManager выключаем, он на практике только мешает на сервере:
# chkconfig NetworkManager off
# chkconfig network on
# service NetworkManager stop
На всякий случай, копируем конфиг сетевого адаптера eno1 (у меня это были базовые, нетронутые настройки):
Создаем конфиг бриджа br0:
Совет : обратите внимание, что Bridge пишется в конфиге с большой буквы!
Изменяем конфиг eno1:
Фактически полностью сохраняется конфиг, внизу появляется привязка к bridge br0.
Кто-то после этого делает service network restart, я все же хочу убедиться, что все будет ок и после перезагрузки, поэтому reboot. При этом не забывайте, что если вы что-то напутаете (например, если для eno1 у вас были какие-то правила iptables, или в конфиге ошибетесь), то лучше вам быть рядом с хостом и его физической клавиатурой.
После перезагрузки если все ок и в листинге ip link бридж br0 присутствует, можно приступать или к настройке KVM (на CentOS 7) или, если уже настроено, виртуальные машины можно подключать к сети через br0, например:
# virt-install —network bridge:br0 —name vm1 —description=’Windows 7′ —ram=1024 —vcpus=1 —disk path=/vms/vm1.iso,size=30,format=qcow2,bus=virtio —graphics vnc,password=12345 —cdrom /data/vms-iso/Windows-7-64-prof-from-orig-dvd.iso —boot cdrom,hd,menu=on
Все, мы создали выделенный сетевой мост br0 (на базе адаптера eno2) который не имея собственного IP адреса, подключает виртуальные машины к нужному сегменту реальной сети. При этом что бы ни случилось с трафиком VM, есть отдельный административный сетевой адаптер eno2.
Источник
Настройка KVM на Ubuntu Server
Инструкция написана на примере Linux Ubuntu Server 18.04.3 LTS. Она подойдет для большинства дистрибутивов на основе Debian.
Проверка поддержки гипервизора
Проверяем, что сервер поддерживает технологии виртуализации:
cat /proc/cpuinfo | egrep «(vmx|svm)»
В ответ должны получить что-то наподобие:
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2 popcnt aes lahf_lm epb tpr_shadow vnmi flexpriority ept vpid dtherm ida arat
В противном случае, заходим в БИОС, находим опцию для включения технологии виртуализации (имеет разные названия, например, Intel Virtualization Technology или Virtualization) и включаем ее — задаем значение Enable.
Также проверить совместимость можно командой:
* если команда вернет ошибку «kvm-ok command not found», установите соответствующий пакет: apt-get install cpu-checker.
INFO: /dev/kvm exists
KVM acceleration can be used
значит поддержка со стороны аппаратной части есть.
Подготовка сервера
Для нашего удобства, создадим каталог, в котором будем хранить данные для KVM:
* будет создано два каталога: /kvm/vhdd (для виртуальных жестких дисков) и /kvm/iso (для iso-образов).
timedatectl set-timezone Europe/Moscow
* данная команда задает зону в соответствии с московским временем.
apt-get install chrony
systemctl enable chrony
* устанавливаем и запускаем утилиту для синхронизации времени.
Установка и запуск
Устанавливаем KVM и необходимые утилиты управления.
а) Ubuntu после версии 18.10
apt-get install qemu qemu-kvm libvirt-daemon-system virtinst libosinfo-bin
б) Ubuntu до 18.10:
apt-get install qemu-kvm libvirt-bin virtinst libosinfo-bin
* где qemu-kvm — гипервизор; libvirt-bin — библиотека управления гипервизором; virtinst — утилита управления виртуальными машинами; libosinfo-bin — утилита для просмотра списка вариантов операционных систем, которые могут быть в качестве гостевых.
Настроим автоматический запуск сервиса:
systemctl enable libvirtd
Настройка сети на сервере KVM
Виртуальные машины могут работать за NAT (в качестве которого выступает сервер KVM) или получать IP-адреса из локальной сети — для этого необходимо настроить сетевой мост. Мы настроим последний.
Используя удаленное подключение, внимательно проверяйте настройки. В случае ошибки соединение будет прервано.
apt-get install bridge-utils
а) настройка сети в старых версиях Ubuntu (/etc/network/interfaces).
Открываем конфигурационный файл для настройки сетевых интерфейсов:
И приведем его к виду:
#iface eth0 inet static
# address 192.168.1.24
# netmask 255.255.255.0
# gateway 192.168.1.1
# dns-nameservers 192.168.1.1 192.168.1.2
auto br0
iface br0 inet static
address 192.168.1.24
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 192.168.1.1 192.168.1.2
bridge_ports eth0
bridge_fd 9
bridge_hello 2
bridge_maxage 12
bridge_stp off
* где все, что закомментировано — старые настройки моей сети; br0 — название интерфейса создаваемого моста; eth0 — существующий сетевой интерфейс, через который будет работать мост.
Перезапускаем службу сети:
systemctl restart networking
б) настройка сети в новых версиях Ubuntu (netplan).
* в зависимости от версии системы, конфигурационной файл yaml может иметь другое название.
Приводим его к виду:
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: false
dhcp6: false
wakeonlan: true
bridges:
br0:
macaddress: 2c:6d:45:c3:55:a7
interfaces:
— eth0
addresses:
— 192.168.1.24/24
gateway4: 192.168.1.1
mtu: 1500
nameservers:
addresses:
— 192.168.1.2
— 192.168.1.3
parameters:
stp: true
forward-delay: 4
dhcp4: false
dhcp6: false
* в данном примере мы создаем виртуальный бридж-интерфейс br0; в качестве физического интерфейса используем eth0. 2c:6d:45:c3:55:a7 — физический адрес интерфейса, через который мы будем настраивать бридж; 192.168.1.24 — IP-адрес нашего сервера KVM; 192.168.1.1 — адрес шлюза; 192.168.1.2 и 192.168.1.3 — адреса серверов DNS.
Применяем сетевые настройки:
Настаиваем перенаправления сетевого трафика (чтобы виртуальные машины с сетевым интерфейсом NAT могли выходить в интернет):
sysctl -p /etc/sysctl.d/99-sysctl.conf
Создание виртуальной машины
Для создания первой виртуальной машины вводим следующую команду:
virt-install -n VM1 \
—autostart \
—noautoconsole \
—network=bridge:br0 \
—ram 2048 —arch=x86_64 \
—vcpus=2 —cpu host —check-cpu \
—disk path=/kvm/vhdd/VM1-disk1.img,size=16 \
—cdrom /kvm/iso/ubuntu-18.04.3-server-amd64.iso \
—graphics vnc,listen=0.0.0.0,password=vnc_password \
—os-type linux —os-variant=ubuntu18.04 —boot cdrom,hd,menu=on
- VM1 — имя создаваемой машины;
- autostart — разрешить виртуальной машине автоматически запускаться вместе с сервером KVM;
- noautoconsole — не подключается к консоли виртуальной машины;
- network — тип сети. В данном примере мы создаем виртуальную машину с интерфейсом типа «сетевой мост». Для создания внутреннего интерфейса с типом NAT вводим —network=network:default,model=virtio;
- ram — объем оперативной памяти;
- vcpus — количество виртуальных процессоров;
- disk — виртуальный диск: path — путь до диска; size — его объем;
- cdrom — виртуальный привод с образом системы;
- graphics — параметры подключения к виртуальной машины с помощью графической консоли (в данном примере используем vnc); listen — на какой адресе принимает запросы vnc (в нашем примере на всех); password — пароль для подключения при помощи vnc;
- os-variant — гостевая операционная система (весь список мы получали командой osinfo-query os, в данном примере устанавливаем Ubuntu 18.04).
Подключение к виртуальной машине
На компьютер, с которого планируем работать с виртуальными машинами, скачиваем VNC-клиент, например, TightVNC и устанавливаем его.
На сервере вводим:
virsh vncdisplay VM1
команда покажет, на каком порту работает VNC для машины VM1. У меня было:
* :1 значит, что нужно к 5900 прибавить 1 — 5900 + 1 = 5901.
Запускаем TightVNC Viewer, который мы установили и вводим данные для подключения:
Кликаем по Connect. На запрос пароля вводим тот, что указали при создании ВМ, (vnc_password). Мы подключимся к виртуальной машине удаленной консолью.
Если мы не помним пароль, открываем настройку виртуальной машины командой:
И находим строку:
* в данном примере для доступа к виртуальной машине используется пароль 12345678.
Управление виртуальной машиной из командной строки
Примеры команд, которые могут пригодиться при работе с виртуальными машинами.
1. Получить список созданных машин:
2. Включить виртуальную машину:
virsh start VMname
* где VMname — имя созданной машины.
3. Выключить виртуальную машину:
virsh shutdown VMname
4. Включить автозапуск виртуальной машины:
virsh autostart VMname
5. Редактирование конфигурации виртуальной машины:
virsh edit VMname
6. Работа с сетевыми интерфейсами.
Добавить обычный сетевой интерфейс (default или NAT) виртуальной машине:
virsh attach-interface —domain VMname —type network —source default —model virtio —config —live
Добавить интерфейс типа bridge:
virsh attach-interface —domain VMname —type bridge —source br0 —model rtl8139 —config —live
Удалить сетевой интерфейс:
virsh detach-interface VMname —type bridge —mac 52:54:00:2e:a9:4d
* где bridge — тип сетевого интерфейса (также может быть network); 52:54:00:2e:a9:4d — MAC-адрес сетевого адаптера (узнать данный адрес можно в конфигурации виртуальной машины или в самой гостевой операционной системы).
7. Посмотреть IP-адреса, выданные виртуальным машинам автоматически:
virsh net-dhcp-leases default
* где default — виртуальная сеть, создаваемая по умолчанию при установке KVM.
8. Работа со снапшотами
Теневые копии или снапшоты позволяют нам быстро вернуть определенное состояние системы виртуальной машины. Рассмотрим процесс создания снапшота и управления им.
а) Создать снимок виртуальной машины можно командой:
virsh snapshot-create-as —domain VMname —name VMname_snapshot_2020-03-21
* где VMname — название виртуальной машины; VMname_snapshot_2021-05-03 — название для снапшота.
б) Список снапшотов можно посмотреть командой:
virsh snapshot-list —domain VMname
* данной командой мы просмотрим список всех снапшотов для виртуальной машины VMname.
в) Для применения снапшота, сначала мы должны остановить виртуальную машину. Для этого можно либо выполнить выключение в операционной системе или ввести команду:
virsh shutdown VMname
virsh snapshot-revert —domain VMname —snapshotname VMname_snapshot_2020-03-21 —running
* где VMname — имя виртуальной машины; VMname_snapshot_2021-05-03 — имя созданного снапшота.
г) Удалить снапшот можно так:
virsh snapshot-delete —domain VMname —snapshotname VMname_snapshot_2020-03-21
Управление дисками
Отдельно рассмотрим процесс работы с виртуальными дисками.
Добавление диска
Создаем файл для нового диска:
qemu-img create -f raw /data/kvm/vhdd/VMname-disk2.img 4G
* в данном примере мы создадим файл формата raw по полному пути /data/kvm/vhdd/VMname-disk2.img размером 4 Гб.
Теперь подключим данный диск к виртуальной машине:
virsh attach-disk VMname /data/kvm/vhdd/VMname-disk2.img vdb —cache none
* в данном примере мы подключили его к машине VMname в качестве диска vdb.
Готово. Подключаемся к виртуальной машине и проверяем, что у нас появился новый диск. Например, в Linux можно посмотреть командой:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
vda 252:0 0 24G 0 disk
??vda1 252:1 0 24G 0 part
??ubuntu—vg-root 253:0 0 23G 0 lvm /
??ubuntu—vg-swap_1 253:1 0 980M 0 lvm [SWAP]
vdb 252:16 0 4G 0 disk
Увеличение размера виртуального диска
Получаем список дисков для виртуальной машины:
virsh domblklist VMname
* в данном примере путь до диска — /data/kvm/vhdd/VMname-disk1.img.
Останавливаем виртуальную машину:
virsh shutdown VMname
* или завершаем работу в самой операционной системе.
Увеличиваем размер диска:
qemu-img resize /data/kvm/vhdd/VMname-disk1.img +100G
* данной командой мы расширим дисковое пространство виртуального диска /data/kvm/vhdd/VMname-disk1.img на 100 Гигабайт.
Мы должны увидеть:
Получаем информацию о виртуальном диске:
qemu-img info /data/kvm/vhdd/VMname-disk1.img
Запускаем виртуальную машину:
virsh start VMname
Меняем размер блочного устройства:
virsh blockresize UBU /data/kvm/vhdd/VMname-disk1.img 200G
* где 200G — общий размер виртуального диска после расширения.
После необходимо поменять размер диска в самой операционной системе. Пример того, как это можно сделать можно прочитать в инструкции Добавление дискового пространства виртуальной машине в VMware (раздел «Настройка операционной системы»).
Управление сетевыми настройками виртуальной машины
В данном подразделе рассмотрим примеры работы с сетевыми настройками виртуальных машин.
Резервирование IP на DHCP
Если мы раздаем IP-адреса виртуальным машинам с помощью встроенного в KVM сервера DHCP, мы можем привязать определенный IP по mac-адресу. Для этого смотрим список наших виртуальных сетей:
Мы увидим список сетей, например:
Name State Autostart Persistent
———————————————————-
br0 active yes yes
default active yes yes
В моем случае, необходимо настроить сеть default — вводим:
Источник