Need For Speed или простой тюнинг виртуальных машин

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

Большое количество вопросов, как повысить быстродействие виртуальной среды, побудило меня к написанию небольшого FAQ по оптимизации виртуальных машин на основе VMware vSphere – платформы используемой большинством наших корпоративных клиентов. При этом хочется отметить, что для решений на основе Hyper-V и Xen Server корректный выбор устройств также способен ускорить работу виртуальных серверов.



FAQ по работе с виртуальными устройствами в среде VMware vSphere


Q: На что влияют типы устройств виртуальной машины?
A: Типы встроенных устройств влияют на алгоритм работы виртуальной машины с «железом», таким образом оказывая непосредственное влияние на быстродействие.

Q: Зачем VMware понадобилось закладывать в архитектуру уникальные виртуальные устройства вместо эмуляции обычных контроллеров?
A: Виртуальные устройства, не имеющие реальных аналогов, разработаны только с одной целью – снизить накладные расходы на виртуализацию. Только с ними можно добиться того, что быстродействие виртуальной машины практически не отличается от физического оригинала.

Q: Чем отличаются дисковые контроллеры?
A: Дисковые контроллеры влияют на алгоритм обработки SCSI команд. VMware Paravirtual оптимизирован под пакетную обработку команд, таким образом, при большом количестве операций ввода-вывода он заметно эффективнее LSI Logic контроллеров.

Q: Если VMware Paravirtual так хорош, почему он не используется по умолчанию?
A: Поскольку VMware Paravirtual не имеет реальных аналогов, он не поддерживается операционными системами напрямую. Следовательно, остальные контроллеры нужны исключительно для совместимости со старыми версиями гостевых операционных систем. Кроме того при небольшом количестве операций ввода-вывода он может быть менее эффективен чем LSI Logic SAS, что позволяет его рекомендовать для применения в качестве контроллера системного диска.

Q: Какие операционные системы поддерживают VMware Paravirtual?
A: Список ОС поддерживающих VMware Paravirtual приведен в таблице ниже.
Гостевая операционная система VMware Paravirtual поддерживается в качестве диска с данными VMware Paravirtual поддерживается в качестве загрузочного диска
Windows Server 2008 R2 (64-bit only) ESX/ESXi 4.0 Update 1, ESX/ESXi 4.1, ESXi 5.0 ESX/ESXi 4.0 Update 1, ESX/ESXi 4.1, ESXi 5.0
Windows Server 2008 (32 and 64 bit) ESX/ESXi 4.X, ESXi 5.0 ESX/ESXi 4.0 Update 1, ESX/ESXi 4.1, ESXi 5.0
Windows Server 2003 (32 and 64 bit) ESX/ESXi 4.x, ESXi 5.0 ESX/ESXi 4.x, ESXi 5.0
Windows 7 (32 and 64 bit) ESX/ESXi 4.1, ESXi 5.0 ESX/ESXi 4.1, ESXi 5.0
Windows Vista (32 and 64 bit) ESX/ESXi 4.1, ESXi 5.0 ESX/ESXi 4.1, ESXi 5.0
Windows XP (32 and 64 bit) ESX/ESXi 4.1, ESXi 5.0 ESX/ESXi 4.1, ESXi 5.0
Red Hat Enterprise Linux (RHEL) 5 (32 and 64 bit) и выше ESX/ESXi 4.X, ESXi 5.0 Не поддерживается.
RHEL 6 (32 and 64 bit) ESX/ESXi 4.0 Update 2, ESX/ESXi 4.1, ESXi 5.0 ESX/ESXi 4.0 Update 2, ESX/ESXi 4.1, ESXi 5.0
SUSE Linux Enterprise 11 SP1(32 and 64 bit) и выше ESX/ESXi 4.0 Update 2, ESX/ESXi 4.1, ESXi 5.0 ESX/ESXi 4.0 Update 2, ESX/ESXi 4.1, ESXi 5.0
Ubuntu 10.04 (32 and 64 bit) и выше ESX/ESXi 4.0 Update 2, ESX/ESXi 4.1, ESXi 5.0 ESX/ESXi 4.0 Update 2, ESX/ESXi 4.1, ESXi 5.0
Distros Linux 2.6.33 и выше ESX/ESXi 4.1, ESXi 5.0 ESX/ESXi 4.1, ESXi 5.0

Q: Какие дисковые контроллеры лучше использовать, если VMware Paravirtual не поддерживается?
A: Предпочитаемым контроллером является LSI Logic SAS. К сожалению, в виду огромного разнообразия поддерживаемых ОС привести их всех в рамках данного обзора не представляется возможным. Если даже LSI Logic SAS не поддерживается, то вынужденно придется использовать LSI Logic Parallel.

Q: Где взять драйверы для VMware Paravirtual?
A: При установке ОС драйверы можно поставить с виртуального флоппи-дисковода. Для выбора нужного образа следует указать в свойствах дисковода «Use existing floppy image in datastore». После следует указать нужный образ из расположенных в каталоге /vmimages/floppies. Также драйверы для несистемных дисков могут быть добавлены после установки ОС – для этого надо просто установить VMware Tools.

Q: Почему нельзя использовать в промышленной среде «тонкие» диски?
A: При каждой операции расширения тонкого диска значительно снижается быстродействие тома VMFS, на котором он расположен, а точно предсказать операции расширения нельзя.

Q: Какой сетевой контроллер наиболее эффективен?
A: Наиболее эффективным типом сетевого контроллера является VMXNET 3. По аналогии с VMware Paravirtual он позволяет снизить накладные расходы и повысить быстродействие подсистемы сетевого ввода-вывода.

Q: Зачем нужны сетевые контроллеры кроме VMXNET3?
A: Остальные сетевые контроллеры нужны исключительно для совместимости с ОС, не поддерживающими VMXNET3.

Q: Какие операционные системы поддерживают VMXNET3?
A: VMXNET3 совместим со следующими типами гостевых ОС:
  • 32- и 64-разрядные версии Microsoft Windows XP,7, 2003, 2003 R2, 2008, and 2008 R2 и выше;
  • 32- и 64-разрядные версии Red Hat Enterprise Linux 5.0 и выше;
  • 32- и 64-разрядные версии SUSE Linux Enterprise Server 10 и выше;
  • 32- и 64-разрядные версии Asianux 3 и выше;
  • 32- и 64-разрядные версии Debian 4 и выше;
  • 32- и 64-разрядные версии Ubuntu 7.04 и выше;
  • 32- и 64-разрядные версии Sun Solaris 10 U4 и выше.


Q: Где взять драйверы для VMXNET3?
A: Драйверы для VMXNET3 устанавливаются вместе с VMware Tools.

Q: Какие сетевые контроллеры лучше использовать, если VMXNET3 не поддерживается?
A: Рекомендуемым после VMXNET3 является E1000. VMXNET2 нужен для совместимости со старыми версиями ESX/ESXi, а не со старыми версиями гостевых ОС. Если даже E1000 не подошел, то следует использовать другие сетевые контроллеры, совместимые с конкретной ОС.

Q: Что делать, если курсор мыши в виртуальной среде двигается рывками?
A: В Windows 7 и Windows 2008 (и выше) следует вручную установить драйвер видеоадаптера. После установки VMware Tools драйвер видеоадаптера доступен в каталоге C:\Program Files\Common Files\VMware\drivers\wddm_video.

Алексей Хакимов, старший системный инженер, Digital Design
Digital Design
157,00
Компания
Поделиться публикацией

Похожие публикации

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

    0
    Спасибо за статью. Как раз скоро с vSphere возиться прийдется
      0
      Работаем уж на ESXi, хорошая система, а по поводу виртуализации один вопрос. Тут говориться о поддержке 32- и 64-разрядные версии SUSE Linux Enterprise Server 10 и выше, а поддерживаеться ли OpenSUSE 12.X?
        0
        В списке совместимости open SUSE совсем не заявлена, но в сети есть отзывы, что работает, хоть и не с полпинка.
        0
        Спасибо за статью!
        Имхо, «тонкие» диски допустимо использовать в промышленной среде, если машина не требует большого количества iops. И это единственная опция при использовании NFS без поддержки VAAI. Если верить документации вендора, то снижение производительности при работе с тонкими дисками незначительно.
        Если нужно максимум скорости дисковой подсистемы, то может быть имеет смысл использовать RDM?
          0
          RDM диски хорошо использовать, к примеру когда вы кладете на LUN СХД базу данных, а сама СХД умеет делать снепшоты данной БД, данная фича будет вам полезна. Или вы можете использовать RDM, если надо перецеплять ту же БД от одной ВМ к другой.
            0
            Что мешает перецеплять vmfs-том от одной ВМ к другой?

            По поводу производительности нашел сравнение от VMware, там сравнивается VMFS и RDM еще на ESX 3.0, старовато, но хоть что-то. Так вот, производительность примерно равна, плюс-минус 5 процентов примерно.
            Так что особого выигрыша тут тоже не получишь.
          0
          Мы все любим и уважаем наших вендоров. Но, увы, из практики следует, что в подавляющем большинстве случаев использовать тонкие диски нерационально. Если свести минусы «тонких дисков», то это:

          1. Если уж тонкий диск расширился, обратно его «прозрачно» не сожмешь.
          2. Расширение тонкого диска — процесс трудно управляемый. Часты случаи, когда случайно расширившийся тонкий диск забивал весь том VMFS и, соответственно, вызывал сбои соседних машин.
          3. Тонкие диски в момент расширения снижают производительность тома (хотя бы затраты на изменение метаданных, описывающих размер и расположение файлов машин). Причем заранее предсказать изменение быстродействия на конкретной производственной среде, опять же, сложно.
          Кстати, в Hyper-V у тонких дисков есть еще один огромный минус, но это мы узнаем в следующей серии. :)
            +1
            По-идее, в пятой версии vSphere с расширением тонких дисков на массивах с VAAI ситуация стала лучше благодаря использованию не классических SCSI блокировок, а механизма ATS. К тому же, в версии 4.x ESX(i) старался прогнозировать блокировки и лочить лун для одного хоста сразу на несколько его операций, тем самым снижая общее количество локов.

            Да и при правильном сайзинге хранилища разрастание одного-двух тонких дисков никак не должно выбирать всё свободное место. Реальные проблемы скорее можно получить при неожиданном массовом расширении дисков нескольких вм на одном датасторе.

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

            Как правильно заметил коллега, RDM почти не отличается по производительности от VMFS (по личному опыту разница составляет в среднем 5-7%). Использовать RDM есть смысл, только когда машине нужно отдать огромный, непрерывный объем дискового пространства (более 2 терабайт неразделяемых данных). Или для случаев, когда без RDM никак не обойтись (приложения, требующие прямого доступа к диску, например, некоторые варианты кластеров).
            0
            Хорошая статья, вот бы такую же про Hyper-V — мы на ней всю свою «тучу» строим).
              0
              Если уже строите, так может сами готовы такое по Hyper-V написать, нет?
                +1
                Я, наверное, не совсем корректно высказался, не строим, а уже год как эксплуатируем. Но сам написать такое не готов, т.к. тему производительности не копали еще, но точно могу сказать, что проблемы с ней есть и через некоторое время будем их решать. Если будет положительный опыт и время+желание поделиться, тогда обязательно это сделаю).
                  0
                  А какие проблемы, если не секрет? Как ни странно, в некотором смысле Hyper-V «сложнее», чем vSphere – чтобы добиться от нее максимальной отдачи, приходится прикладывать гораздо больше усилий.
                    0
                    Ну мы глубокую диагностику не проводили еще, а предварительно грешим на дисковую подсистему.
                      0
                      А можно чуть подробней? Как много физических хостов в кластере? Используете ли CSV (который Cluster Storage Volume)?
                        0
                        «Кластер» маленький (я тучка, тучка, тучка, а вовсе не медведьоблако) — три физических сервера. СХД еще нет, все на винтах физических хостов живет. Про CSV вот сейчас от Вас узнал).
                          0
                          Я так понимаю единого кластера в том виде, в каком он представлен в Hyper-V у вас пока еще нет за неимением общего хранилища. В этом случае на «проблемных» хостах стоит провести классический мониторинг нагрузки средствами ОС — нагрузка на ЦП, длинна очереди диска, длинна сетевой очереди. Из специфических для виртуальной среды параметров обратите внимание на время ожидания виртуальной машиной процессора — если оно будет слишком большим имеет смысл «развести» машины с большим количеством виртуальных процессорных ядер между разными хостами. Если соберетесь строить полноценный кластер, то можем помочь уже более конкретными советами — выбором хранилища, настройкой хостов под ваши нужды.
                            0
                            Да, Вы правы. За советы спасибо — помониторим данные показатели. Ну и буду иметь в виду у кого можно проконсультироваться.

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

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