- Создаем виртуальный сервер на базе KVM
- Шаг 1. Устанавливаем ОС и необходимое программное обеспечение
- Установка операционной системы и программного обеспечения
- Определяем, поддерживает ли процессор работу с KVM
- Проверяем правильность установки программного обеспечения
- Шаг 2. Создаем виртуальный сервер
- Создаем образ диска в формате raw
- Устанавливаем операционную систему на образ диска
- Теперь запустите ваш виртуальный сервер
- Шаг 3: Конфигурирование сетевых настроек виртуального сервера
- Установка пакета bridge-util
- Создание сетевого интерфейса типа «мост»
- Создание скрипта управления сетью
- Запуск гостевой операционной системы
- Конфигурирование сетевых настроек гостевой операционной системы
- Виртуальные машины для Linux
- Что такое виртуальная машина?
- 1. VirtualBox
- 2. VMware
- 3. Qemu
- 4. Gnome Boxes
- 5. KVM
- 6. XEN
- Выводы
Создаем виртуальный сервер на базе KVM
Краткое содержание: С помощью трех сравнительно простых шагов вы можете с помощью технологии полной виртуализации создать виртуальный сервер на Linux-гипервизоре KVM.
Виртуальная машина, созданная на базе ядра Linux (KVM), является бесплатным программным обеспечением для Linux, имеющим открытый код и предназначенным для использовании технологии виртуализации. KVM основывается на расширенных возможностях, реализованных аппаратно (Intel VT-X и AMD-V), и на модифицированной версии QEMU. KVM является загружаемым модулем ядра kvm.ko, с помощью которого реализуется основная инфраструктура виртуализации серверов, а модули, реализованные под конкретные процессоры — kvm-intel.ko и kvm-amd.ko, разработаны для обеспечения полной аппаратной эмуляции, что требуется для загрузки большого количества операционных систем в немодифицированном виде.
С помощью KVM можно запустить несколько виртуальных машин, которые сами могут быть немодифицированными образами Linux, Windows или Mac OS X. Каждая виртуальная машина имеет свои собственные виртуальные аппаратные средства, такие как сетевая карта, диск, графический адаптер и т.д.
В настоящей статье используется сервер IBM® Blade Server HS21 с SUSE 11 в качестве операционной системы. В сервере HS21 поддерживается расширенная технология Intel VT, а версия ядра, используемая в SUSE 11, — 2.6.27.13, в котором уже есть гипервизор KVM (гипервизор KVM входит в ядро начиная с версии 2.6.20).
Для того, чтобы создать виртуальных сервер, нужно выполнить следующие три шага:
- Установить операционную систему и необходимое программное обеспечение
- Создать виртуальный сервер
- Сконфигурировать сеть виртуального сервера
Шаг 1. Устанавливаем ОС и необходимое программное обеспечение
В этой части рассматриваются следующие вопросы:
- Установка операционной системы и требуемого программного обеспечения
- Определение, поддерживает ли процессор работу с KVM
- Проверка правильности установки программного обеспечения
Установка операционной системы и программного обеспечения
После того, как вы установите операционную систему, вы можете с помощью следующей команды проверить установленную версию ядра Linux:
Затем выберите и установите пакеты kvm и kvm-kmp-default (в состав которых уже входит модифицированный QEMU для эмуляции аппаратных средств ввода/вывода). Смотрите рис.1, выберите эти пакеты и щелкните по Accept для того, чтобы их установить:
Рис.1. Поиск модулей установленного ядра
Версия kvm-kmp-default — 78_2.6.27.13_1-11.3 (78 — это версия KVM , а остальная часть указывает версию ядра).
Типичный вариант гипервизора KVM содержит следующие компоненты:
- Драйвер устройств для управления виртуальным аппаратным обеспечением; этот драйвер предоставляет свои возможности через символьное устройство /dev/kvm
- Компонента пользовательского пространства для эмуляции аппаратного обеспечения персонального компьютера; в настоящий момент она обрабатывается в пользовательском пространстве и является слегка модифицированным процессом QEMU
- Модель ввода/вывода, которая непосредственно следует из модели QEMU с поддержкой образов копирования и записи на диск и других особенностей QEMU
Определяем, поддерживает ли процессор работу с KVM
KVM зависит от наличия расширенных команд виртуализации x86. Для того, чтобы проверить совместимость, запустите команду grep vmx /proc/cpuinfo (на AMD, запустите команду grep svm /proc/cpuinfo ). Если результат выдачи будет похож на листинг 1, то это означает, что ваш процессор поддерживает использование KVM; в противном случае ваш процессор не поддерживает работу KVM.
Листинг 1. Проверка процессора на предмет поддержки KVM
Проверяем правильность установки программного обеспечения
Запустите команду lsmod | grep kvm для того, чтобы проверить, что модуль KVM установлен успешно. Если результат аналогичен тому, что показан ниже, то модуль KVM установлен успешно:
Шаг 2. Создаем виртуальный сервер
В этой части рассматриваются следующие вопросы:
- Создаем образ диска в формате raw
- Устанавливаем ОС на этот образ
- Запускаем виртуальный сервер
Создаем образ диска в формате raw
Для того, чтобы создать образ диска, используйте следующую команду:
С помощью этой команды вы создаете образ размером 10 Гбайт и с именем kvmtest.img.
Устанавливаем операционную систему на образ диска
Для того, чтобы получить операционную систему, установленную на этом образе, используйте следующую команду:
Поскольку вы устанавливаете пакет KVM, а не создаете модуль KVM из исходного кода самостоятельно, вы должны использовать команду qemu-kvm , а не команду qemu-system-x86_64 .
-boot d означает, что мы будем создавать виртуальный сервер, загружая его с CDROM. -m 1024 означает, что мы выделяем для виртуального сервера 1 Гбайт памяти.
После того, как эта команда будет запущена, появится экран установки операционной системы, такой как показано на рис.2:
Рис.2. Экран установки ОС
Далее установите операционную систему так, как вы это обычно делаете.
Теперь запустите ваш виртуальный сервер
После того, как операционная система будет успешно установлена, вы сможете запустить виртуальный сервер с помощью следующей команды:
Ваш сервер должен работать точно также, как обычный сервер работает на физически реализованном аппаратном обеспечении.
Шаг 3: Конфигурирование сетевых настроек виртуального сервера
Теперь вы знаете, как правильно создавать виртуальный сервер, но не сетевое соединение для виртуального сервера. Рассмотрим, как создать виртуальное соединение типа «мост»:
- Устанавливаем пакет bridge-util
- Создаем сетевой интерфейс типа «мост»
- Создаем скрипт для управления сетью
- Запускаем сеть гостевой операционной системы
- Конфигурируем сеть гостевой операционной системы
Установка пакета bridge-util
Нам нужно создать сетевое соединение типа «мост», поэтому нам нужно в операционной системе в разделе управления программным обеспечением выбрать для установки пакет bridge-util.
Рис.3. Установка пакета bridge-util
Создание сетевого интерфейса типа «мост»
На экране настройки сетевых соединений щелкните по ссылке Add a new network interface (Добавить новый сетевой интерфейс) (см.рис.4):
Рис.4. Добавление нового сетевого интерфейса
Должно появиться диалоговое окно настройки аппаратного обеспечения, такое как изображено на рис.5:
Рис.5. Диалог настройки аппаратного обеспечения, используемого для нового сетевого интерфейса
Выберите Bridge («Мост») в качестве типа устройства; щелкните по ссылке Next («Далее») для того, чтобы продолжить конфигурирование сети. Вы должны увидеть экран конфигурирования такой, как изображено на рис. 6:
Рис.6. Экран конфигурирования сети
В разделе «Bridged Devices» выберите вариант eth0 и укажите статический IP адрес для интерфейса типа «мост», который должен быть такой же, как и у eth0 (см. рис. 7).
Рис.7. Конфигурирование статического IP адреса для интерфейса типа «мост»
После того, как вы это сделаете, конфигурация для eth0 должна быть сброшена, поэтому щелкните по ссылке Next («Далее») для того, чтобы продолжить, и вы вернетесь в экран конфигурирования сетевых настроек. Вы увидите, что был создан новый сетевой интерфейс типа «мост» и что интерфейс eth0 был очищен.
Создание скрипта управления сетью
Содержимое скрипта управления сетью должно выглядеть приблизительно так, как показано на листинге 2:
Листинг 2. Скрипт управления сетью
Запуск гостевой операционной системы
Запустите гостевую операционную систему с сетевым интерфейсом с помощью следующей команды:
Когда вы запускаете виртуальный сервер, вы можете указать сетевой интерфейс.
Конфигурирование сетевых настроек гостевой операционной системы
После того, как гостевая операционная система будет загружена, сконфигурируйте ее сетевые настройки так, как вы это делаете обычно.
Поздравляем! Вы успешно создали виртуальный сервер, построенный на основе KVM.
Ссылки на другие статьи по теме виртуализации вы найдете в разделе «Технологии и средства виртуализации» нашей Библиотеки.
Источник
Виртуальные машины для 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, в некоторых тестах она показывает себя лучше чем первый вариант, но в целом их производительность одинакова. Тоже есть возможность организовывать сеть между виртуальными машинами, объединять буфер обмена и передавать файлы, но нет записи видео.
Примечательной особенностью 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 развивается очень быстро и есть достаточно много решений, которые вы могли бы использовать в своей системе. Какую виртуальную машину или систему виртуализации используете вы? Напишите в комментариях!
Источник