Чао VMware ESXi, Здравей Proxmox cluster
Привет,
От 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
или повече инфо тук.
Принципът е следния :
- Логваме се през SSH към VMware сървъра и влизаме в datastore папката където се съхраняват нашите виртуални машини.
- Намираме виртуалната ни машина, чиито файл трябва да завършва на -flat.vmdk : alpha_4-flat.vmdk.
- Прехвърляме файла на proxmox сървъра и конвертираме.
- Създаваме нова виртуална машина през proxmox уеб интерфейса със същите параметри като старата.
- През SSH на proxmox сървъра влизаме в директория /var/lib/vz/images/100/ (100 е ID-то на виртуалната ни машина) и заместваме съществуващия файл с нашия конвертиран такъв.
- Стартираме новата ни виртуална машина и всичко трябва да е наред!
До тук всичко е точно, обаче аз се сблъсках с няколко трудности.
Всичките ми виртуални машини тръгнаха без проблем без една – първата ми такава ( личният ми мейл и 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 години никога не съм имал абсолютно никакъв проблем с нея!
Благодаря!