Гипервизоры VirtualBox/WorkStation/Fusion/ESXI

VMware – де-факто стандарт по виртуализации.  У меня есть виртуалка, которая крутится на гипервизоре VMware vSphere (а у кого то даже  гипервизор есть халявный ;)). Юзал так же VMware Workstation для работы с GNS3. В vSphere можно поднимать IOS-XE (Cisco Nexus 1000V).

У VMware в разы лучше эмуляция. То, что не идет на виртуалке VirtualBox - пойдет 100% на VMware.
VirtualBox

В контексте виртуализации снимок машины это огонь  – как просто и эффективно решить задачу по бекапу данных – регулярному или разовому.

Исторически так сложилось, что его использовал больше всего, хотя сейчас уже понятно, что зачастую то, что не идет на VirtualBox пойдет на VMware Workstation, Player, ESXi. Судя по инфе с сайта eve-ng virtual box не использует аппаратное ускорение, в отличии от Workstation.

VIRTUAL BOX DOESN'T SUPPORT HW ACCELERATION !!! AVOID USING IT !!!!

Сеть

Доступ с host машины по SSH на guest в VirtualBox

Варианты:

  • сделать интерфейс bridged (описание ниже)
  • сделать интерфейс “Виртуальный адаптер хоста” (тоже ниже)
  • сделать проброс порта через NAT (может не работать с антивирусом)

Типы интерфейсов

В VirtualBox очень богатая настройка сетевых интерфейсов виртуальной машины. Самих сетевых интерфейсов можно на виртуалке поднять до четырех, а их настройки очень гибки (отключение, смена MAC, смена типа, проброс портов).

Есть четыре типа интерфейсов (полностью о настройках и типах сетевых подключений тут):

NAT Network Adress Translation – тип по умолчанию. VM находится за “NAT” интерфейса машины-хоста.

Сетевой мост (Bridged) – VM создает мост между своим сетевым интерфейсом и интерфейсом хост-машины. Таким образом VM попадает в один broadcast-домен с интерфейсом хоста и может получить независимый от хост-машины адрес. К примеру, для того чтобы зайти на VM с хостовой машины я использовал именно этот тип (бинд на Ethernet интерфейс), а не проброс порта т.к. он самый простой – VM получило независимый от хост-машины адрес, а я далее, для удобства, прописал его в static-dhcp. У виртуалки при режиме Bridge свой MAC-адрес на порту. По сути режим представляет из себя Secondary адрес на сетевой карте хост-машины для виртуалки.

DGS-3620-28SC:admin#show fdb po 24
1    default   00-0F-FE-F1-D3-61 24    Dynamic Forward - 192.168.1.2     
1    default  08-00-27-31-A9-E7 24    Dynamic Forward - 192.168.1.100
Total Entries: 2

Виртуальный адаптер хоста (Host Only) – p2p связь между хост-машиной и гостевой, по сути это отдельная сетка между хостом и guest. Настроить интерфейс можно статикой (см. настройки в “Виртуальные сети хоста” или по DHCP.

Внутренняя сеть (Internal Network) – связь между хост-машиной и другими гостевыми.

Разное

  • Для использования общей папки расшаренной с основной системы для гостевой в гостевой нужно обратится к общей папке. В Windows (можно просто зайти в раздел Сеть в “Мой компьютер”) и Linux используются разные команды для монтировки общей сетевой папки:
net use x: \\vboxsvr\1 - windows
mount -t vboxsf 1 mount_point - UNIX
  • VM машина Virtual Box с одного компа переносится легко на другой. Просто копируешь всю папку с VM, включая файл .vbox с параметрами машины и .vdi с образом и файлами машины. Далее заходишь в VirtualBox на новом ПК, выбираешь Машина -> Добавить и указываешь .vbox файл.
  • Между разными гипервизорами VM можно переносить используя расширение OVA/OVF
OVF (Open Virtualization Format) — открытый стандарт для хранения и распространения виртуальных машин. Стандарт описывает открытый, переносимый, расширяемый формат для распространения образов виртуальных машин. Стандарт OVF не привязан к какой-либо реализации гипервизора или аппаратной архитектуре.

Пакет OVF состоит из нескольких файлов, расположенных, как правило, в одном каталоге. Пакет всегда содержит ровно один файл описания с расширением .ovf. Это XML-файл, описывающий упакованную виртуальную машину и содержащий метаданные пакета, такие, как название, аппаратные требования, ссылки на другие файлы в пакете и описания. Кроме файла описания, пакет OVF обычно содержит один или несколько образов диска и может включать файлы сертификатов и другие файлы.

Весь каталог может быть распространен в виде пакета Open Virtual Appliance (OVA), который представляет собой файл архива TAR с внутренним каталогом OVF.

Поддерживается в:

VirtualBox от Oracle;
VMware ESX, VMware Workstation от VMWare.
  • VirtualBox по умолчанию выделяет одно ядро на виртуалку. Можно изменить (отключаешь виртуалку, перетягиваешь “ползунок”, включаешь).
  • Resize (увеличение/уменьшение) размера виртуального диска vdi в VirtualBox на Windows раньше возможен был только через консоль, теперь легко делается через GUI (менеджер -> инструменты) просто перетягиванием бегунка для нужного vdi. Если при попытке resize выдает VBOX_E_FILE_ERROR (0x80BB0004) – проверить что места достаточно, перезагрузить ПК.
  • Если выдает VERR_VD_IMAGE_READ_ONLY – сначала перезагрузить ПК, попробовать запустить VB от имени администратора, потом проверить отсутствие галки “только чтение” и только потом переустанавливать/шаманить с правами.
Workstation/Fusion

Пример Export’а машины в Workstation Player через командную утилиту OVFTool.

C:\Program Files (x86)\VMware\VMware Player\OVFTool>ovftool "D:\New VMs\Virtual Machines\dev.vmx" "D:\dev.ovf"
Vmware fusion

Аналог бесплатного VMware Workstation для MAC OS. Во многих случаях значительно производительнее VirtualBox т.к. поддерживает nested virtualization (например, нужно для GNS3/EVE-NG).

В случае проблемы Could not open /dev/vmmon: Broken pipe” поможет разрешение на приложения VMware в политиках безопасности.

https://communities.vmware.com/thread/600496
vSphere & ESXI

Из опыта с vSphere/ESXI:

  • ESXi 5.5.0 ставится через unetbootin. С Rufus могут быть проблемы из-за файла menu.c
  • ESXi 6.7.0 требует сложный пароль при установке вручную (при авто-развертывании не обязательно)
  • ESXi если в management после установки нет ethernet интерфейсов – возможно ESXI не имеет драйверов на них, может помочь апгрейд (помогало в случае 5.5 -> 6.7).
  • ESXi 5.5 (на базе flash) и 6.7 удобный WEB, vSphere клиент не нужен, да и он deprecated (Legacy C# Client)
  • Distributed Switch вместо обычного vSwitch может пригодится при организации связи между несколькими eSXI гипервизоров в рамках одного vSphere.
  • При импорте ova на ESXi 5.5 через vSphere Client 5.5 можно столкнуться с проблемой того, что vSphere Client 5.5 не поддерживает SHA256 hash в Manifest. Нужно конвертировать, используя ovftool. В теории можно так же WEB c VMware Client Integration Plug-in, но по факту сам плагин у меня не заработал в Chrome и использовал ovftool.
Fix OVA file importing error on VMware: "The OVF package is invalid and cannot be deployed"
The following manifest file entry (line) is invalid: SHA256(filename-ovf)=sha256-hash-string
C:\Program Files\VMware\VMware OVF Tool> .\ovftool.exe --shaAlgorithm=SHA1 D:\old-sha255.ova D:\new-sha1.ova

Opening OVA source: D:\old-sha255.ova
The manifest validates
Opening OVA target: D:\new-sha1.ova
Writing OVA package: D:\new-sha1.ova
Transfer Completed
Completed successfully
  • Для экспорта VM в случае глюков gui интерфейсов (сталкивался на WEB 6.7)/необходимости автоматизации можно скачать vmdk прямо с datastore или использовать CLI OVFTool и Export-VApp.
OVFTool - Example of how to use OVFTool can be found here: https://www.michellelaverick.com/2018/04/using-ovftool/

Export-VApp - vSphere PowerCLI Cmdlets Reference https://www.vmware.com/support/developer/PowerCLI/PowerCLI51/html/Export-VApp.html
  • Разворачивание VM с использованием vmdk + vmx – загружаем в datastore оба файла, ПКМ по VMX -> Register VM. Если VMX файла нет или в таком режиме разворачивается с ошибками и не хотим мучаться с конвертерами (vmkfstools)  – можно примонтировать диск при создании VM.
    https://serverfault.com/questions/579866/deploying-vm-from-vmdk-vmx-file
  • ESXi может не прокидывать passthrough из-за некорректных настроек в BIOS в контексте виртуализации. Самое простое для начала – сбрасываем в default.
Task Update Passthru Config
Key haTask-ha-host-vim.host.PciPassthruSystem.updatePassthruConfig-882758993
Description Update PCI passthrough device configuration
State Failed - An error occurred during host configuration.
  • VM может не запускаться из-за кривых настроек (куча разных причин). Например:
    • Нужно memory reservations поправить в соответствии с размером памяти.
Failed - Invalid memory setting: memory reservation (sched.mem.min) should be equal to memsize(5192).
    • кривых настроек дисков – может помочь смена scsi на IDE
Failed - Unsupported or invalid disk type 2 for 'scsi0:0'. Ensure that the disk has been imported.

I solved the issue by changing the Virtual Device Node from SCSI controller 0 to IDE controller 0 at the hard disk settings of the virtual machine.
  • CTRL+ALT снять захват из Console (если забыть можно долго мучатся)
  • Сброс evaluation license делается по SSH (включаем по консоли на hypervisor) через подмену старого файла шаблоном.
rm -r /etc/vmware/license.cfg cp /etc/vmware/.#license.cfg /etc/vmware/license.cfg /etc/init.d/vpxa restart
  • в vSphere очень просто сделать snapshot (backup) текущей системы, главное чтобы были права
  • Если install vmware tools не активно (серое) – отключаем CD/flopy
    Had the same issue. Like the answer posted before, I had to shutdown the machine and change both the floppy drive and cd drives to "Auto detect" and then power on the machine.
  • в vSphere можно посмотреть загрузку CPU/memory/сети за день/неделю/месяц/год/кастом
• количество пакетов среднее макс
• оперативная память среднее макс
• жесткий диск
• CPU среднее макс
• сеть среднее макс
  • периодически в vSphere появляются сообщения о миграции виртуальной машины (VM migration) из-за изменения потребления ресурсов (DRS – Distributed Resource Scheduler):
    13.12.2015 12:23:21 <Server_name> info Alarm 'Virtual machine total disk latency' changed from Gray to Green
    13.12.2015 12:23:21 <Server_name> info Alarm Alarm 'Virtual machine memory usage' changed from Gray to Green
    13.12.2015 12:23:21 <Server_name> info Alarm Alarm 'Virtual machine CPU usage' changed from Gray to Green
    13.12.2015 12:22:28 <Server_name> info Resource allocation changed Migrate virtual machine

Leave a Reply