23 октября 2019

Никита Ткачук

Менеджер по развитию бизнеса

Консоль или VMmanager — что выбрать для создания виртуальных машин

Виртуальные машины на Linux можно создавать через консоль или с помощью панелей. Сравним, какой способ удобнее.

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

Админы выбирают консоль, потому что задач по управлению VPS немного, и их проще решить вручную, чем использовать еще один инструмент. А ещё «потому что могут». Провайдеры выбирают панель, потому что с ней большую часть процессов можно автоматизировать, а выполнение остальных сильно ускорить.

Но если в частной компании появится больше задач, связанных с виртуализацией, — понадобятся VPS для тестирования, отладки ПО, новых сайтов, — то и админам работать в консоли станет неудобно.

Чтобы оценить, насколько панель ускоряет работу, сравним решение самых базовых задач: создание ВМ, миграцию, управление.

Создание виртуальных серверов

Разберем первый и самый базовый вопрос — как создать виртуальную машину. Сначала создадим её в консоли, а потом в VMmanager.

В консоли

Будем использовать ОС Ubuntu, она официально поддерживает только гипервизор KVM. Для управления гипервизором применим библиотеку libvirt, а для настройки и управления системой — утилиту virsh.

Сначала подготовим инструменты для виртуализации, а потом приступим к созданию первой виртуальной машины. Через консоль нужно установить KVM, проверить поддержку аппаратной виртуализации в Ubuntu, установить пакеты для работы с KVM и libvirt.

После этого можно приступать к созданию первой виртуальной машины — 64-битной Ubuntu 18.04.3 LTS (Bionic Beaver).

Сначала скачиваем ISO-образ:

cd /var/lib/libvirt/boot
sudo wget http://releases.ubuntu.com/18.04.3/ubuntu-18.04.3-desktop-amd64.iso

Запускаем установку с нужной конфигурацией сервера:

sudo virt-install \
  --virt-type=kvm \
  --name testvps\
  --ram 2048 \
  --vcpus=2 \
  --os-variant=ubuntu16.04 \
  --hvm \
  --cdrom=/var/lib/libvirt/boot/ubuntu-16.04.1-server-amd64.iso \
  --network network=default,model=virtio \
  --graphics vnc \
  --disk path=/var/lib/libvirt/images/ubuntu1604.img,size=50,bus=virt

В результате получим виртуальный сервер с ОС Ubuntu, 2 ГБ RAM, 2 CPU, стандартной сетевой картой и 50 ГБ HDD.

С помощью VMmanager 6

Теперь создадим виртуальную машину с помощью VMmanager 5. VMmanager поддерживает виртуализацию KVM, для управления использует библиотеку libvirt. За эмуляцию сервера отвечает гипервизор QEMU, благодаря чему каждая ВМ получает в распоряжение виртуальное оборудование — сетевые и видеокарты.

В VMmanager процесс создания виртуальной машины максимально автоматизирован. Пользователю надо сделать всего три шага, и всё это в простом интерфейсе:

  • На главной странице нажать кнопку Создать VM.
  • Выбрать параметры VPS.
  • Запустить установку.
  • Готово!
Окно детальных настроек новой виртуальной машины в VMmanager

При создании виртуальной машины VMmanager 6 разворачивает копию образа, поэтому весь процесс занимает от 1 минуты 20 секунд до 2 минут. Можно использовать скрипты для автоматической установки программного обеспечения.

Управление виртуальными машинами

Когда виртуальный сервер готов, им надо управлять.

В консоли

Для управления виртуальными машинами через консоль будем использовать всё ту же утилиту virsh.

Список основных команд:

|help | Краткая справка.|
|list | Просмотр всех виртуальных машин.|
|start | Запустить неактивную виртуальную машину.|
|destroy | Принудительно остановить работу виртуальной машины.|
|reboot | Перезагрузить виртуальную машину.|
|restore | Восстановить сохраненную в файле виртуальную машину.|
|resume | Возобновить работу приостановленной виртуальной машины.|
|save | Сохранить состояние виртуальной машины в файл.|
|shutdown | Корректно завершить работу виртуальной машины.|
|suspend | Приостановить работу виртуальной машины.|
|undefine | Удалить все файлы виртуальной машины.|

Например, для перезагрузки виртуальной машины надо ввести команду: sudo virsh reboot testvps

С помощью VMmanager 6

При помощи VMmanager можно управлять виртуальными машинами, переустанавливать ОС, управлять виртуальными дисками, сетевыми интерфейсами и выполнять множество других операций прямо из интерфейса.

Даже если у вас множество виртуальных серверов, вы легко найдете активные, отключенные или приостановленные машины. По каждому серверу доступна информация о владельце, IP-адресе, установленной ОС, характеристиках.

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

Возможности по управлению виртуальной машиной в VMmanager 6

Миграция виртуальной машины

В консоли

При создании кластера с большим количеством серверов часто возникает необходимость перенести диски виртуальных машин между узлами кластера. Этот процесс называется миграцией.

Чтобы перенести ВМ на другой узел через консоль, надо соблюсти несколько условий:

  • Должен быть создан диск для виртуальной машины и его размер должен быть не меньше диска той машины, которую переносим.
  • На обоих узлах должны быть идентичные настройки сети и название бриджа.
  • Оба узла должны ходить друг на друга через ssh без запроса пароля.
  • Узлы должны друг друга резолвить по именам.
  • Все образы дисков, которые использовались виртуальной машиной, должны быть перенесены на новую ноду и путь должен быть такой же.

Если условия соблюдены, то перенести виртуальную машину можно при помощи одной команды. В ней должно быть указано название ВМ и узла, параметры переноса.

sudo virsh migrate –live testvps qemu+ssh://root@node2/system  –copy-storage-all

Так мы мигрировали ВМ testvps на узел node2 с полным переносом диска.

С помощью VMmanager 6

В VMmanager механизм миграции реализован полностью средствами libvirt. Чтобы мигрировать сервер через VMmanager, достаточно указать новый узел и, при необходимости, выбрать опцию живой миграции:

При миграции панель проверит, хватает ли на новом узле места. Если не хватает — предупредит

Консоль или VMmanager 5

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

Больше о VMmanager 6 читайте в других статьях блога:

Никита Ткачук

Менеджер по развитию бизнеса