Системы виртуализации kvm. RedHat окончательно переключается с Xen на KVM. Скачивание и установка KVM

Оригинал: Welcome to KVM virtualization - Thorough introduction
Автор: Igor Ljubuncic
Дата публикации: 4 мая 2011 года
Перевод: А. Кривошей
Дата перевода: июль 2011 г.

Если вы читали мои статьи о виртуализации, то знаете, что раньше я пользовался в основном VMware и VirtualBox, но теперь настало время попробовать что-нибудь новенькое. Сегодня я хотел бы представить новый цикл заметок о KVM. Дальше, возможно, я переключюсь на Xen или какую-то другую систему, но сейчас герой нашего топика - KVM .
В данном руководстве мы поговорим о технологии KVM (Kernel-based Virtual Machine), которую создала RedHat, и которая имеет открытый исходный код, являяясь бесплатной альтернативой своих коммерческих аналогов. Мы узнаем, как скачать, установить и настроить KVM, какие инструменты она имеет для управления виртуальными машинами, как работать с KVM в командной строке, писать скрипты и многое другое. Кроме того, мы коснемся создания продвинутых (в том числе сетевых) конфигураций, а также других интересных вещей. Теперь начнем.

Глоссарий KVM

Сначала немного поговорим о том, как работает KVM. Ничего заумного, просто небольшое введение, чтобы вы знали базовую терминологию.
KVM использует технологию аппаратной виртуализации, поддерживаемую современными процессорами от Intel и AMD и известную под названиями Intel-VT и AMD-V. Используя загруженный в память модуль ядра, KVM, с помощью драйвера пользовательского режима (который представляет собой модифицированный драйвер от QEMU), эмулирует слой аппаратного обеспечения, поверх которого могут создаваться и запускаться виртуальные машины. KVM может функционировать и без аппаратной виртуализации (если она не поддерживается процессором), но в этом случае она работает в режиме чистой эмуляции с использованием QUEMU и производительность виртуальных машин очень сильно снижается.
Для управления KVM можно использовать графическую утилиту, похожую на продукты от VMware и VirtualBox, а также командную строку.
Самым популярным графическим интерфейсом является Virtual Machine Manager (VMM), созданный в RedHat. Он также известен по имени своего пакета как virt-manager и содержит несколько утилит, включая virt-install, virt-clone, virt-image и virt-viewer, служащие для создания, клонирования, установки и просмотра виртуалльных машин. VMM поддерживает также виртуальные машины Xen.
Базовый интерфейс командной строки KVM обеспечивается утилитой virsh . В определенных случаях вы можете использовать утилиты поддержки, такие как virt-install, для создания своих виртуальных машин. В Ubuntu имеется специальная утилита ubuntu-vm-builder , разработанная в Canonical, с помощью которой можно создавать билды Ubuntu.
Если вы хотите узнать больше о KVM, дополнительная информацию можно найти по следующим адресам:

Преимущества и недостатки KVM

Нужен ли вам KVM? Это зависит от того, для чего он вам нужен.
Если вы еще не пользовались виртуальными машинами или запускали их несколько раз просто для интереса, то освоение KVM может оказаться трудным. Эта программа управляется преимущественно из командной строки и не так дружелюбна к пользователю, как VMware или VirtualBox. Можно сказать, что в плане графического интерфейса KVM отстает от своих конкурентов на несколько лет, хотя на самом деле по своим возможностям им по крайней мере не уступает. Возможности KVM наиболее востребованы при ее применении в коммерческих целях в бизнес-окружении.
Далее, если ваш процессор не поддерживает аппаратную виртуализацию, то KVM будет работать в очень медленном и неэффективном режиме программной эмуляции. Кроме того, известно, что KVM конфликтует с VirtualBox, однако этому случаю будет посвящена отдельная заметка.
На основании вышесказанного можно сделать вывод, что KVM больше подходит людям, которые занимаются виртуализацией в профессиональных целях. Вряд ли она станет вашей любимой домашней игрушкой, однако если вы решите затратить определенные усилия для ее изучения, то полученные при этом знания позволят быть с технологиями виртуализации на "ты". В отличие от VMware и VirtualBox, изначально предполагающих, что пользователь будет работать с программой, используя графический интерфейс, KVM ориентирована на использование командной строки и написание скриптов.
Подводя итого, можно сказать, что преимущества KVM заключаются в использовании новейших технологий виртуализации, отсутствии каких-либо лицерзионных ограничений в использовании, мощном интерфейсе командной строки. Если ваш процессор не поддерживает аппаратной виртуализации, вы не хотите писать скрипты и предпочитаете более простые в администрировании системы, такие как VMware Server, ESXi или VirtualBox, то KVM не для вас.

Тестовая платформа

KVM можно использовать на любом дистрибутиве Linux. Однако основным разработчиком и спонсором KVM является RedHat. Например, RHEL поставляется сразу с KVM, поэтому вы можете найти ее в любом дистрибутиве на базе RedHat, например CentOS, Scientific Linux, или Fedora.
Так как дома я пользуюсь преимущественно Ubuntu, то и тестировать KVM буду на этой системе, установленный на мой сравнительно новый ноутбук HP, оснащенный процессором i5 с поддержкой аппаратной виртуализации.
В данной статье я расскажу, как установить KVM на 64-битную Ubuntu Lucid (LTS).

Подготовка к установке

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

$ egrep -c "(vmx|svm)" /proc/cpuinfo

Если вывод представляет собой ненулевое число, все в порядке. Кроме того, необходимо проверить, что технология виртуализации активирована в BIOS.
Естественно, после ее активирования необходимо перезагрузить машину, чтобы изменения вступили в силу. Для проверки выполните команду kvm-ok:

Скачивание и установка KVM

Для работы KVM необходимо установить следующие пакеты (для дистрибутивов с apt):

$ apt-get install qemu-kvm libvirt-bin

$ apt-get install bridge-utils virt-manager python-virtinst

P.S. В различных дистрибутивах пакеты могут называться по разному. Например, virt-install может называться python-virt-install или python-virtinst. Зависимости для virt-clone, virt-image и virt-viewer должны установиться автоматически. В отличие от того, что пишется в большинстве руководств, утилиты bridge устанавливать необязательно. Они нужны только в том случае, если вы собираетесь создавать сетевой мост между виртуальными и физическими сетевыми картами. В большинстве руководств также указывается, что большинство беспроводных сетевых интерфейсов не работают с мостами. Может быть это верно для какого-либо частного случая, однако у меня мост прекрасно работает с беспроводными адаптерами, поэтому будем надеяться, что и вас все заработает.
Я настоятельно рекомендую VMM (virt-manager). Более того, лучше установить и все утилиты поддержки, включая virt-viewer, virt-install, virt-image и virt-clone.
И последнее. Вы можете предпочесть ubuntu-vm-builder:

$ apt-get install ubuntu-vm-builder

Кроме этого, скорее всего будет установлено большое количество зависимостей, поэтому загрузка может занять значительное время.
P.S. На RedHat используйте yum install, на SUSE - zypper install.

Конфликт с VirtualBox

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

Использование KVM

Ну а теперь самое интересное. Мы начнем знакомство с KVM с ее графического интерфейса, который мало отличается от аналогов. таких как консоль VMware и особенно VirtualBox.

Virtual Machine Manager (VMM)

При первом запуске программы вы увидите две категории, обе не подключенные. Это ссылки на стандартные модули KVM, пока не работающие. Для их использования щелкните правой кнопкой мыши и выберите "connect".

Для их использования щелкните правой кнопкой мыши и выберите "connect". Чтобы добавить новое соединение, выберите в меню File > Add Connection. При этом откроется окно, в котором можно будет задать тип гипервизора и тип соединения. VMM может использовать как локальные, так и удаленные соединения, включая QUEMU/KVM и Xen. Кроме того, поддерживаются все методы аутентификации.

Можно также поставить галочку autoconnect. При следующем запуске программы эти соединения будут готовы к использованию. Это похоже на стартовый интерфейс VMware Server. Просто для примера:

Kernel vs Usermode

Вы можете спросить, в чем различие между режимами normal/default и Usermode? При использовании Usermode виртуальную машину можно запускать без административных привилегий, но ее сетевая функциональность при этом будет ограничена.

Продолжаем изучение VMM

Кратко рассмотрим остальные функции программы.
Сетевую функциональность можно просмотреть или изменить, открыв пункт Host Details. Подробно этот вопрос я планирую рассмотреть в отдельном руководстве. Там же мы установим утилиты для работы сетевого моста.

Аналогично можно изменить параметры дисковой подсистемы:

Изменение предварительных установок

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

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

Иконка в системном трее выглядит так:

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

Создание виртуальной машины

Создать виртуальную машину можно и из командной строки, но для начала воспользуемся VMM. Первый шаг должен быть интуитивно понятен. Введите название и задайте расположение инсталляционного диска. Это может быть как локальное устройство в виде диска CD/DVD или образа ISO, так и HTTP или FTP сервер, NFS или PXE.

Мы используем локальный носитель. Теперь необходимо задать, будет ли это физическое устройство или образ. В нашем случае используется ISO. Далее нужно выбрать тип и версию ISO. Здесь не требуется такая уж высокая точность, но правильный выбор позволит повысить производительность виртуальной машины.

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

Далее мы еще уделим внимание дисковой подсистеме. Однако обратите внимание, что при работе в режиме Usermode у вас не будет прав записи в /var, где по умолчанию хранятся образы виртуальных дисков. Поэтому необходимо будет задать другое расположение для образов. Более подробно этот вопрос будет освещен в отдельной статье.
Этап 5 - это вывод сводных данных с возможностью настройки некоторых продвинутых опций. Здесь вы можете изменить тип сети, задать фиксированные MAC-адреса, выбрать тип виртуализации и целевую архитектуру. Если вы работаете в режиме Usermode, возможности настройки сети будут ограничены, например невозможно будет создать мосты между сетевыми интерфейсами. И последнее: если ваш процессор не поддерживает аппаратной виртуализации, поле Virt Type будет иметь значение QUEMU и сменить его на KVM будет невозможно. Ниже мы рассмотрим недостатки работы в режиме эмуляции. А теперь можете посмотреть, как выглядят типовые настройки для виртуальной машины Ubuntu:

Наша машина готова к использованию.

Настройка виртуальной машины

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

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

Запуск виртуальной машины

А теперь самое интересное. Ниже несколько красивых скриншотов...
Начинаем с загрузочного меню 32-битной версии Ubuntu 10.10 Maverick:

Рабочий стол Puppy Linux как всегда великолепен:

Теперь Ubuntu, запущенная под NAT. Обратите внимание на низкую загрузку процессора. Позже мы поговорим об этом, когда будем обсуждать режим эмуляции.

Размер окна консоли можно подгонять под разрешение рабочего стола гостевой системы. На следущем скриншоте Puppy и Ubuntu бок о бок:

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

При необходимости можно удалить виртуальную машину вместе со всеми ее файлами:

Командная строка

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

$ virsh "list --all"

Ниже приведена последовательность команд для создания и запуска виртуальной машины с помощью virt-install.

Полностью команда выглядит так:

$ virt-install --connect qemu://system -n puppy -r 512 -f puppy.img -c lupu-520.iso --vnc --noautoconsole --os-type linux --accelerate --network=network:default

--connect qemu:///system задает тип гипервизора. Опция system используется при запуске машины на голом ядре от имени суперпользователя. При запуске от имени обычного пользователя используется опция session.
-n puppy - это уникальное имя виртуальной машины. Его можно изменить с помощью virsh.
-r 512 задает размер RAM.
-f задает файл образа диска. В моем случае это puppy.img, который я создал с помощью команды dd.
-c задает the CD-ROM, который может быть как физическим устройством, так и ISO-образом.
--vnc создает гостевую консоль и экспортирует ее как сервер VNC. Опция --noautoconnect запрещает автоматическое открытие консоли при запуске виртуальной машины.
--os-type задает тип гостевой операционной системы.
--accelerate разрешает KVM использовать функции оптимизации, повышающие производительность гостевой системы.
--network определяет тип сети. В нашем случае используется соединение, заданное по умолчанию.

Имеется множество других функций, задающих такие параметры, как количество ядер процессора, фиксированные MAC-адреса и т.д. Все они подробно описаны в man-странице. Несмотря на кажущуюся сложность, управление с помощью командной строки осваивается достаточно быстро.

Режим чистой эмуляции

Я уже говорил, что он ужасно неэффективен. Теперь подтвердим это на практике. Например, на представленном ниже скриншоте можно видеть, что система при работе потребляет все доступные ей ресурсы процессора, которые в данном случае при наличии одного ядра составляют 25% ресурсов физического процессора. Это значит, что четыре виртуальные машины будут полностью загружать четырехъядерный хост.

Кроме того, производительность гостевой системы ниже всякой критики. Если при включенной аппаратной виртуализации загрузка гостевой Ubuntu занимала у меня около 1 минуты, то после ее отключения она составила 20 минут. Необходимо отметить, что без использования аппаратной виртуализации производительность QUEMU/KVM намного ниже, чем у конкурентов.

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

Сейчас передо мной встал вопрос аренды хорошего сервера с большим объёмом оперативной памяти и объёмным жестким диском. Но запускать проекты прямо на хост-машине не хочется, поэтому буду разграничивать их по отдельным небольшим виртуальным серверам с ОС Linux или docker-контейнерам (о них расскажу в другой статье).

Все современные облачные хостинги работают по такому же принципу, т.е. хостер на хорошем железе поднимает кучу виртуальных серверов, которые мы привыкли называть VPS/VDS, и раздаёт их пользователям, либо автоматизирует этот процесс (привет, DigitalOcean).

KVM (kernel-based virtual machine) это программное обеспечения для Linux, использующее аппаратные средства x86-совместимых процессоров для работы с технологией виртуализации Intel VT/AMD SVM.

Установка KVM

Все махинации по созданию виртуальной машины я буду проводить на ОС Ubuntu 16.04.1 LTS. Чтобы проверить поддерживает ли ваш процессов аппаратную виртуализацию на базе Intel VT/AMD SVM, выполняем:

Grep -E "(vmx|svm)" /proc/cpuinfo

Если терминал непустой, то значит всё в порядке и KVM можно устанавливать. Ubuntu официально поддерживает только гипервизор KVM (входит в состав ядра Linux) и советует использовать библиотеку libvirt в качестве инструмента по управлению им, что мы и будем делать дальше.

Проверить поддержку аппаратной виртуализации в Ubuntu также можно через команду:

В случае успеха, вы увидите что-то вроде этого:

INFO: /dev/kvm exists KVM acceleration can be used

Устанавливаем пакеты для работы с KVM:

Sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils

Если у вас есть доступ к графической оболочке системы, то можно установить GUI менеджер libvirt:

Sudo apt-get install virt-manager

Пользоваться virt-manager достаточно просто (не сложнее VirtualBox), поэтому в этой заметке речь пойдёт про консольный вариант установки и настройки виртуального сервера.

Установка и настройка виртуального сервера

В консольном варианте установки, настройки и управлением системой, незаменимым инструментом является утилита virsh (надстройка над библиотекой libvirt). У неё большое количество опций и параметров, подробное описание можно получить так:

Man virsh

или вызвать стандартный "help":

Virsh help

Я всегда придерживаюсь следующих правил при работе с виртуальными серверами:

  1. Храню iso образы ОС в каталоге /var/lib/libvirt/boot
  2. Храню образы виртуальных машин в каталоге /var/lib/libvirt/images
  3. Явно задаю каждой новой виртуальной машине свой статичный IP адрес через DHCP сервер гипервизора.

Приступим к установке первой виртуалки (64-битной серверной убунте 16.04 LTS):

Cd /var/lib/libvirt/boot sudo wget http://releases.ubuntu.com/16.04/ubuntu-16.04.1-desktop-amd64.iso

Скачав образ запускаем установку:

Sudo virt-install \ --virt-type=kvm \ --name ubuntu1604\ --ram 1024 \ --vcpus=1 \ --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=20,bus=virtio

Переводя все эти параметры на "человеческий язык", то получается, что мы создаём виртуальную машину с ОС Ubuntu 16.04, 1024 МБ ОЗУ, 1 процессором, стандартной сетевой картой (виртуальная машина будет ходить в интернет как-будто из-за NAT), 20 ГБ HDD.

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

Osinfo-query os

Если такой утилиты нет в вашей системе, то устанавливаем:

Sudo apt-get install libosinfo-bin

После запуска установки, в консоли появится вот такая надпись:

Domain installation still in progress. You can reconnect to the console to complete the installation process.

Это нормальная ситуация, продолжать установку мы будем через VNC.
Смотрим на каком порту он был поднят у нашей виртуалки (в соседнем терминале, например):

Virsh dumpxml ubuntu1604 ... ...

Порт 5900, на локальном адресе 127.0.0.1. Чтобы подключиться к VNC, необходимо использовать Port Forwarding через ssh. Перед тем как это сделать, убедитесь, что tcp forwarding разрешён у демона ssh. Для этого идём в настройки sshd:

Cat /etc/ssh/sshd_config | grep AllowTcpForwarding

Если ничего не нашлось или вы видите:

AllowTcpForwarding no

То правим конфиг на

AllowTcpForwarding yes

и перезагружаем sshd.

Настройка Port forwarding

Выполняем команду на локальной машине:

Ssh -fN -l login -L 127.0.0.1:5900:localhost:5900 server_ip

Здесь мы настроили ssh port forwarding с локального порта 5900 на серверный порт 5900. Теперь уже можно подключиться к VNC, используя любой VNC-клиент. Я предпочитаю UltraVNC из-за простоты и удобства.

После успешного подключения, на экране отобразится стандартное окно приветствия начала установки Ubuntu:

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

Ifconfig

Запоминаем и идём на хост машину. Вытаскиваем mac-адрес "сетевой" карты виртуалки:

Virsh dumpxml ubuntu1604 | grep "mac address"

Запоминаем наш mac адрес:

Редактируем сетевые настройки гипервизора:

Sudo virsh net-edit default

Ищем DHCP, и добавляем вот это:

Должно получиться что-то вроде этого:

Для того, чтобы настройки вступили в силу, необходимо перезагрузить DHCP сервер гипервизора:

Sudo virsh net-destroy default sudo virsh net-start default sudo service libvirt-bin restart

После этого перегружаем виртуальную машину, теперь она всегда будет иметь заданный ей IP адрес - 192.168.122.131.

Есть и другие способы задать виртуалке статичный IP, например, напрямую редактируя сетевые настройки внутри гостевой системы, но тут уже как душе вашей будет угодно. Я лишь показал вариант, который сам предпочитаю использовать.

Чтобы подключиться к терминалу виртуальной машины, выполняем:

Ssh 192.168.122.131

Машина готова к бою.

Virsh: список команд

Чтобы посмотреть запущенные виртуальные хосты (все доступные можно получить добавив --all):

Sudo virsh list

Перезагрузить хост можно:

Sudo virsh reboot $VM_NAME

Остановить виртуальную машину:

Sudo virsh stop $VM_NAME

Выполнить halt:

Sudo virsh destroy $VM_NAME

Sudo virsh start $VM_NAME

Отключение:

Sudo virsh shutdown $VM_NAME

Добавить в автозапуск:

Sudo virsh autostart $VM_NAME

Очень часто требуется склонировать систему, чтобы в будущем использовать её как каркас для других виртуальных ОС, для этого используют утилиту virt-clone.

Virt-clone --help

Она клонирует существующую виртуалку и изменяет host-sensitive данные, например, mac address. Пароли, файлы и прочая user-specific информация в клоне остаётся прежней. Если на клонируемой виртуалке IP адрес был прописан вручную, то могут возникнуть проблемы с доступом по SSH на клон из-за конфликта (2 хоста с одинаковым IP).

Помимо установки виртуалки через VNC, также возможен вариант с X11Forwarding через утилиту virt-manager. В Windows, например, для этого можно использовать Xming и PuTTY.

KVM - одна из новых технологий виртуализации, которая дает возможность установить на физическом выделенном сервере несколько виртуальных выделенных серверов. Главным достоинством данной системы виртуализации является создание впс с разными типами операционных систем, то есть можно на одном сервере без проблем устанавливать как linux vps так и windows vps. К тому же каждый отдельный впс сервер на платформе KVM имеет свои независимые ресурсы: свое дисковое пространство, свою оперативную память, сетевой интерфейс и так далее.

Достоинства KVM виртуализации:

  • Возможность установить разные операционные системы: centos, debian, ubuntu, mint, freebsd, windows 7, windows 8, windows 10, windows xp и так далее.
  • Гарантированные ресурсы на сервере, то есть если вы заказали впс сервер с определенными ресурсами, то будьте спокойны, ресурсы у вас никто не отберет. С данной виртуализацией нельзя использовать ресурсы соседней впс. Есть такое понятие как оверселлинг, это когда хостинг компания продает больше ресурсов, чем есть на самом деле на сервере. В KVM такого не может быть, все ресурсы четко зафиксированы в конфигурационных файлах и направлены сразу все на виртуальный выделенный сервер.
  • Есть возможность установить на впс сервере полностью свою операционную систему, например вы разработчик ОС, и у вас есть своя написанная операционная система, вы можете установить ее на одной из впс на сервере с KVM, для этого нужно будет закачать файл с iso-образом ОС на сервер с специальную папку.
  • Удобная работа с VNC , которая дает возможность удаленно управлять вашим vps сервером так, как будто вы работаете за своим персональным ПК, с помощью VNC вы можете настраивать bios, перегружать впс и наблюдать это. Если вы установили на всп сервер windows и хотите на него зайти поработать в графическом режиме, то вы можете сделать это двумя способами: через VNC, или сразу попасть на впс по предварительно настроенному удаленному рабочему столу.

Из недостатков KVM виртуализации можно выделить то, что она сложнее в использовании и настройке чем, например, виртуализация openVZ . То какой вариант? Если вы планируете использовать впс сервер с операционными системами linux - тогда советуем выбрать openVZ. Если же собираете использовать на своем виртуальном выделенном сервере windows - то тогда лучше использовать именно KVM виртуализацию.

Please enable JavaScript to view the comments powered by Disqus.
Недавние записи
  • Применение новейших пассажирских и грузовых подъемников разрешает предоставить оптимальные обстоятельства…

  • Дабы ваш веб-сайт постоянно открывался по неопасному https:// протоколу, мы…

  • В новых версиях браузера Chrome перестала работать прокрутка страницы колесиком…

  • Интернет торговля в Украине с каждым годом набирает все больше…

  • ПВТ - это такое IT направление в Белоруссии, которое создано…

  • В Украине, а именно в Днепропетровске изобрели и протестировали 1-й…

  • Сейчас уже тяжело представить себе мир без ИТ, так как…

  • Предлагаем вашему вниманию новую услугу на сайте abcname.com.ua. Кроме того,…

  • Сегодня мы расскажем вам об особенностях выбора VPS сервера. Сперва…

  • Сегодня мы спешим обрадовать всех новой возможностью нашего уникального, и…

  • 1) Проверка доменного имени Проверяем, является ли строка правильным доменным…

  • Проверить IP-адрес можно на данной странице: http://abcname.com.ua/index.php?c=192 IP-адрес (если дословно, то…

  • Компания ABCname представляет вашему вниманию программу СИНОНИМИЗАТОР. Ссылка на синонимизатор: https://abcname.net/news-new/sinonimizator-ru.html…

  • Скачать счетчик посещений, разработанный компанией ABCname вы можете зайдя по данной ссылке: http://abcname.com.ua/stat/…

  • В последнем обновлении операционной системы iOS 9.0.2 разработчики закрыли очень…

  • Последние новости Skype: для пользователей данной программы на Windows…

  • Компания Google вновь порадовала своим изобретением, на днях в городе…

  • На днях стало известно, что компания Samsung запускает новую платежную…

  • В новых ноутбуках ThinkPad от компании Lenovo, на которых предустановлена…

  • Недавно компания Pebble разработала новую серию умных часов под…

  • При выборе тарифа, человек выбирает также и способ виртуализации для сервера. Предлагаем на выбор виртуализации на уровне операционной системы OpenVZ и аппаратную виртуализацию KVM.

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

    Сравнение типов виртуализаций

    OpenVZ KVM

    ОС из ряда предложенных: Debian, CentOS, Ubuntu

    Linux, Windows, FreeBSD, установка собственного дистрибутива

    Изменение ресурсов без перезагрузки (жёсткий диск, память, процессор)

    Память и процессор изменятся после перезагрузки, жёсткий диск - только после обращения в поддержку (на готовых тарифах память изменить нельзя)

    Смена тарифного плана без перезагрузки

    Смена тарифного плана . Сервер будет недоступен 1-2 часа.

    Мягкие лимиты: максимальная производительность сервера может отклоняться в большую или меньшую сторону

    Жёсткие лимиты: каждый сервер получает заявленные ресурсы

    Ограничение на запуск высоконагруженных проектов. Запрещено запускать Java-приложения, массовые рассылки и проксировать трафик. TUN/TAP выключен.

    Возможность запуска любых проектов (кроме систем распределённых вычислений)

    Возможность . Для этого типа виртуализации подключение к графическому интерфейсу по VNC невозможно.

    Возможность . Если сервер по каким-либо причинам недоступен по SSH или нужно подключиться к графическому интерфейсу, можно получить доступ к серверу по VNC.

    Перейти в панель управления ISPmanager можно:

    • из Личного кабинета: раздел - Товары - Виртуальные серверы - выберите сервер, сверху кнопка «Перейти» ,
    • по ссылке из Инструкции: Личный кабинет- Товары - Виртуальные серверы - выберите сервер, сверху «Инструкция» .

    Виртуализация OpenVZ

    OpenVZ - виртуализация уровня операционной системы. Технология базируется на ядре ОС Linux и позволяет на одном физическом сервере создавать и запускать изолированные друг от друга копии выбранной операционной системы (Debian, CentOS, Ubuntu). Установка другой ОС невозможна, так как виртуальные серверы используют общее ядро Linux.

    Технология отличается легкостью управления сервером : пользователь может в личном кабинете самостоятельно* добавить количество ресурсов (память, процессор, жесткий диск) или перейти на другой тариф с той же виртуализацией. Изменения применяются автоматически, без перезагрузки сервера.

    На серверах с виртуализацией OpenVZ запрещается запускать:

    • сервисы для организации проксирования любого вида трафика
    • сервисы потокового вещания
    • игровые серверы
    • системы или элементы систем распределённых вычислений (например, bitcoin mining)
    • сервисы массовой рассылки почтовых сообщений, даже если они используются в легальных целях
    • Java-приложения
    • иные ресурсоёмкие приложения

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

    * - для прошлых версий тарифов (VDS-2015, VDS-Лето, VDS-2016) смена тарифа в личном кабинете больше не доступна. Самостоятельное изменение тарифного плана возможно только на актуальных тарифах виртуализации OVZ. Если для вас важно иметь доступ к быстрому управлению ресурсами сервера - для перехода на актуальный тарифный план. Если стоимость нового тарифа выше стоимости текущего, смена тарифа происходит бесплатно, в остальных случаях - в рамках . Тариф меняется без перезагрузки сервера.

    Виртуализация KVM

    KVM (Kernel-based Virtual Machine) - технология аппаратной виртуализации, позволяющая создать на хост-машине полный виртуальный аналог физического сервера . KVM позволяет создать полностью изолированный от «соседей» виртуальный сервер с собственным ядром ОС, который пользователь может настраивать и модифицировать под собственные нужды без ограничений. Каждому такому серверу выделяется своя область в оперативной памяти и пространство на жестком диске, что повышает общую надежность работы такого сервера.

    Возможна установка любой операционной системы на выбор (Debian, CentOS, Ubuntu, FreeBSD, Windows Server), либо установка собственного дистрибутива (в панели VMmanager в разделе ISO-образы нажмите кнопку Создать и добавьте свой ISO-образ системы).

    Смена тарифного плана возможна только в большую сторону и только в рамках базовой линейки тарифов (Старт, Разгон, Отрыв, Улёт). Если ваш проект «вырастет» из тарифа, напишите запрос в поддержку из Личного кабинета - администраторы сменят тариф на требуемый бесплатно. Изменить тариф в меньшую сторону можно только переносом на новый сервер. Закажите новый сервер и перенесите данные самостоятельно, либо специалисты технической поддержки помогут с переносом за 1 обращение по пакету администрирования или 250 руб.

    Помните, что на тарифах VDS-Форсаж и VDS-Атлант , вы можете изменять ресурсы вместо смены тарифа : количество доступных ядер процессора и оперативной памяти самостоятельно в панели управления, а размер жёсткого диска - после обращения в поддержку (в рамках администрирования или за 250 руб.).

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

    На серверах с виртуализацией KVM Абоненту запрещается размещать системы или элементы систем распределённых вычислений (например, bitcoin mining).

    Смена виртуализации на сервере

    В рамках одного сервера сменить виртуализацию с OpenVZ на KVM и обратно невозможно.

    1. Закажите второй сервер с нужной виртуализацией в панели BILLmanager, раздел Виртуальные серверы → Заказать

    2. Перенесите на него данные.

    3. После переноса и проверки старый сервер можно удалить (Виртуальные серверы → Удалить).


    В Ubuntu рекомендуется использовать гипервизор (менеджер виртуальных машин) KVM и библиотеку libvirt в качестве инструментария управления им. Libvirt включает в себя набор программного API и пользовательских приложений управления виртуальными машинами (ВМ) virt-manager (графический интерфейс, GUI) или virsh (командная строка, CLI). В качестве альтернативных менеджеров можно использовать convirt (GUI) или convirt2 (WEB интерфейс).

    В настоящее время в Ubuntu офицально поддерживается только гипервизор KVM. Этот гипервизор является частью кода ядра операционной системы Linux. В отличие от Xen, KVM не поддерживает паравиртуализацию, то есть, для того, чтобы его использовать, ваш CPU должен подерживать технологии VT. Вы можете проверить, поддерживает ли ваш процессор эту технологию, выполнив команду в терминале:

    Если в результате получили сообщение:

    INFO: /dev/kvm exists KVM acceleration can be used

    значит KVM будет работать без проблем.

    Если же на выходе получили сообщение:

    Your CPU does not support KVM extensions KVM acceleration can NOT be used

    то вы всё равно сможете использовать виртуальную машину, но работать она будет намного медленнее.

      Устанавливать в качестве гостевых 64-битные системы

      Выделять гостевым системам более 2 Гбайт ОЗУ

    Установка

    Sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils

    Это установка на сервер без X-ов, т. е. не включает в себя графический интерфейс. Установить его можно командой

    Sudo apt-get install virt-manager

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

    Создание гостевой системы

    Процедура создания гостевой системы с помощью графического интерфейса достаточно проста.

    А вот текстовый режим можно и описать.

    qcow2

    При создании системы с помощью графического интерфейса в качестве жёсткого диска предлагается либо выбрать уже существующий файл-образ или блочное устройсво, либо создать новый файл с сырыми (RAW) данными. Однако, это далеко не единственный доступный формат файлов. Из всех перечисленных в man qemu-img типов дисков наиболее гибким и современным является qcow2 . Он поддерживает снапшоты, шифрование и сжатие. Его необходимо создавать до того, как создать новую гостевую систему.

    Qemu-img create -o preallocation=metadata -f qcow2 qcow2.img 20G

    Согласно тому же man qemu-img , предварительное размещение метаданных (-o preallocation=metadata) делает диск изначально немного больше, но обеспечивает лучшую производительность в те моменты, когда образу нужно расти. На самом деле, в данном случае эта опция позволяет избежать неприятного бага. Создаваемый образ изначально занимает меньше мегабайта места и по мере необходимости растёт до указанного размера. Гостевая система сразу должна видеть этот окончательный указанный размер, тем не менее, на этапе установки она может увидеть реальный размер файла. Естественно, устанавливаться на жёсткий диск размером 200 кбайт она откажется. Баг не специфичен для Ubuntu, проявляется ещё в RHEL, как минимум.

    Кроме типа образа впоследствии можно будет выбрать способ его подключения - IDE, SCSI или Virtio Disk. От этого выбора будет зависеть производительность дисковой подсистемы. Однозначно правильного ответа нет, выбирать нужно исходя из задачи, которая будет возложена на гостевую систему. Если гостевая система создаётся «на посмотреть», то сойдёт любой способ. Вообще, обычно именно I/O является узким местом виртуальной машины, поэтому при создании высоконагруженной системы к этому вопросу нужно отнестись максимально ответственно.


Top