Xen PV vs HVM: что выбрать?

    imageЗдравствуйте, уважаемые Хабрапользователи. Меня зовут Павел, я являюсь сотрудником хостинговой компании NQhost. Мы специализируемся на услугах VPS/VDS (виртуальные серверы), построенных на базе технологии Xen.
    В этой статье мы ответим на один из самых часто задаваемых вопросов, поступающих в нашу службу поддержки: чем отличаются паравиртуализация (Xen PV) и полная аппаратная виртуализация (Xen HVM) и что, собственно, лучше выбрать.


    Xen


    Xen – это распространяемый на условиях лицензии GPL гипервизор или, иными словами, монитор виртуальных машин, изначально разработанный в Кембриджском университете. Поддерживает два режима виртуализации: паравиртуализация (PV) и аппаратная виртуализация (HVM).
    Xen позволяет организовать совместное выполнение нескольких виртуальных машин на одной физической с сохранением производительности, сравнимой с реальной.

    Xen PV

    Паравиртуализация – это технология виртуализации, при которой гостевые операционные системы специальным образом подготавливаются для работы внутри виртуальной среды, для чего обычно происходит изменение ядра ОС. Таким образом, гостевая система «знает», что она работает в виртуальной среде.
    В настоящее время почти все дистрибутивы Linux, а именно CentOS, Debian, Ubuntu, Gentoo, Fedora, ArchLinux и др., способны работать в режиме Xen PV. Паравиртуализация позволяет достичь производительности, сравнимой с производительностью физического сервера.

    В режиме PV имеется два варианта загрузки Linux: использование ядра с Xen Dom0 (ноды) или же запуск собственного ядра, которое находится непосредственно внутри файловой системы VPS контейнера. Второй вариант загрузки реализуется при помощи технологии PyGrub и позволяет запускать актуальные версии ядра (причем как 32-, так и 64-битные в зависимости от версии ОС) для конкретного дистрибутива Linux. Как правило, все модули ядра корректно работают с xen-версией.

    Например, вот как выглядит вывод команды uname –a внутри Xen PV контейнера на базе Ubuntu 10.10 32bit:
    Linux example.com 2.6.32-305-ec2 #9-Ubuntu SMP Thu Apr 15 04:14:01 UTC 2010 i686 GNU/Linux

    При этом физический сервер, на котором расположен этот контейнер, работает под управлением CentOS x64 со стандартным ядром ветки 2.6.18

    Помимо стандартного ssh доступ к ОС, находящейся внутри Xen PV контейнера, можно получить через эмуляцию консоли средствами гипервизора. Это бывает полезно, если по каким-то причинам не удается использовать ssh. Также имеется возможность отслеживать процесс загрузки гостевой ОС.
    image

    Xen HVM

    В режиме аппаратной виртуализации гостевая система не «знает», что она работает в виртуальной среде — Xen с помощью модулей QEMU эмулирует аппаратную часть виртуальной машины.
    Для обеспечения работы Xen HVM необходимо, чтобы на ноде использовались процессоры с поддержкой технологии Intel-VT или AMD-V. Загрузка такого контейнера выглядит аналогично загрузке обычного физического компьютера. Удаленный доступ на данном этапе организуется средствами VNC. Вот пример загрузки Xen HVM контейнера и запуска FreeBSD 8.2 из смонтированного образа:
    image

    В режиме Xen HVM возможно установить практически любую операционную систему: Linux, FreeBSD, NetBSD или всевозможные версии Windows.

    PV vs HVM – что же выбрать?

    Ответ на данный вопрос достаточно простой: если вам нужна ОС Linux и у вас нет требований к самостоятельной установке ОС «с нуля», то смело выбирайте Xen PV. Производительность такого VPS контейнера будет выше, а установка ОС может производиться из готовых шаблонов.
    В тех случаях, когда вам нужна не Linux-based ОС, или же если имеется необходимость по каким-либо причинам использовать немодифицированное ядро, то правильным выбором будет Xen HVM.

    В одной из следующих статей мы приведем сравнение производительности Xen PV и HVM контейнеров.
    NQhost
    0,00
    Компания
    Поделиться публикацией

    Комментарии 19

      +1
      Пользуясь случаем, хочу сказать вам спасибо :) Пользуюсь вашим хостингом, и пока не было никаких проблем. Единственное пожелание: сделать когда-нибудь возможность вручную выставить счет на какой-либо срок, отличный от одного месяца.
        +1
        Спасибо! На данный момент счет на произвольный срок можно запросить через службу поддержки. Насчет функции самостоятельного формирования мы обязательно подумаем.
        0
        Мудрено все у вас. Адрес в Чехии, сервера в Германии и США, а сами, наверное, в России.
          +1
          Сами мы в Чехии. Изначально компания ориентировалась на европейских клиентов. Примерно год назад решили, что надо оказывать поддержку на русском языке.
          А насчет расположения серверов — до ДЦ в Германии от чешской границы 40 км, а каналы совсем другого качества.
          +1
          или запускать приложения в средах рабочего стола (KDE/GNOME и т.п.) внутри вашего VPS контейнера, то правильным выбором будет Xen HVM.
          Знаете, вот эта фраза показала полнейшую некомпетентность автора статьи в Linux'е.
            +1
            А что вам показалось неправильным в данной фразе? Если вам вдруг нужен GUI, который работает непосредственно на VPS (X-server + X-client), то смотреть на все это дело можно через VNC.

            Очевидно, что если X-Client`а вынести в какое-то иное дело, то приложения можно запускать и на Xen PV машине.
              +1
              А ничего что гном с кедами спокойно стартуют в X-сессии любого VNC-сервера? Настройка — дело 3-5 минут. Зачем для этого нужен HVM-режим, который мало того что будет делать то же самое менее эффективно, так ещё и сжирать вычислительные ресурсы за счёт большего оверхеда?
                +1
                Да, здесь, конечно, вы правы. В статье имелось в виду, что если всегда нужен GUI для доступа-управления VPS через VNC (начиная от установки), то Xen HVM для этого подходит.
                Запуск Gnome/KDE — это как вариант использования, без дополнительных настроек.
                  +1
                  В статье имелось в виду, что если всегда нужен GUI для доступа-управления VPS через VNC (начиная от установки)
                  1) Xen позволяет сделать VNC доступ и для PV-доменов. У самого такое крутилось некоторое время. Единственное, надо немножко пошаманить чтобы заставить нормально работать мышь. Возможно, на дистрах посвежее шаманить не надо.
                  2) Xen в PV-режиме спокойно прогружает ядро и initrd от большинства netinstall-образов, поскольку ядра современных дистров практически все собраны с PV_OPS. Сколько раз уже так систему ставил. При желании можно заставить прочитать и сам установочный диск. Единственное, разбивку разделов надо сделать заранее, чтобы потом их просто отформатировать.
                  Повторяю вопрос: зачем нужен HVM?
                    +1
                    Понимаете, данная статья писалась с точки зрения взаимодействия хостинг<--->клиент.
                    Ответ на ваш вопрос — если нужен GUI без дополнительных настроек, шаманства и т.п. — это реализуется путем Xen HVM.
                      0
                      если нужен GUI без дополнительных настроек, шаманства и т.п.

                      # apt-get install tightvncserver
                      # vncserver

                      После чего к соответствующему порту можно подключаться по VNC. Как много дополнительных настроек и «шаманства».

                      А то, что Вы почему-то не можете дать возможность использовать для PV-режима VNC и установщик с netinstall-образа, хотя Xen это позволяет, к клиенту уже не относится — он этого никакими шаманствами сделать не сможет.

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

                      Но хотелось бы верить, что написано это было всё же по незнанию.
                        +1
                        Да, мы еще раз перечитали данную фразу, подумали над ней и согласны, что она выглядит достаточно «вредно».
                        Спасибо. Кстати, ваши замечания — отличный повод для статьи насчет GUI-вопросов внутри Xen PV.
                          0
                          Немного все-таки еще поясню наши соображения насчет установки Linux внутри Xen HVM. Случаи использования — могут быть совершенно разннообразные. Не всем нужны высокопроизводительные серверы, на которых стоят сайты с чудовищной посещаемостью.
                          Многим новичкам, которые по каким-либо причинам не хотят разбираться с командной строкой установка ОС через VNC-консоль, которая запускается прямо из браузера — удобный способ познакомиться с ОС, поэкспериментировать как все это дело выглядит живьем, так как процесс ничем не отличим от установки ОС на физическую машину.
              0
              В настоящее время почти все дистрибутивы Linux, а именно CentOS, Debian, Ubuntu, Gentoo, Fedora, ArchLinux и др.

              А можно пруфлинк с описанием поддержки федорой pv-режима?
                +2
                Сойдет ли за пруфлинк, но вот информация из Xen PV контейнера с Fedora:

                Fedora release 14 (Laughlin)
                Kernel 2.6.35.11-83.fc14.i686.PAE on an i686 (/dev/hvc0)
                #uname -a
                Linux test.com 2.6.35.11-83.fc14.i686.PAE #1 SMP Mon Feb 7 06:57:55 UTC 2011 i686 i686 i386 GNU/Linux
                0
                Замечу что в линуксе при поддержке хвм можно и пв запускать.
                  0
                  Заранее извиняюсь если не-совсем в-тему.
                  А есть особая причина выбора именно Xen, а не KVM или др.?
                    0
                    OpenVZ нам не нравится по идеологическим соображениям. Плюс Xen изначально полностью поддерживался нашим VPS Manager`ом для управления VPS`ками.
                    И экспертиза поддержки сосредоточена именно вокруг Xen`а.
                      0
                      Спасибо.

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

                  Самое читаемое