Creating virtual machines on linux

ИТ База знаний

Курс по Asterisk

Полезно

— Узнать IP — адрес компьютера в интернете

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Калькулятор инсталляции IP — АТС Asterisk

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

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

Виртуальная машина на основе ядра

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

Онлайн курс по Linux

Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps

Что такое KVM?

KVM (Kernel-based Virtual Machine) – это решение для полной виртуализации для Linux на оборудовании Intel 64 и AMD 64, которое включено в основное ядро Linux, начиная с версии 2.6.20. Аппаратные средства работают быстро и стабильно даже при больших нагрузках.

Функции KVM

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

Гипервизор KVM поддерживает следующие функции:

  • Over-committing – с помощью этой функции можно обеспечить направление большего количества средств центрального процессора и памяти, чем доступно в системе.
  • Thin provisioning – функция позволяет выделить гибкое хранилище и оптимизирует доступное пространство для каждой гостевой виртуальной машины.
  • Disk I/O throttling – функция предоставляет возможность установить ограничение на запросы ввода-вывода диска, отправляемые с виртуальных машин на хост.
  • Automatic NUMA balancing – функция улучшает работу приложений на аппаратных решениях NUMA.
  • Virtual CPU hot add capability – данная функция предоставляет возможность увеличить процессорную память настолько, насколько это нужно работающей ВМ без простоев.

Подготовительная работа

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

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

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

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

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

Убедитесь, что Selinux в режиме Permissive.

Шаг 1: Установка KVM

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

Теперь у Вас есть минимум требований, чтобы установить виртуальную платформу на вашем хосте. Но есть ещё полезные приложения, которые помогают в администрировании платформой:

  • virt-manager (менеджер управления виртуальными машинами) предоставляет GUI-конструктор для управления виртуальными машинами.
  • libvirt-client предоставляет инструмент CL для управления вашей виртуальной средой. Такая утилита называется virsh.
  • С помощью команды virt-install , которую предоставляет программа virt-install, Вы можете создать виртуальную машину, используя CLI (интерфейс командной строки).
  • С помощью библиотеки libvirt сервер и хост могут взаимодействовать с гипервизорами и хост-системами.
Читайте также:  Linux mint sarah upgrade

Давайте установим эти инструменты с помощью следующей команды:

Для пользователей RHEL/CentOS7 также есть дополнительные группы пакетов, которые можно установить, например: Virtualization Client, Virtualization Platform и Virtualization Tools

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

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

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

Шаг 2: Создание ВМ с помощью KVM

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

Несмотря на то, что virt-manager является инструментом, основанным на графическом интерфейсе пользователя, из терминала мы можем запускать его так же, как и из GUI.

После того, как Вы запустите приложение, появится такое окно.

По умолчанию менеджер напрямую подключен к localhost . Но Вы можете использовать тот же инструмент, чтобы выбрать другой хост удаленно. Из вкладки File выберите Add Connection и появится следующее окно.

Поставьте галочку на Connect to remote host и впишите название или IP (Hostname) удаленного сервера. Если Вам нужно устанавливать соединение с удаленным сервером каждый раз, когда запускается менеджер, то поставьте галочку на Auto Connect.

Давайте вернемся к localhost. Прежде чем создавать виртуальную машину, Вы должны решить, где будут храниться файлы. Другими словами, Вам необходимо создать том (виртуальный диск) для вашей виртуальной машины. Правой кнопкой мыши нажмите на localhost и выберите Details, а затем перейдите на вкладку Storage.

Затем нажмите кнопку New Volume (Новый том) и введите название вашего нового виртуального диска (тома). В графу Max Capacity (Максимальная ёмкость) введите требующийся вам объем диска.

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

Примечание: технология в области администрирования хранилищ называется thin provision (Тонкое обеспечение). Она используется для выделения только используемого объема хранилища, а не всего доступного объема. Например, Вы создали виртуальный диск размером 60 Гб, но используемого объема у Вас только 20 Гб. С помощью данной технологии жёсткий диск предоставит Вам только 20 Гб, а не 60. Другими словами, выделенный физический объем будет динамически распределяться в зависимости от фактического используемого объема.

Знак нового диска появится в списке.

Найти Ваш новый виртуальный диск Вы сможете по умолчанию с помощью команды /var/lib/libvirt/images .

Наконец, мы готовы к созданию виртуальной машины. Нажмите на кнопку VM на главном экране, и появится окно.

Выберите метод установки для создания ВМ. Мы пока выберем Local install media, а позже обсудим оставшиеся методы.

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

Давайте выберем ISO-образ и введем его путь.

Важно: к сожалению, для тех, кто использует RHEL или CentOS7, здесь есть баг. Он не даёт установить машину с использованием физического носителя CDROM/DVD. Опция просто будет серая:

И если Вы наведете курсор, то появится сообщение об ошибке: physical cdrom passthrough not supported with this hypervisor (Физический CDROM не поддерживает данный гипервайзер).

Больше информации можете узнать здесь.

Снова вопрос про хранилище. Используем виртуальный диск, который мы недавно создали. Он скоро появится.

На последнем шаге Вам необходимо дать название виртуальной машине.

Если Вы хотите изменить что-то в конфигурации или сделать небольшую адаптацию, поставьте галочку на Customize configuration before install. Затем нажмите на finish и подождите несколько секунд, пока не появится контрольная консоль для вашей гостевой ОС.

Читайте также:  Загрузочная флешка windows 10 стрельцов

Заключение

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

Онлайн курс по Linux

Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps

Источник

Виртуальные машины для Linux

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

Поэтому, виртуализация — это отличное решение, потому что при достаточном количестве оперативной памяти и мощности процессора вы сможете запустить несколько систем одновременно и даже полноценно с ними работать.Но какое программное обеспечение лучше использовать? Что выбрать и как все это работает, все это — тема нашей сегодняшней статьи.

Что такое виртуальная машина?

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

Раньше виртуальные машины выполняли всю работу сами, на программном уровне, и понятно, что все это работало очень медленно. Но потом процессоры начали поддерживать аппаратную виртуализацию, это в разы ускоряет работу гостевой операционной системы. Это такие технологии, как AMD-V от AMD или Intel VT-x от Intel. Правда, эти технологии могут быть по умолчанию отключены в BIOS.

Кроме виртуальных машин, которые полностью эмулируют работу компьютера к виртуализации под linux можно отнести контейнеры, например, LXC или OpenVZ. Дальше мы рассмотрим виртуальны машины для Linux, которые вы можете использовать для установки своих систем.

1. VirtualBox

VirtualBox — это универсальное программное обеспечение для виртуализации в Linux, которое поддерживает и другие операционные системы, в том числе Windows и MacOS. Вы можете установить сюда практически любую систему, кроме, конечно, систем, предназначенных для устройств на чипе ARM. Все установленные виртуальные машины хранятся в файлах, которые содержат образы дисков. Это позволяет их очень просто выполнить их резервное копирование или перенос на другой компьютер просто скопировав файл машины.

VirtualBox поддерживает как 32, так и 64 битные системы и вы можете установить не только Linux дистрибутив, но и Windows или даже MacOS. Все системы будут отлично работать. Во время создания виртуальной машины вы можете выбрать профиль гостевой ОС, для которого автоматически выставятся правильные параметры памяти, процессора и видеокарты.

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

Можно сказать, что это лучшая виртуальная машина для Linux, она предлагает все необходимые возможности, и в то же время достаточно проста в использовании.

2. VMware

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

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

Читайте также:  Как восстановить систему после установки windows 10

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

3. Qemu

Если вы хотите запустить не привычную операционную систему x86, а систему для устройств ARM, например, Android, Raspbian или RISC OS, то тут вам не помогут две предыдущие виртуальные машины Linux. С такой задачей может справиться только Qemu.

Qemu — это сокращение от Quick Emulator. Это очень простая в настройке консольная утилита, но позволяет делать многие интересные вещи на уровне VirtualBox, вы можете запускать любые операционные системы, в том числе и ARM, можете установить ОС на реальный жесткий диск или в файл, использовать аппаратное ускорение и даже автоматически скачивать некоторые дистрибутивы через интернет.

Несмотря на свое название, это очень мощный инструмент для работы с виртуализацией в Linux, для установки Qemu в Ubuntu выполните:

sudo apt install qemu qemu-kvm libvirt-bin

Подробнее про использование Qemu можно почитать в этой статье.

4. Gnome Boxes

Если вам не нравится управлять вашими виртуальными машинами с помощью командной строки, можно воспользоваться графическим интерфейсом для Qemu под названием Gnome Boxes. Эта утилита позволяет в несколько кликов создать новую виртуальную машину. При чём вам не нужно иметь установочный образ, программа может сама загрузить его из сети. Кроме создания виртуальных машин можно подключаться к удалённым виртуальным машинам по протоколу RDP или VNC. Для установки программы в Ubuntu используйте такую команду:

sudo apt install gnome-boxes

5. KVM

KVM или полностью Kernel-based Virtual Machine (виртуальная машина на основе ядра) — это реализация платформы виртуализации на уровне ядра, которая предоставляет дополнительные возможности для Qemu и очень высокую скорость работы благодаря работе непосредственно в ядре.

Все это означает что KVM быстрее и стабильнее VirtualBox, но KVM намного сложнее в настройке и обслуживании. Технология KVM — это очень популярное решение для размещения виртуальных машин, в том числе на множестве серверов в интернете.

Чтобы начать использовать KVM сначала нужно проверить, поддерживает ли ваше оборудование аппаратное ускорение, для этого используйте утилиту cpu-checker. Если все поддерживается то вы можете перейти к установке KVM:

sudo apt install qemu qemu-kvm libvirt-daemon libvirt-clients bridge-utils virt-manager

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

6. XEN

Это еще одна платформа виртуализации для Linux, которая очень похожа на KVM. Но тут есть некоторые отличия. Как и KVM здесь поддерживается аппаратное ускорение, множество архитектур, в том числе и ARM, а также запуск различных гостевых систем, включая Windows. Но главное отличие заключается в том, что KVM по умолчанию встроен в ядро Linux, а для работы Xen вам понадобиться специально собранное ядро с его поддержкой.

Из других особенностей Xen можно отметить, что система будет работать достаточно быстро даже без аппаратного ускорения, если вы будете запускать Linux.

Выводы

В этой статье мы рассмотрели лучшие виртуальные машины для Linux. Как видите виртуализация на linux развивается очень быстро и есть достаточно много решений, которые вы могли бы использовать в своей системе. Какую виртуальную машину или систему виртуализации используете вы? Напишите в комментариях!

Источник

Оцените статью