Управление виртуальными машинами KVM из консоли
В предыдущей статье мы рассмотрели установку гипервизора KVM и создание виртуальной машины. В рамках одной статьи, мы не смогли охватить все нюансы управления виртуальными машинами, а затронули лишь их часть. Сегодня, мы постараемся рассказать все об управлении виртуальными машинами из консоли сервера: как изменить параметры ВМ, добавить дополнительные устройства и рассмотрим основные команды, которые используются для администрирования виртуальных машин KVM.
Virsh: команды управления виртуальной машиной KVM
Первый вопрос, который возникает у начинающего администратора KVM: как увидеть созданные виртуальные машины, как остановить, запустить и удалить их. Для управления ВМ в KVM из консоли можно использовать утилиту virsh (использует libvirt API). С помощью утилиты virsh можно выполнить практически все операции с виртуальными машинами KVM.
# virsh list – показать список запущенных ВМ
# virsh list —all – показать список всех машин (в том числе выключенных)
Как видно из скриншота, в первом случае отключенная ВМ не была отображена.
# virsh shutdown — выключить виртуальную машину
# virsh start — запустить виртуальную машину
# virsh suspend — приостановить виртуальную машину
# virsh resume — запустить приостановленную виртуальную машину
# virsh reboot — перезапустить виртуальную машину
# virsh destroy — уничтожить виртуальную машину
# virsh undefine — удалить машину из списка и удалить все файлы, принадлежащие ей (обычно применяется после выполнения команды virsh destroy).
# virsh vcpuinfo — информация о процессоре на виртуальной машине (информацию о железе физического Linux сервера можно получить так)
Еще несколько команд по получению различной информации о виртуальной машине:
# virsh domid — получить идентификатор виртуальной машины
# virsh domuuid — получить UUID виртуальной машины
# virsh dominfo — получить сведения о виртуальной машине
# virsh domstate — просмотр состояния виртуальной машины
# virsh dumpxml — вывести файл конфигурации указанной виртуальной машины в XML формате
Добавление памяти и vCPU виртуальной машине KVM
В консоли KVM вы можете добавить или уменьшить ресурсы процессора и памяти, выделенные для ВМ двумя способами:
- С помощью virsh
- Через конфигурационный XML файл ВМ
Если виртуальная машина запущена, ее нужно остановить:
# virsh shutdown test-centos
Теперь с помощью virsh изменим количество виртуальных процессоров до 6 (vCPU):
# virsh setvcpus —config
— количество ядер процессора
# virsh setvcpus test-centos 6 —config
Но при применении этой команды, у меня сразу же появилась ошибка:
Мы не можем установить количество ядер процессора, больше, чем максимальное количество. Чтобы увеличить максимальное количество ядер ВМ, выполните команду:
# virsh setvcpus test-centos 6 —config —maximum
Повторите первую команду и запустите виртуальную машину:
Проверим количество процессоров в настройках ВМ: овленное количество процессоров:
# virsh dumpxml test-centos
Аналогичным образом добавим память виртуальной машине:
# virsh setmem —config
# virsh setmem test-centos 4G —config
Все по той же причине, сразу же вышла ошибка:
Увеличим максимальное значение памяти::
# virsh setmaxmem test-centos 6G —config
Теперь можно увеличить память ВМ.
Перед всеми изменениями не забывайте останавливать ВМ, а после запускать ее.
Также вы можете изменить ресурсы ВМ KVM через ее конфигурационный XML файл. Можно изменить файл в режиме онлайн или же сделав бэкап XML файла ВМ, изменить его и применить к виртуальной машине.
Отредактируем XML файл ВМ в онлайн режиме:
В открывшемся редакторе vi внесите изменения, нажав кнопку “Insert”.
Например, зададим для ВМ 2 ядра и 1Гб памяти:
Сохраните изменения в файле и перезапустите ВМ:
Проверьте настройки ВМ:
Тоже самое можно сделать, сделав бэкап XML файла:
# virsh dumpxml > /root/test.xml
# vi /root/test.xml
Измените нужные вам параметры, сохраните файл и примените к виртуальной машине:
# virsh shutdown test-centos
# virsh define /root/test.xml
# virsh start test-centos
KVM: добавление диска в виртуальную машину
В одной из наших статей, мы описывали процесс расширения и уменьшения дисков виртуальных машин в KVM. Но мы не описывали вариант по добавлению дополнительного диска.
Сначала нужно создать дополнительный файл диска для виртуальной машины:
# qemu-img create -f qcow2 -o size=20G /vz/disk/test.img
Вместо qcow2 вы можете указать нужный формат диска, так же нужно указать путь до файла. У меня хранилище для дисков /vz/disk/.
После этого, можно добавить устройство виртуального диска к самой ВМ:
# virsh attach-disk /vz/disk/test.img vdb —type disk —persistent
Остановите и запустите ВМ, проверьте что получилось:
# virsh shutdown test-centos
# virsh start test-centos
# virsh dumpxml test-centos
Как видим, диск добавлен. После данных манипуляций, на виртуальной машине нужно разметить этот диск под ваши нужды.
KVM: добавление сетевой карты для виртуальной машины
Попрьуем добавить дополнительный сетевой интерфейс для ВМ. Сначала проверим, какие сетевые интерфейсы созданы на хосте:
У меня на KVM сервере создана одна виртуальная машина, с одним сетевым интерфейсом. К br0 нам нужно прикрепить еще один виртуальный сетевой интерфейс. Выполните команды:
# virsh shutdown test-centos
# virsh attach-interface test-centos —type bridge —source br0 —persistent
# virsh start test-centos
Проверьте, что у ВМ появился дополнительный сетевой интерфейс:
Также вы можете изменить сетевые настройки виртуальной машины напрямую через XML файл: # virsh edit test-centos
После первого сетевого интерфейса добавьте следующие строки:
Сохраните файл и запустите ВМ. Остальную конфигурацию, KVM добавит сам (mac address и тд).
В данной статье мы затронули основные моменты, которые могут вам понадобиться при управлении виртуальными машинами KVM из консоли Linux сервера. В следующей статье мы рассмотрим управление виртуальными машинами через графический менеджер virt-manager.
Как изменить параметры виртуальной машины?
В разделе Compute в пункте Virtual Machines выбираем необходимую и нажимаем Details.
Открывается окно с четырьмя основными вкладками: General, Hardware, Guest OS Customization, Advanced. Рассмотрим каждую из них подробнее. В инструкции будут описаны только те опции, которые вы сможете редактировать самостоятельно.
1. Параметры вкладки General:
- Name – имя виртуальной машины;
- Computer Name – DNS-имя сервера внутри гостевой операционной системы;
- Description – описание виртуальной машины;
- Operating System Family – семейство ОС, установленной внутри виртуальной машины;
- Operating System – версия ОС, установленной внутри виртуальной машины. Данный параметр определяет то, какой образ будет подключен гипервизором для установки vmware tools;
- Boot Delay – пауза между окончанием инициализации BIOS и загрузкой ОС;
- Storage Policy – тип системы хранения данных, на которой будут находиться конфигурационные файлы ВМ (swap, снимки состояния) и ее диски;
- Enter BIOS Setup – если этот флаг активен, при следующей загрузке будет принудительно вызвано меню BIOS;
2. Параметры вкладки Hardware:
- Compute Policy – тип физических серверов, на которых будет работать ВМ;
- Number of virtual CPUs – суммарное количество ядер CPU ВМ;
- Cores per socket – параметр распределения ядер по сокетам. Если у вас нет специальных требований, например к лицензированию ПО, рекомендуем данный параметр оставить в значении 1.
- Virtual CPU hot add – возможность добавления CPU без отключения ВМ. Использование данного функционала может негативно повлиять на производительность ВМ, используйте с осмотрительностью.
- Expose hardware-assisted CPU virtualization to guest OS – проброс функций аппаратной виртуализации процессора в гостевую ОС.
- Total Memory – объем оперативной памяти виртуальной машины;
- Memory hot add – возможность добавления памяти без отключения ВМ;
- Computer Name – DNS-имя сервера внутри гостевой операционной.
- Кнопка ADD – добавление новых виртуальных дисков;
- Size – размер виртуального диска;
- Policy – тип СХД, на которой будут расположены диски;
- Bus Type – тип виртуального дискового контроллера. Рекомендуем оставлять данный параметр по умолчанию.
- Bus Number, Unit Number – параметры, определяющие адресацию шины дисков;
- Кнопка с изображением корзины – удаление виртуального диска.
- Кнопка ADD – добавление новых виртуальных сетевых адаптеров;
- Primary NIC – если флаг активен, то к данному адаптеру будут применяться параметры спецификации виртуальной сети (DNS, Default Gateway);
- Connected – подключение/отключение виртуального адаптера к виртуальной сети;
- Network Adapter Type – модель виртуального сетевого адаптера. Данный параметр можно выбрать только в момент добавления адаптера к ВМ. Рекомендуем использовать VMXNET3.
- Network – имя сети уровня vApp или организации, к которой необходимо подключить адаптер;
- IP Mode – выбор режима назначения IP-адреса адаптеру;
- IP Address – поле для ручного определения адреса адаптера, доступно только в режиме Static – Manual;
- MAC Address – MAC-адрес виртуального адаптера;
- Кнопка с изображением корзины – удаление виртуального адаптера.
3. Параметры вкладки Guest OS Customization рассмотрены в инструкции «Как кастомизировать виртуальную машину».
4. Параметры вкладки Advanced позволяют создать дополнительные параметры ВМ, например, для создания сценариев автоматизации. Также тут определяются параметры управления конкуренцией за ресурсы CPU и RAM, однако данный функционал недоступен для пользователей в нашей инфраструктуре.
Операции над виртуальными машинами
Операции делятся на основные и дополнительные. Все операции над виртуальной машиной, запущенные из VMmanager, фиксируются в журнале: перейдите в Виртуальные машины → откройте страницу виртуальной машины → вкладка История. Активные операции отображаются на вкладке Очередь задач и в списке задач. Подробнее о списке см. в статье Список задач.
Основные операции
Основные операции запускаются в Виртуальные машины → меню или в Виртуальные машины → откройте страницу виртуальной машины → меню
:
- Запустить/Остановить — запустить/остановить виртуальную машину;
- Перезапустить — произвести перезапуск виртуальной машины;
- Переустановить — установить на виртуальную машину новую операционную систему (ОС):
- выберите Операционную систему для установки;
- выберите Скрипт для запуска после установки ОС. Скрипты подготавливают виртуальные машины к работе. Например, устанавливая нужное программное обеспечение и настраивая конфигурационные файлы. Подробнее см. в статье Создание скрипта для ВМ;
- укажите Пароль для доступа к VM. Нажмите Генерировать, чтобы автоматически создать пароль.
- Режим восстановления — запустить/остановить режим восстановления.
Мигрировать — сменить узел кластера, на котором расположена виртуальная машина;
Миграция виртуальных машин между узлами кластера с типом настройки сети «Маршрутизация» невозможна.
Для ускорения миграции VMmanager сжимает диск ВМ перед переносом. Если сжатие диска не требуется, вы можете отключить опцию «Сжимать диск VM перед миграцией» в настройках миграции. Опция доступна только при миграции выключенных ВМ.
Дополнительные операции
Дополнительные операции доступны в Виртуальные машины → откройте страницу виртуальной машины.
Чтобы изменить владельца виртуальной машины, на вкладке Информация нажмите Владелец → изменить → выберите нового.
На вкладке IP-адреса — адреса, назначенные виртуальной машине:
нажмите Добавить IP-адрес, чтобы добавить новый адрес. Выберите к какой сети относится адрес — Основной или Дополнительной, укажите Количество адресов IPv4, выберите Пул, из которого будет выделен адрес, и нажмите Добавить. VMmanager автоматически изменит сетевые настройки в ОС виртуальной машины.
VMmanager не изменяет сетевые настройки для виртуальных машин с ОС семейства Windows.
На вкладке Статистика — сведения о потреблении ресурсов виртуальной машиной. Выберите период для отображения статистики и тип ресурса:
- vCPU — загрузка процессора;
- RAM — потребляемый объём оперативной памяти;
- Storage — потребляемый объём жёсткого диска;
- Операции ввода-вывода (IOPS);
- Скорость входящего трафика;
- Скорость исходящего трафика.
Параметр Storage показывает сколько фактически занимает диск на узле кластера в данный момент времени.
При использовании LVM-хранилища весь необходимый объём диска выделяется сразу.
При использовании файлового хранилища диск ВМ будет расти по мере его наполнения. Однако, при освобождении места на диске ВМ, объём диска не уменьшится.
Подробнее о хранилищах см. в статье Типы хранилищ.
На вкладке Настройка VNC — данные , которые используются для подключения к виртуальной машине по VNC:
- Сервер VNC;
- Порт VNC;
- Пароль для доступа к серверу VNC.
Подробнее см. в статье VNC.
На вкладке Образы для восстановления — список образов диска виртуальной машины, которые можно использовать в качестве резервных копий. Резервная копия позволяет восстановить состояние диска виртуальной машины :
- нажмите Создать образ, чтобы создать новый образ диска виртуальной машины. Подробнее см. в статье Пользовательские образы виртуальных машин.
- нажмите Восстановить, чтобы безвозвратно удалить текущий диск виртуальной машины и заменить его диском из резервной копии.
На вкладке Тонкие настройки вы можете провести точную настройку параметров виртуальной машины. Подробнее см. в статье Тонкая настройка виртуальных машин.