Поиск по сайту:

Как создавать виртуальные машины в Linux с помощью KVM (виртуальная машина на основе ядра) — часть 1


В этом руководстве обсуждается введение, развертывание KVM и способы его использования для создания виртуальных машин в дистрибутивах на основе RedHat, таких как RHEL/CentOS7 и Fedora 21. .

Что такое КВМ?

KVM или (виртуальная машина на основе ядра) — это полное решение виртуализации для Linux на оборудовании Intel 64 и AMD 64, которое включено в основное ядро Linux начиная с версии 2.6.20 и является стабильным и быстрым для большинства рабочих нагрузок.

Особенности KVM

Существует множество полезных функций и преимуществ, которые вы получите, используя KVM для развертывания своей виртуальной платформы. Гипервизор KVM поддерживает следующие функции:

  1. Чрезмерное использование: это означает выделение большего количества виртуализированных процессоров или памяти, чем доступно ресурсов в системе.
  2. Тонкое обеспечение: позволяет гибко распределять хранилище и оптимизирует доступное пространство для каждой гостевой виртуальной машины.
  3. Регулирование дискового ввода-вывода: предоставляет возможность установить ограничение на количество запросов дискового ввода-вывода, отправляемых с виртуальных машин на хост-компьютер.
  4. Автоматическая балансировка NUMA. Повышает производительность приложений, работающих на аппаратных системах NUMA.
  5. Возможность горячего добавления виртуального ЦП: обеспечивает возможность увеличения вычислительной мощности по мере необходимости на работающих виртуальных машинах без простоев.

Это наша первая серия статей о KVM (виртуальных машинах на основе ядра), здесь мы частично рассмотрим следующие статьи.

Предварительные условия

Убедитесь, что в вашей системе установлены расширения аппаратной виртуализации: для хостов на базе процессоров Intel убедитесь, что расширение виртуализации ЦП [vmx] доступно с помощью следующей команды.

[root@server ~]# grep -e 'vmx' /proc/cpuinfo

Для хостов на базе AMD убедитесь, что расширение виртуализации ЦП [svm] доступно.

[root@server ~]# grep -e 'svm' /proc/cpuinfo

Если вывод отсутствует, убедитесь, что в BIOS включены расширения виртуализации. Убедитесь, что модули KVM загружены в ядро «оно должно быть загружено по умолчанию».

[root@server ~]# lsmod | grep kvm

Вывод должен содержать kvm_intel для хостов на базе Intel или kvm_amd для хостов на базе AMD.

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

[root@server ~]# yum update

Убедитесь, что Selinux находится в разрешенном режиме.

[root@server ~]# setenforce 0

Шаг 1. Установка и развертывание KVM

1. Сначала мы установим пакеты qemu-kvm и qemu-img. Эти пакеты предоставляют KVM пользовательского уровня и менеджер образов дисков.

[root@server ~]# yum install qemu-kvm qemu-img

2. Теперь у вас есть минимальные требования для развертывания виртуальной платформы на вашем хосте, но у нас также есть полезные инструменты для администрирования нашей платформы, такие как:

  1. virt-manager предоставляет инструмент с графическим интерфейсом для администрирования ваших виртуальных машин.
  2. libvirt-client предоставляет инструмент CL для администрирования вашей виртуальной среды. Этот инструмент называется virsh.
  3. virt-install предоставляет команду «virt-install» для создания виртуальных машин из CLI.
  4. libvirt предоставляет библиотеки на стороне сервера и хоста для взаимодействия с гипервизорами и хост-системами.

Давайте установим эти вышеуказанные инструменты, используя следующую команду.

[root@server ~]# yum install virt-manager libvirt libvirt-python libvirt-client 

3. Для пользователей RHEL/CentOS7 также необходимо установить дополнительные группы пакетов, такие как: Клиент виртуализации, Платформа виртуализации и Инструменты виртуализации.

[root@server ~]#yum groupinstall virtualization-client virtualization-platform virtualization-tools	

4. Демон виртуализации, который управляет всей платформой, — «libvirtd». давайте перезапустим его.

[root@server ~]#systemctl restart libvirtd

5. После перезапуска демона проверьте его статус, выполнив следующую команду.

[root@server ~]#systemctl status libvirtd  
Пример вывода
libvirtd.service - Virtualization daemon 
   Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled) 
   Active: active (running) since Mon 2014-12-29 15:48:46 EET; 14s ago 
 Main PID: 25701 (libvirtd) 

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

Шаг 2. Создайте виртуальные машины с помощью KVM.

Как мы упоминали ранее, у нас есть несколько полезных инструментов для управления нашей виртуальной платформой и создания виртуальных машин. Один из этих инструментов называется [virt-manager], который мы будем использовать в следующем разделе.

6. Хотя virt-manager — это инструмент с графическим интерфейсом, мы также можем запускать его как из терминала, так и из графического интерфейса.

[root@server ~]#virt-manager
Использование ГНОМА

Использование классического GNOME

7. После запуска инструмента появится это окно.

8. По умолчанию вы обнаружите, что менеджер подключен напрямую к localhost. К счастью, вы можете использовать тот же инструмент для удаленного управления другим хостом. На вкладке «Файл» просто выберите «Добавить соединение», и появится это окно.

Установите флажок «Подключиться к удаленному хосту», затем укажите Имя хоста/IP удаленного сервера. Если вам необходимо устанавливать соединение с удаленным хостом при каждом запуске менеджера, просто установите флажок «Автоматическое подключение».

9. Вернемся к нашему локальному хосту, прежде чем создавать новую виртуальную машину, вам следует решить, где будут храниться файлы?! другими словами, вам следует создать Томный диск (виртуальный диск/образ диска) для вашей виртуальной машины.

Щелкните правой кнопкой мыши локальный хост и выберите «Подробнее», а затем выберите вкладку «Хранилище».

10. Затем нажмите кнопку «Новый том», затем введите имя нового виртуального диска (Том диск) и размер, который который вам нужен/нужен, в разделе «Максимальная емкость».

Размер выделения — это фактический размер вашего диска, который будет выделен сразу с вашего физического диска после завершения шагов.

Примечание. Это важная технология в области администрирования хранилища, которая называется «тонкое обеспечение». Раньше он выделял только используемый размер хранилища, а НЕ весь доступный размер.

Например, вы создали виртуальный диск размером 60 ГБ, но на самом деле вы использовали только 20 ГБ. При использовании этой технологии выделенный размер вашего физического жесткого диска составит 20 ГБ. не 60G.

Другими словами, выделенный физический размер будет распределяться динамически в зависимости от фактически используемого размера. Более подробную информацию можно найти на странице VMWare vStorage Thin Provisioning.

11. Вы заметите, что в списке появилась метка нового тома.

Вы также должны обратить внимание на путь к новому образу диска (Volume Disk), по умолчанию он будет находиться в папке /var/lib/libvirt/images. Вы можете проверить его с помощью следующей команды.

[root@server Downloads]# ls -l /var/lib/libvirt/images
-rw-------. 1 root root 10737418240 Jan  3 16:47 vm1Storage.img

12. Теперь мы готовы создать виртуальную машину. Давайте нажмем кнопку «VM» в главном окне, появится окно мастера.

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

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

  1. С физического [CDROM/DVD].
  2. Из ISO-образа.

В нашем руководстве мы воспользуемся методом ISO-образа, поэтому вам необходимо указать путь к вашему ISO-образу.

Важно. К сожалению, есть очень глупая ошибка, из-за которой можно использовать RHEL/CentOS7. Эта ошибка не позволяет выполнить установку с использованием физического [CDROM/DVD], вы увидите, что эта опция выделена серым цветом, вот так.

И если вы задержите на нем курсор, появится это сообщение об ошибке.

До сих пор не существует официального/прямого решения этой ошибки. Дополнительную информацию можно найти на https://bugzilla.redhat.com.

14. Хранилище вернулось обратно, мы будем использовать заранее созданный виртуальный диск для установки на него виртуальной машины. Будет так, как показано.

15. Последний шаг, на котором вас спросят имя вашей виртуальной машины и другие дополнительные параметры, об этом поговорим позже.

Если вы хотите изменить какую-либо конфигурацию или выполнить некоторую настройку, просто установите флажок «Настроить конфигурацию перед установкой». Затем нажмите Готово и подождите несколько секунд. Появится консоль управления, в которой ваша гостевая ОС сможет ею управлять.

Заключение

Теперь вы узнали, что такое KVM, как управлять виртуальной платформой с помощью инструментов графического пользовательского интерфейса, как с ее помощью развернуть виртуальную машину и еще много интересных вещей.

Хотя это еще не конец статьи, в наших следующих статьях мы обсудим другие важные темы, связанные с KVM. Запачкайте руки, используя предыдущие знания, и будьте готовы к следующей части…..