Довольно часто на семинарах или при аудите существующей у заказчика виртуальной среды мне приходилось слышать упреки: «Виртуализация тормозит», «Мы попробовали перевести сервер в виртуальную среду, и он встал», «Виртуальные серверы работают медленнее физических». При этом девять из десяти таких проблем с «торможением» виртуальных серверов решались простой оптимизацией устройств в составе виртуальной машины.
Большое количество вопросов, как повысить быстродействие виртуальной среды, побудило меня к написанию небольшого 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 FilesCommon FilesVMwaredriverswddm_video.
Алексей Хакимов, старший системный инженер, Digital Design
Автор: Digital_Design