Чао VMware ESXi, Здравей Proxmox cluster

vmware esxi logo

Привет,

От 2012та година насам имам един Intel сървър с VMware ESXi 4.1. От много време насам мисля как най-лесно и безболезнено мога да мигрирам виртуалните машини от него към Proxmox и да го преинсталирам с последната версия на Proxmox 4.2.

Оказа се, че конвертирането от VMware (vmdk) към Proxmox (qcow2 или raw) не е кой знае колко сложно. Общо взето се използва командата qemu-img convert.

Ето и пример :

qemu-img convert alpha_4-flat.vmdk -O qcow2 alpha.qcow2

или повече инфо тук.

Принципът е следния :

  1. Логваме се през SSH към VMware сървъра и влизаме в datastore папката където се съхраняват нашите виртуални машини.
  2. Намираме виртуалната ни машина, чиито файл трябва да завършва на -flat.vmdk : alpha_4-flat.vmdk.
  3. Прехвърляме файла на proxmox сървъра и конвертираме.
  4. Създаваме нова виртуална машина през proxmox уеб интерфейса със същите параметри като старата.
  5. През SSH на proxmox сървъра влизаме в директория /var/lib/vz/images/100/ (100 е ID-то на виртуалната ни машина) и заместваме съществуващия файл с нашия конвертиран такъв.
  6. Стартираме новата ни виртуална машина и всичко трябва да е наред!
Чао VMware ESXi, Здравей Proxmox cluster

До тук всичко е точно, обаче аз се сблъсках с няколко трудности.

Всичките ми виртуални машини тръгнаха без проблем без една — първата ми такава ( личният ми мейл и nagios сървър).

При нея се оказа, че файла който се беше във VMware datastore директорията беше с име : -delta.vmdk . В началото не му обърнах внимание и пробвах да го конвертирам като другите.

Тук забелязох, че самото конвертиране става изключително бавно — 120gb виртуална машина се конвертираха за 20 минути — тук отне около 3 часа за 70gb виртуалка.

Също така, след опит за стартиране, даваше грешки и нищо не тръгваше.

Разковничето беше точно в найменованието alpha-000001-delta.vmdk : това бил snapshot, а съпътстващия към него alpha-000001.vmdk беше нещо като конфигурационен файл със следната информация :

# Disk DescriptorFile
version=1
encoding="UTF-8"
CID=267fc8aa
parentCID=63ba628c
isNativeSnapshot="no"
createType="vmfsSparse"
parentFileNameHint="alpha.vmdk"
# Extent description
RW 146800640 VMFSSPARSE "alpha-000001-delta.vmdk"
# The Disk Data Base
#DDB
ddb.longContentID = "d96475000b5c9ee92ef952f8267fc8aa"
Тук интересното беше точно : createType="vmfsSparse" .
При останалите виртуални машини при които този проблем не съществуваше, за createType пишеше : createType="vmfs".
Оказа се, че навремето когато още съм си играл да тествам ESXi съм направил главния дял на сървъра ми като snapshot и съответно нямаше как да го конвертирам към qcow2 за да го прехвърля на proxmox-a.
Аз обаче открих начин - лесен, бърз и простичък... :) чрез любимата ми команда - dd!
Създадох си още един дял голям колкото първия ми проблемен.
Стартирах виртуалката на ESXi сървъра от едно debian-netinstall.iso. Пуснах rescue mode, и се логнах в root терминал-а. След това клонирах целия хард диск :
dd if=/dev/sda of=/dev/sde bs=64K conv=noerror,sync
като тук е много важно да не се обърка кой от кой да се клонира, че после става лоша работа! :)
След това прехвърлих новият vmdk файл на proxmox сървъра и го конвертирах. Този път всичко мина стандартно бързо, и след като приключи конвертирането, го сложих в директорията на сървъра и пуснах виртуалката - воала! Всичко тръгна!!

Мнението ми за proxmox:

Като цяло на доста места поддържам proxmox сървъри, и смея да твърдя че са доста стабилни! Това което следва, е да конфигурирам останалите 2 физически машини в един общ cluster, за да мога да използвам функцията му HA - High availability.
Proxmox е съвременен, стабилен и безплатен вариянт за облчна инфраструктура (cloud).

Мнението ми за VMware ESXi:

Много стабилно! Обаче, при безплатните версии яките неща ги няма, а ако искаш да си ги закупиш, трябва да се изръсиш с МНОГО пари!
И за накрая, искам да благодаря на VMware за наистина много стабилната система! За 4 години никога не съм имал абсолютно никакъв проблем с нея!
Благодаря!