ПРЕОБРАЗОВАТЬ ФИЗИЧЕСКИЙ СЕРВЕР LINUX В ВИРТУАЛЬНУЮ МАШИНУ VMWARE

Thank you for reading this post, don't forget to subscribe!

про­цесс изве­стен как «пре­об­ра­зо­ва­ние физи­че­ско­го в вир­ту­аль­ное», и сокра­щен­но назы­ва­ет­ся P2VVMware явля­ет­ся одним из лиде­ров в IT-мире в предо­став­ле­нии реше­ний для вир­ту­а­ли­за­ции, а Linux - одной из самых надеж­ных опе­ра­ци­он­ных систем, рабо­та­ю­щих на сер­ве­рах. Эта ста­тья рас­ска­зы­ва­ет, как пре­об­ра­зо­вать физи­че­ский сер­вер Linux в вир­ту­аль­ную маши­ну, рабо­та­ю­щую на хосте ESXi в vSphere. На при­ме­ре Ubuntu 18 рас­смат­ри­ва­ют­ся два раз­лич­ных мето­да пре­об­ра­зо­ва­ния VMware P2V Linux.

МЕТОД 1 - ИСПОЛЬЗОВАНИЕ ПРЕОБРАЗОВАТЕЛЯ VMWARE VCENTER

VMware vCenter Converter Single - это бес­плат­ное при­ло­же­ние, кото­рое может быть уста­нов­ле­но в Windows для пре­об­ра­зо­ва­ния физи­че­ских машин Windows, физи­че­ских машин Linux, вир­ту­аль­ных машин Hyper-V, вир­ту­аль­ных машин VMware и вир­ту­аль­ных машин, рабо­та­ю­щих под управ­ле­ни­ем Red Hat KVM или RHEL XEN. Под­дер­жи­ва­е­мые типы назна­че­ния: вир­ту­аль­ные маши­ны для неуправ­ля­е­мо­го хоста ESXi; вир­ту­аль­ные маши­ны для хоста ESXi, управ­ля­е­мые сер­ве­ром vCenter; вир­ту­аль­ные маши­ны для рабо­чих стан­ций VMware; вир­ту­аль­ные маши­ны для VMware Fusion.

ПРИНЦИП РАБОТЫ

При пре­об­ра­зо­ва­нии вклю­чен­ной физи­че­ской маши­ны Linux в вир­ту­аль­ную маши­ну фор­ма­та VMware ESXi, VMware vCenter Converter Single не уста­нав­ли­ва­ет про­грамм­но­го аген­та на исход­ную маши­ну Linux (в отли­чие от машин Windows). Про­цесс пре­об­ра­зо­ва­ния мож­но раз­де­лить на два основ­ных этапа.

1 этап. VMware Converter под­клю­ча­ет­ся к исход­ной машине Linux через SSH и поз­во­ля­ет выби­рать ком­по­нен­ты для копи­ро­ва­ния, такие как вир­ту­аль­ные дис­ки и их раз­де­лы. В соот­вет­ствии с выбран­ны­ми ком­по­нен­та­ми исход­ной физи­че­ской маши­ны Linux и настро­ен­ны­ми пара­мет­ра­ми целе­вой вир­ту­аль­ной маши­ны, пре­об­ра­зо­ва­тель создаст вспо­мо­га­тель­ную вир­ту­аль­ную машину.

2 этап. Когда выбра­ны все необ­хо­ди­мые ком­по­нен­ты и настро­е­ны сете­вые пара­мет­ры вспо­мо­га­тель­ной вир­ту­аль­ной маши­ны, VMware Converter созда­ет вспо­мо­га­тель­ную вир­ту­аль­ную маши­ну на хосте назна­че­ния ESXi и хра­ни­ли­щах дан­ных. Затем пре­об­ра­зо­ва­тель запус­ка­ет вспо­мо­га­тель­ную вир­ту­аль­ную маши­ну, кото­рая загру­жа­ет­ся из обра­за ISO вспо­мо­га­тель­ной вир­ту­аль­ной маши­ны, и копи­ру­ет все необ­хо­ди­мые дан­ные с исход­ной маши­ны Linux на целе­вую вир­ту­аль­ную маши­ну, кото­рая име­ет ста­тус вспо­мо­га­тель­ной, до завер­ше­ния про­цес­са преобразования.

Вспо­мо­га­тель­ная вир­ту­аль­ная маши­на пере­ме­ща­ет­ся из обра­за ISO на базе Linux, хра­ня­ще­го­ся в фай­ло­вой систе­ме ком­пью­те­ра Windows, на кото­ром уста­нов­лен кон­вер­тер. Место­по­ло­же­ние фай­лов converter-helper-vm.iso и converter-helper-vm-x64.iso исполь­зу­ет­ся для загруз­ки помощ­ни­ка VM на хосте ESXi - C:\Program Files (x86) \VMware\VMware vCenter Converter Standalone\ по умолчанию.

После копи­ро­ва­ния дан­ных в целе­вую вир­ту­аль­ную маши­ну она может быть пере­на­стро­е­на с помо­щью VMware Converter, если для назна­чен­ных пара­мет­ров пре­об­ра­зо­ва­ния выбра­ны соот­вет­ству­ю­щие данные.

СИСТЕМНЫЕ ТРЕБОВАНИЯ

Для пре­об­ра­зо­ва­ния VMware P2V Linux с помо­щью кон­вер­те­ра VMware необ­хо­ди­мо соблю­дать сле­ду­ю­щие требования:

  • Физи­че­ская маши­на под управ­ле­ни­ем Linux долж­на быть включена.
  • Хост ESXi дол­жен быть вклю­чен и досту­пен по сети. vCenter Converter Standalone client и сер­вер долж­ны иметь воз­мож­ность досту­па друг к дру­гу. Пор­ты TCP 22443902 исполь­зу­ют­ся по умол­ча­нию для сете­вой связи.
  • Для пре­об­ра­зо­ва­ния необ­хо­ди­мо исполь­зо­вать загруз­чик GRUB на физи­че­ском ком­пью­те­ре Linux. LILO не поддерживается.
  • Опти­че­ские дис­ки долж­ны быть извле­че­ны из дис­ко­во­да опти­че­ских дисков.
  • Сер­вер SSH дол­жен быть настро­ен на физи­че­ском ком­пью­те­ре Linux (исход­ном компьютере).

При­ме­ча­ние: Сер­вер SSH мож­но уста­но­вить на Ubuntu Linux с помо­щью команды:

Уда­лен­ный доступ для поль­зо­ва­те­ля с паро­лем через SSH мож­но настро­ить путем редак­ти­ро­ва­ния sshd_config файла:

Создай­те или рас­ком­мен­ти­руй­те строку:

Сохра­не­ни­те файл конфигурации

Пере­за­пу­сти­те про­цесс sshd (сер­вис)

service sshd restart

ПРЕОБРАЗОВАНИЕ P2V VMWARE CONVERTER LINUX: ПОШАГОВОЕ ВЫПОЛНЕНИЕ

Для пре­об­ра­зо­ва­ния P2V Linux необ­хо­ди­мо выпол­нить сле­ду­ю­щие шаги:

  1. Загру­зить VMware vCenter Converter Standalone с офи­ци­аль­но­го веб-сайта.
  2. Уста­но­вить кон­вер­тер на ком­пью­тер Windows, кото­рый может под­клю­чать­ся к ком­пью­те­ру Linux по сети. Про­цесс уста­нов­ки прост - запу­сти­те файл EXE и сле­дуй­те реко­мен­да­ци­ям масте­ра уста­нов­ки. В дан­ном при­ме­ре исполь­зу­ет­ся VMware Converter 6.2.
  3. Запу­стить VMware vCenter Converter Standalone.
  4. Нажать Convert machine.
  5. Source System. Выбе­ри­те исход­ную систе­му в масте­ре пре­об­ра­зо­ва­ния машин. Выбе­ри­те Powered on и Remote Linux machine. Ука­жи­те IP-адрес, имя поль­зо­ва­те­ля и пароль, исполь­зу­е­мые на уда­лен­ном ком­пью­те­ре Linux. Помни­те, что сер­вер SSH дол­жен быть настро­ен на ком­пью­те­ре Linux, и бранд­мау­эр не дол­жен бло­ки­ро­вать под­клю­че­ния SSH на этом шаге. В про­тив­ном слу­чае появит­ся сооб­ще­ние об ошиб­ке "Не уда­ет­ся выпол­нить SSH на исход­ном ком­пью­те­ре" (Unable to SSH to the source machine. Check if a firewall is blocking access to the SSH daemon on the source machine). Про­верь­те, бло­ки­ру­ет ли бранд­мау­эр доступ к про­цес­со­ру SSH на исход­ном ком­пью­те­ре. Ука­зан­ный поль­зо­ва­тель дол­жен иметь воз­мож­ность вхо­да в кон­соль Linux через SSH с помо­щью ком­би­на­ции логин/пароля или фай­ла закры­то­го клю­ча. В этом при­ме­ре исполь­зу­ет­ся поль­зо­ва­тель user1 с паролем. 
  6. Нажми­те View source details, что­бы про­смот­реть све­де­ния об уда­лен­ной машине Linux, кото­рую необ­хо­ди­мо пре­об­ра­зо­вать в вир­ту­аль­ную маши­ну VMware. Нажми­те кноп­ку Далее (Next), что­бы про­дол­жить и перей­ти к сле­ду­ю­ще­му шагу. Если появит­ся пре­ду­пре­жде­ние о без­опас­но­сти (Remote host thumbprint warning), нажми­те кноп­ку Да (Yes) для под­клю­че­ния. Ино­гда кон­вер­тер не может выпол­нить коман­ды на уда­лен­ном ком­пью­те­ре Linux и пока­зы­ва­ет пре­ду­пре­жде­ние: "Не уда­ет­ся выпол­нить запрос к исход­но­му ком­пью­те­ру Linux. Убе­ди­тесь, что мож­но запу­стить sudo без вво­да паро­ля при вхо­де на исход­ный ком­пью­тер через SSH как your_username". (Unable to query the live Linux source machine. Make sure that you can run sudo without entering a password when logged in to the source machine over SSH as your_username.) В этом слу­чае необ­хо­ди­мо отре­дак­ти­ро­вать файл /etc/sudoers и сде­лать так, что­бы поль­зо­ва­тель мог запус­кать sudo без вво­да паро­ля. Вме­сто руч­но­го редак­ти­ро­ва­ния /etc/sudoers исполь­зуй­те сле­ду­ю­щую команду:

    Добавь­те стро­ку в конец фай­ла сле­ду­ю­щим образом:

    Где user1 - имя наше­го поль­зо­ва­те­ля. Необ­хо­ди­мо вве­сти ваше имя поль­зо­ва­те­ля. Нажми­те Ctrl+X для выхо­да и Y (да) для сохра­не­ния изме­не­ний в файле.
  7. Destination System. Выбе­ри­те систе­му назна­че­ния - по умол­ча­нию тип назна­че­ния опре­де­ля­ет­ся как вир­ту­аль­ная маши­на VMware Infrastructure при пре­об­ра­зо­ва­нии физи­че­ской маши­ны Linux, и это един­ствен­ный доступ­ный вари­ант для пре­об­ра­зо­ва­ния физи­че­ской маши­ны Linux в вир­ту­аль­ную маши­ну VMware. Это озна­ча­ет, что вир­ту­аль­ная маши­на назна­че­ния будет рабо­тать на сер­ве­ре ESXi или в кла­сте­ре VMware vSphere. Если хост ESXi, на кото­ром тре­бу­ет­ся запу­стить пре­об­ра­зо­ван­ную вир­ту­аль­ную маши­ну, управ­ля­ет­ся vCenter, выбе­ри­те IP-адрес сер­ве­ра vCenter и опре­де­ли­те учет­ные дан­ные адми­ни­стра­то­ра vCenter или дру­го­го поль­зо­ва­те­ля, име­ю­ще­го пра­ва адми­ни­стра­то­ра для управ­ле­ния сер­ве­ром vCenter.

    При­ме­ча­ние: Невоз­мож­но пре­об­ра­зо­вать физи­че­скую маши­ну Linux в вир­ту­аль­ную маши­ну фор­ма­та VMware Workstation с помо­щью VMware vCenter Converter Standalone.

    При появ­ле­нии пре­ду­пре­жде­ний о лицен­зи­ро­ва­нии мож­но нажать кноп­ку Игно­ри­ро­вать (Ignore) для продолжения.

  8. Destination Virtual Machine. Выбе­ри­те дата­центр для хра­не­ния вир­ту­аль­ной маши­ны и вве­ди­те имя целе­вой вир­ту­аль­ной маши­ны, напри­мер Ubuntu18-04-vm.
  9. Destination Location. Выбе­ри­те узел ESXi для запус­ка вир­ту­аль­ной маши­ны и хра­ни­ли­ща дан­ных для фай­лов вир­ту­аль­ных машин. Мож­но так­же выбрать вер­сию вир­ту­аль­ной маши­ны. По умол­ча­нию выбра­на самая высо­кая под­дер­жи­ва­е­мая вер­сия вир­ту­аль­ной маши­ны. В дан­ном слу­чае это вер­сия 13, пото­му что исполь­зу­ет­ся ESXi 6.5.
  10. Options. На этом шаге мож­но изме­нить раз­лич­ные пара­мет­ры пре­об­ра­зо­ва­ния.Data to copy. Мож­но выбрать толь­ко поль­зо­ва­тель­ские или все дис­ки для копи­ро­ва­ния и выбрать тип выде­ле­ния ресур­сов вир­ту­аль­но­го дис­ка ("тон­кое" или "тол­стое" выде­ле­ние ресур­сов). Кро­ме того, каж­дый вир­ту­аль­ный диск мож­но хра­нить в дру­гом хра­ни­ли­ще дан­ных. Уста­но­ви­те фла­жок "Создать опти­ми­зи­ро­ван­ный макет раз­де­ла" (Create optimized partition layout). Этот пара­метр исполь­зу­ет­ся для опти­ми­за­ции вырав­ни­ва­ния раз­де­лов дис­ка.Devices. Уста­но­ви­те необ­хо­ди­мый объ­ем памя­ти для целе­вой вир­ту­аль­ной маши­ны во вклад­ке Память (Memory). Уста­но­ви­те кон­трол­лер дис­ка, коли­че­ство про­цес­со­ров и ядра про­цес­со­ров во вклад­ке Дру­гое (Other).

    Networks. Выбе­ри­те коли­че­ство вир­ту­аль­ных сете­вых адап­те­ров для под­клю­че­ния к вир­ту­аль­ной машине. Затем выбе­ри­те вир­ту­аль­ную сеть, к кото­рой дол­жен быть под­клю­чен каж­дый сете­вой адап­тер, тип сете­во­го кон­трол­ле­ра и, при необ­хо­ди­мо­сти, уста­но­ви­те фла­жок Connect at power-on.

    Advanced options. Пара­мет­ры пост­кон­вер­сии нахо­дят­ся в этом раз­де­ле. В нашем слу­чае для пре­об­ра­зо­ва­ния физи­че­ско­го сер­ве­ра Linux в вир­ту­аль­ную маши­ну VMware доступ­на толь­ко «Опция пере­на­строй­ки целе­вой вир­ту­аль­ной маши­ны» (Reconfigure destination virtual machine option). Этот пара­метр исполь­зу­ет­ся для настрой­ки загруз­чи­ка, обнов­ле­ния драй­ве­ров, исполь­зу­е­мых опе­ра­ци­он­ной систе­мой, для опти­ми­за­ции рабо­ты вир­ту­аль­ной маши­ны в вир­ту­аль­ной сре­де VMware (с соот­вет­ству­ю­щим вир­ту­аль­ным оборудованием).

    Helper VM network.В про­цес­се пре­об­ра­зо­ва­ния сер­ве­ра Linux в вир­ту­аль­ную маши­ну VMware vCenter Converter созда­ет вспо­мо­га­тель­ную вир­ту­аль­ную маши­ну на целе­вом хосте/хранилище дан­ных. Вспо­мо­га­тель­ная вир­ту­аль­ная маши­на долж­на иметь доступ через сеть к исход­ной физи­че­ской машине под управ­ле­ни­ем Linux, что­бы кло­ни­ро­вать все фай­лы исход­ной маши­ны. В этом раз­де­ле мож­но настро­ить IP-адрес, мас­ку сети, шлюз и DNS-сер­ве­ры, исполь­зу­е­мые для сете­во­го под­клю­че­ния вспо­мо­га­тель­ной вир­ту­аль­ной машины.

  11. Далее про­верь­те все настрой­ки пре­об­ра­зо­ва­ния P2V Linux и, если все пра­виль­но, нажми­те кноп­ку Гото­во (Finish), что­бы начать про­цесс преобразования.
  12. Дожди­тесь завер­ше­ния про­цес­са пре­об­ра­зо­ва­ния. Про­дол­жи­тель­ность пре­об­ра­зо­ва­ния зави­сит от объ­е­ма дан­ных, хра­ня­щих­ся на дис­ках исход­но­го ком­пью­те­ра Linux. Если после завер­ше­ния пре­об­ра­зо­ва­ния в VMware vCenter Converter отоб­ра­жа­ет­ся состо­я­ние Завер­ше­но (Completed), мож­но запу­стить целе­вую вир­ту­аль­ную маши­ну Linux в интер­фей­се VMware vSphere ClientVMware Host Client или VMware Workstation.Одна­ко ино­гда про­цесс пре­об­ра­зо­ва­ния P2V маши­ны Linux может завер­шить­ся на 97% с ошибкой:

    1. Эта про­бле­ма может воз­ник­нуть из-за непра­виль­ной настрой­ки загруз­чи­ка GRUB с помо­щью VMware vCenter Converter на целе­вой вир­ту­аль­ной машине. При попыт­ке запу­стить вир­ту­аль­ную маши­ну Linux после пре­об­ра­зо­ва­ния появит­ся сооб­ще­ние об ошиб­ке: «Ошиб­ка при загруз­ке опе­ра­ци­он­ной систе­мы» (Error loading operating system).

    КАК РЕШИТЬ ЭТУ ПРОБЛЕМУ С VMWARE CONVERTER LINUX?

    1. Вам нуж­но загру­зить­ся с уста­но­воч­но­го носи­те­ля Ubuntu и исполь­зо­вать его как ава­рий­ный диск. Изме­ни­те пара­мет­ры вир­ту­аль­ной маши­ны с помо­щью VMware vSphere Client, VMware Host Client или рабо­чей стан­ции VMware "ВМ > Изме­нить пара­мет­ры" (VM > Edit Settings).
    2. В Настрой­ках обо­ру­до­ва­ния (Hardware settings) выбе­ри­те дис­ко­вод CD/DVD вир­ту­аль­ной маши­ны и уста­но­воч­ный носи­тель Ubuntu. В нашем при­ме­ре исполь­зу­ет­ся уста­но­воч­ный образ ISO-дис­ка Ubuntu 18.04, кото­рый рас­по­ло­жен в хра­ни­ли­ще дан­ных и досту­пен хосту ESXi, на кото­ром нахо­дит­ся вир­ту­аль­ная маши­на Linux после пре­об­ра­зо­ва­ния. Не забудь­те уста­но­вить фла­жок Connect at Power On.

    3. После запус­ка вир­ту­аль­ной маши­ны нажми­те F2 для вхо­да в про­грам­му BIOS Setup. Выбе­ри­те ком­пакт-диск (CD-ROM) в каче­стве пер­во­го загру­зоч­но­го устрой­ства в раз­де­ле Boot. Затем выбе­ри­те "Exit > Exit Saving Changes".

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

4. После загруз­ки с уста­но­воч­но­го носи­те­ля Ubuntu выбе­ри­те Try Ubuntu на экране При­вет­ствия (Welcome). Дожди­тесь загруз­ки Ubuntu с DVD Live, и уви­ди­те рабо­чий стол Ubuntu.

5. Открой­те кон­соль Ubuntu и полу­чи­те пра­ва поль­зо­ва­те­ля root.

6. Про­смот­ри­те доступ­ные диски.

В нашем при­ме­ре про­стей­шая схе­ма раз­би­е­ния дис­ка исполь­зу­ет­ся для Ubuntu, уста­нов­лен­но­го на физи­че­ском ком­пью­те­ре. Linux уста­нав­ли­ва­ет­ся на один раз­дел /dev/sda1, пред­став­ля­ю­щий весь диск. Необ­хо­ди­мо опре­де­лить, какой раз­дел исполь­зу­ет­ся для загруз­ки Linux и содер­жит ката­лог /boot/ или под­клю­чен к ката­ло­гу /boot/.

7. Вы може­те най­ти раз­дел, исполь­зу­е­мый для выбо­роч­ной загруз­ки Linux:

 

Теперь мож­но уви­деть, какой раз­дел исполь­зу­ет­ся для загруз­ки Linux (флаг загруз­ки при­сут­ству­ет в этой стро­ке). После это­го мож­но оста­но­вить выборку.

При­ме­ча­ние: Если вы исполь­зу­е­те схе­му раз­би­е­ния вруч­ную и отдель­ный загру­зоч­ный раз­дел для загруз­ки Linux, ваш спи­сок раз­де­лов будет дру­гим, но вы так­же долж­ны най­ти раз­дел с фла­гом загрузки..

8. Создай­те ката­лог на дис­ке RAM и мон­ти­руй­те раз­де­лы, исполь­зу­е­мые Ubuntu. Если Ubuntu уста­нов­лен на одном раз­де­ле, исполь­зуй­те сле­ду­ю­щие команды:

При­ме­ча­ние: Если Ubuntu исполь­зу­ет несколь­ко раз­де­лов, создай­те отдель­ные ката­ло­ги и мон­ти­руй­те каж­дый раз­дел в соот­вет­ству­ю­щий каталог:

и так далее.

9. Уста­но­ви­те тек­сто­вый редак­тор Vim.

10. Про­верь­те иден­ти­фи­ка­тор дис­ка для каж­до­го раз­де­ла. Необ­хо­ди­мо знать UUID раз­де­ла, содер­жа­ще­го ката­лог /boot (или раз­де­ла, под­клю­чен­но­го к ката­ло­гу /boot). Запом­ни­те этот новый UUID. В нашем слу­чае это раз­дел /dev/sda1.

blkid

11. Изме­ни­те файл /etc/fstab на вир­ту­аль­ном дис­ке, исполь­зу­е­мом уста­нов­лен­ным экзем­пля­ром Ubuntu. Файл /etc/fstab нахо­дит­ся во вре­мен­ном ката­ло­ге, в кото­рый мы уста­но­ви­ли кор­не­вую фай­ло­вую систе­му Ubuntu /mnt/ubuntu18/etc/fstab.

vim /mnt/ubuntu18/etc/fstab

Изме­ни­те UUID каж­до­го раз­де­ла в /etc/fstab, что­бы сде­лать воз­мож­ным авто­ма­ти­че­ское мон­ти­ро­ва­ние раз­де­ла при загруз­ке Linux. Изме­ни­те ста­рые зна­че­ния UUID, исполь­зу­е­мые для дис­ков на физи­че­ской машине Linux, на новые зна­че­ния UUID, исполь­зу­е­мые на новой вир­ту­аль­ной машине. В теку­щем при­ме­ре исполь­зу­ет­ся толь­ко один раз­дел /dev/sda1, кото­рый дол­жен быть под­клю­чен к кор­не­во­му ката­ло­гу /. Сле­до­ва­тель­но, мы долж­ны изме­нить 2516177b-e9a9-4502-bdae-a3626fe3ab0a на dd05b02c-8772-4ec2-9340-2473ec8c2f8b. Сохра­ни­те изме­не­ния и вый­ди­те из vim.

При­ме­ча­ние: Если в Linux исполь­зу­ет­ся несколь­ко раз­де­лов, может потре­бо­вать­ся изме­нить зна­че­ние UUID для дру­гих раз­де­лов или про­сто опре­де­лить их как sda2sda3sdb1sdb2 и т.д., что­бы сде­лать воз­мож­ным уста­нов­ку этих раз­де­лов авто­ма­ти­че­ски при загруз­ке Linux.

12 . Изме­ни­те кон­фи­гу­ра­ци­он­ный файл GRUB, кото­рый обыч­но нахо­дит­ся в ката­ло­ге /boot/grub/. Запом­ни­те вре­мен­ный ката­лог, в кото­рый был под­клю­чен раз­дел, содер­жа­щий фай­лы ката­ло­га /boot/. После пре­об­ра­зо­ва­ния физи­че­ской маши­ны Linux в вир­ту­аль­ную маши­ну UUID дис­ка был изме­нен на целе­вой вир­ту­аль­ной машине, и по этой при­чине загруз­чик (GRUB) не может загру­зить­ся из необ­хо­ди­мо­го раз­де­ла. В нашем слу­чае, мы редак­ти­ру­ем файл grub.cfg с помо­щью команды:

13. Заме­ни­те ста­рый UUID новым. UUID появ­ля­ет­ся несколь­ко раз в фай­ле кон­фи­гу­ра­ции, и редак­ти­ро­вать это зна­че­ние вруч­ную неудоб­но. Тек­сто­вый редак­тор vim поз­во­ля­ет выпол­нять авто­ма­ти­че­скую заме­ну исход­но­го тек­ста целе­вым тек­стом с помо­щью команды:

Где %s озна­ча­ет, что все выде­лен­ные зна­че­ния во всем тек­сто­вом фай­ле долж­ны быть заме­не­ны. В дан­ном при­ме­ре исполь­зу­ет­ся команда:

14 Запи­ши­те изме­не­ния в файл толь­ко для чте­ния и вый­ди­те из vim.

При­ме­ча­ние: Если в Linux исполь­зу­ет­ся несколь­ко раз­де­лов, заме­ни­те зна­че­ния UUID всех тех раз­де­лов, чьи UUID упо­ми­на­ют­ся в фай­ле grub.cfg

15 Теперь необ­хо­ди­мо пере­уста­но­вить GRUB на загруз­чик в тот же ката­лог, где он был уста­нов­лен ранее. В нашем при­ме­ре GRUB был уста­нов­лен в ката­ло­ге /boot, а ката­лог /boot теперь досту­пен вре­мен­но как /mnt/ubuntu18/boot. Для загруз­ки Ubuntu исполь­зу­ет­ся диск /dev/sda.

16 Уда­ли­те все раз­де­лы, под­клю­чен­ные до:

17 Завер­ши­те рабо­ту вир­ту­аль­ной машины

18 Изме­ни­те настрой­ки на загруз­ку с вир­ту­аль­но­го жест­ко­го дис­ка, а не с ком­пакт-дис­ка в настрой­ках вир­ту­аль­ной машины.

19 Вклю­чи­те пита­ние вир­ту­аль­ной машины.

20 Теперь вир­ту­аль­ная маши­на может загру­жать­ся со сво­е­го вир­ту­аль­но­го жест­ко­го дис­ка с GRUB на хосте ESXi.

Таким обра­зом, вы зна­е­те, как выпол­нить пре­об­ра­зо­ва­ние VMware P2V Linux с помо­щью VMware vCenter Converter Offline. К сожа­ле­нию, вер­сия кон­вер­те­ра VMware для Linux недо­ступ­на, но если тре­бу­ет­ся пре­об­ра­зо­вать физи­че­ский сер­вер Linux в VMware толь­ко с помо­щью ком­пью­те­ров Linux, сле­ду­ет озна­ко­мить­ся со вто­рым P2V мето­дом пре­об­ра­зо­ва­ния Linux.

 

МЕТОД 2 - ПРЕОБРАЗОВАНИЕ VMWARE P2V LINUX БЕЗ ПРЕОБРАЗОВАТЕЛЯ VMWARE

Вто­рой спо­соб пре­об­ра­зо­ва­ния физи­че­ской маши­ны Linux в вир­ту­аль­ную маши­ну фор­ма­та ESXi не тре­бу­ет авто­ном­ной рабо­ты VMware vCenter Converter. Этот метод мож­но исполь­зо­вать для поль­зо­ва­те­лей и адми­ни­стра­то­ров, у кото­рых нет ком­пью­те­ра Windows (как извест­но, VMware vCenter Converter может быть уста­нов­лен толь­ко в Windows). Идея вто­ро­го мето­да пре­об­ра­зо­ва­ния VMware P2V Linux заклю­ча­ет­ся в следующем:

  • Созда­ние обра­зов физи­че­ских дис­ков, исполь­зу­е­мых на физи­че­ском сер­ве­ре Linux, с помо­щью ути­ли­ты dd
  • Пре­об­ра­зо­ва­ние полу­чен­ных обра­зов в обра­зы фор­ма­та vmdk
  • Созда­ние новой вир­ту­аль­ной маши­ны в VMware Workstation (кото­рая может быть запу­ще­на в Linux или Windows) с исполь­зо­ва­ни­ем суще­ству­ю­щих вир­ту­аль­ных дис­ков для новой вир­ту­аль­ной машины
  • Экс­порт вир­ту­аль­ной маши­ны из фор­ма­та рабо­чей стан­ции VMware в OVF-шаб­лон
  • Созда­ние новой вир­ту­аль­ной маши­ны на хосте ESXi из шаб­ло­на OVF

В нашем при­ме­ре Ubuntu 18 уста­нав­ли­ва­ет­ся на физи­че­ском ком­пью­те­ре, кото­рый дол­жен быть пре­об­ра­зо­ван, ESXi 6.5 и vCenter 6.5 исполь­зу­ют­ся в каче­стве места назна­че­ния, а VMware Workstation 15 исполь­зу­ет­ся в каче­стве точ­ки пере­хо­да в про­цес­се пре­об­ра­зо­ва­ния P2V Linux.

ПОСТЕПЕННЫЙ ПОШАГОВЫЙ ОБЗОР

  1. На физи­че­ском сер­ве­ре Linux Server запу­сти­те ути­ли­ту dd (data duplicator) для каж­до­го физи­че­ско­го дис­ка (/dev/sda/dev/sdb и т. д.) и создай­те образ каж­до­го дис­ка. Мож­но под­клю­чить USB HDD к физи­че­ско­му ком­пью­те­ру Linux и сохра­нить обра­зы, сде­лан­ные с помо­щью ути­ли­ты dd на USB HDD. Позд­нее этот жест­кий диск USB мож­но под­клю­чить к ком­пью­те­ру, на кото­ром долж­на быть созда­на вир­ту­аль­ная маши­на. В теку­щем при­ме­ре все раз­де­лы, исполь­зу­е­мые Linux, рас­по­ло­же­ны на дис­ке /dev/sda:

    Где:
    • If =/dev/sda - вход­ной файл, кото­рый явля­ет­ся физи­че­ским диском;
    • Of =/media/user1/data/sda.img - путь к фай­лу выход­но­го обра­за, рас­по­ло­жен­но­му на внеш­нем диске.
    • bs=8M – раз­мер бло­ка 8 MB. Этот пара­метр повы­ша­ет ско­рость, посколь­ку dd копи­ру­ет дан­ные, исполь­зуя 512 бит­ные части дан­ных по умолчанию
    • Conv = sync, noerror - исполь­зу­ет­ся для предот­вра­ще­ния оста­нов­ки dd при ошиб­ке чте­нии дан­ных с исход­но­го дис­ка (фай­ла).
    • Status = progress - эта опция исполь­зу­ет­ся для отоб­ра­же­ния хода выпол­не­ния зада­чи в кон­со­ли для боль­ше­го удобства
  2. Уста­но­ви­те qemu, кото­рое явля­ет­ся при­ло­же­ни­ем с откры­тым исход­ным кодом для аппа­рат­ной эму­ля­ции. Уста­но­вить qemu мож­но на любой машине Linux.
  3. В кон­со­ли Linux перей­ди­те в ката­лог, в кото­ром нахо­дят­ся фай­лы img, создан­ные ранее. Пре­об­ра­зуй­те обра­зы дис­ков, создан­ные с помо­щью ути­ли­ты dd, из фор­ма­та фай­ла img в фор­мат vmdk. Для этой зада­чи мож­но исполь­зо­вать Qemu. Мы пре­об­ра­зо­вы­ва­ем один образ дис­ка в нашем примере:

    Теперь обра­зы дис­ков пре­об­ра­зо­ва­ны в фор­мат vmdk и гото­вы к откры­тию в VMware Workstation. Как извест­но, фор­мат вир­ту­аль­ных дис­ков VMDK для VMware Workstation и VMware ESXi отли­ча­ет­ся. Необ­хо­ди­мо экс­пор­ти­ро­вать вир­ту­аль­ную маши­ну из рабо­чей стан­ции VMware в шаб­лон OVF, а затем импор­ти­ро­вать вир­ту­аль­ную маши­ну из шаб­ло­на OVF на хост ESXi. Убе­ди­тесь, что рабо­чая стан­ция VMware уста­нов­ле­на на любом из ком­пью­те­ров. В нашем при­ме­ре VMware Workstation 15 уста­нав­ли­ва­ет­ся на ком­пью­те­ре под управ­ле­ни­ем Ubuntu 18, но не на исход­ном ком­пью­те­ре Linux, кото­рый дол­жен быть пре­об­ра­зо­ван в вир­ту­аль­ную маши­ну (мы не исполь­зу­ем Windows для это­го P2V мето­да пре­об­ра­зо­ва­ния Linux). Алго­ритм для машин Windows с VMware Workstation аналогичен.
  4. Создай­те новый ката­лог на ком­пью­те­ре с уста­нов­лен­ной рабо­чей стан­ци­ей VMware, напри­мер /vms/P2V_Linux
  5. Ско­пи­руй­те фай­лы vmdk, пре­об­ра­зо­ван­ные qemu, в этот ката­лог. В дан­ном слу­чае в этот ката­лог копи­ру­ет­ся файл sda-vmware.vmdk.
  6. Создай­те новую вир­ту­аль­ную маши­ну в рабо­чей стан­ции VMware: "Файл > Новая вир­ту­аль­ная маши­на" (File > New virtual machine)
  7. Откро­ет­ся мастер созда­ния вир­ту­аль­ной маши­ны (New Virtual Machine Wizard). Необ­хо­ди­мо выпол­нить все шаги настрой­ки это­го масте­ра:Кон­фи­гу­ра­ция вир­ту­аль­ной маши­ны. Выбе­ри­те "Поль­зо­ва­тель­ский (Рас­ши­рен­ный)" (Custom (advanced)), что­бы вклю­чить настрой­ку допол­ни­тель­ных пара­мет­ров. Нажми­те кноп­ку Далее (Next), что­бы продолжить.

    Сов­ме­сти­мость обо­ру­до­ва­ния вир­ту­аль­ной маши­ны. Выбе­ри­те необ­хо­ди­мую вер­сию обо­ру­до­ва­ния вир­ту­аль­ной маши­ны, напри­мер, рабо­чая стан­ция 15.x.

    Уста­нов­ка госте­вой опе­ра­ци­он­ной систе­мы. Выбе­ри­те "Я уста­нов­лю опе­ра­ци­он­ную систе­му поз­же" (I will install the operating system later).

    Опе­ра­ци­он­ная систе­ма хоста. Выбе­ри­те Linux, а затем выбе­ри­те в рас­кры­ва­ю­щем­ся меню 64-раз­ряд­ную вер­сию Ubuntu.

    Назва­ние вир­ту­аль­ной маши­ны. Вве­ди­те имя и ука­жи­те место­по­ло­же­ние вир­ту­аль­ной маши­ны. В этом при­ме­ре имя вир­ту­аль­ной маши­ны - P2V Linux, а ее место­по­ло­же­ние - /vms/P2V_Linux_VM/

    Кон­фи­гу­ра­ция про­цес­со­ра. Выбе­ри­те коли­че­ство про­цес­со­ров и коли­че­ство ядер про­цес­со­ров в соот­вет­ствии с кон­фи­гу­ра­ци­ей, исполь­зу­е­мой на физи­че­ском ком­пью­те­ре с ОС Linux для пре­об­ра­зо­ва­ния в вир­ту­аль­ную маши­ну VMware.

    Память для вир­ту­аль­ной маши­ны. Задай­те объ­ем памя­ти, рав­ный, по край­ней мере, объ­е­му памя­ти на физи­че­ском ком­пью­те­ре Linux.

    Сете­вое под­клю­че­ние. Выбе­ри­те тип сети, напри­мер, "Сете­вой мост". Убе­ди­тесь, что исход­ный сер­вер Linux отклю­чен для исполь­зо­ва­ния сете­вых конфликтов.

    Типы дис­пет­че­ра ввода/вывода. Выбе­ри­те реко­мен­ду­е­мое зна­че­ние. В этом при­ме­ре выбран кон­трол­лер SCSILSI Logic (Recommended).

    Вир­ту­аль­ный дис­ко­вый тип. Выбе­ри­те реко­мен­ду­е­мый тип дис­ка. В нашем слу­чае это SCSI (Recommended).

    Выбор дис­ка. Выбе­ри­те пара­метр Use an existing virtual disk.

    Выбор суще­ству­ю­ще­го дис­ка. Про­смот­ри­те соот­вет­ству­ю­щий файл vmdk на пре­об­ра­зо­ван­ном дис­ке /dev/sda. В теку­щем при­ме­ре файл sda-vmware.vmdk выбран в каче­стве суще­ству­ю­ще­го вир­ту­аль­но­го диска.

    При­ме­ча­ние: Если на исход­ном физи­че­ском сер­ве­ре Linux име­ет­ся несколь­ко жест­ких дис­ков и несколь­ко фай­лов VMDK после пре­об­ра­зо­ва­ния, выбе­ри­те пер­вый файл vmdk, пре­об­ра­зо­ван­ный с дис­ка /dev/sda. Добавь­те дру­гие дис­ки вруч­ную после созда­ния вир­ту­аль­ной маши­ны, изме­нив пара­мет­ры вир­ту­аль­ной машины.

    Нажми­те "Сохра­нить суще­ству­ю­щий фор­мат" (Keep existing format) для луч­шей совместимости.

    Про­верь­те свод­ку кон­фи­гу­ра­ции и, если все пра­виль­но, нажми­те кноп­ку Гото­во (Finish).

    После созда­ния вир­ту­аль­ной маши­ны ее мож­но про­ве­рить перед запуском.

    При­ме­ча­ние: Если вы пре­об­ра­зо­ва­ли несколь­ко физи­че­ских дис­ков в вир­ту­аль­ные, добавь­те остав­ши­е­ся вир­ту­аль­ные дис­ки, выпол­нив сле­ду­ю­щие действия:

    • Щелк­ни­те "Вир­ту­аль­ная маши­на > Пара­мет­ры" (VM > Settings)
    • Щелк­ни­те "Доба­вить" на вклад­ке обо­ру­до­ва­ние (Add)
    • Выбе­ри­те "Жест­кий диск" (Hard Disk)
    • Выбе­ри­те (в нашем слу­чае) "Реко­мен­ду­е­мый вари­ант (SCSI)" (The recommended option (SCSI))
    • Нажми­те "Исполь­зо­вать суще­ству­ю­щий вир­ту­аль­ный диск" (Use an existing virtual disk)
    • Выбе­ри­те "Файл вир­ту­аль­но­го дис­ка" (Virtual disk file)
  8. Вклю­чи­те вир­ту­аль­ную маши­ну в рабо­чей стан­ции VMware (убе­ди­тесь, что все необ­хо­ди­мые вир­ту­аль­ные дис­ки добав­ле­ны в кон­фи­гу­ра­цию вир­ту­аль­ной машины)
  9. После загруз­ки хоста Linux в вир­ту­аль­ную маши­ну про­верь­те сете­вое подключение:
  10. Уста­но­ви­те сред­ства VMware в ОС Linux, рабо­та­ю­щей на вир­ту­аль­ной машине. В Ubuntu сред­ства VMware Tools мож­но уста­но­вить из обра­за вир­ту­аль­но­го дис­ка ISO или из сете­вых хра­ни­лищ про­грамм­но­го обеспечения.
  11. Если все пра­виль­но, завер­ши­те рабо­ту вир­ту­аль­ной маши­ны и под­го­товь­тесь к созда­нию шаб­ло­на OVF для пере­ме­ще­ния вир­ту­аль­ной маши­ны на хост ESXi.
  12. В гра­фи­че­ском интер­фей­се рабо­чей стан­ции VMware щелк­ни­те "Файл > Экс­порт в OVF" (File > Export to OVF
  13. Напри­мер, сохра­ни­те OVF-файл в ката­ло­ге с вир­ту­аль­ной маши­ной Linux. В теку­щем при­ме­ре OVF-шаб­лон сохра­ня­ет­ся в /vms/P2V_Linux_VM/
  14. Открой­те VMware vSphere Client в веб-браузере.
  15. Перей­ди­те в раз­дел "Хосты и кла­сте­ры" (Hosts and Clusters), а затем выбе­ри­те хост ESXi, на кото­ром вы хоти­те запу­стить вир­ту­аль­ную маши­ну после преобразования.
  16. Создай­те вир­ту­аль­ную маши­ну из шаб­ло­на. Щелк­ни­те Actions > Deploy OVF Template (Дей­ствия > Раз­вер­нуть шаб­лон OVF).Откро­ет­ся новое окно масте­ра раз­вер­ты­ва­ния OVF-шаб­ло­на (Deploy OVF Template), содер­жа­щее 7 шагов: 
    1. Выбе­ри­те OVF-шаб­лон. Щелк­ни­те "Локаль­ный файл" (Local File) и нажми­те кноп­ку "Обзор" (Browse). Сле­ду­ет выбрать два фай­ла - OVF-файл шаб­ло­на вир­ту­аль­ной маши­ны и VMDK-файл (фай­лы) вир­ту­аль­но­го дис­ка (дис­ков). Если выбрать толь­ко один OVF-файл шаб­ло­на, появит­ся сооб­ще­ние об отсут­ству­ю­щих фай­лах и их име­нах. Фай­лы долж­ны быть доступ­ны с ком­пью­те­ра, на кото­ром открыт VMware vSphere Client (фай­лы долж­ны хра­нить­ся на локаль­ных дис­ках, общем ресур­се SMB или NFS и т.д.).
    2. Выбе­ри­те имя и пап­ку. Ука­жи­те уни­каль­ное имя вир­ту­аль­ной маши­ны и место назна­че­ния (пап­ку дата цен­тра или вир­ту­аль­ной маши­ны). В теку­щем при­ме­ре имя вир­ту­аль­ной маши­ны - P2V_Linux.
    3. Выбе­ри­те вычис­ли­тель­ный ресурс. На этом шаге сле­ду­ет выбрать узел ESXi или кла­стер, на кото­ром будет выпол­нять­ся созда­ние вир­ту­аль­ной маши­ны.На этом шаге мож­но полу­чить инфор­ма­цию об ошиб­ках, обна­ру­жен­ных с выбран­ным шаблоном:

      Эта ошиб­ка может воз­ник­нуть, когда вер­сия обо­ру­до­ва­ния, уста­нов­лен­ная в шаб­лоне вир­ту­аль­ной маши­ны, пре­вы­ша­ет вер­сию обо­ру­до­ва­ния, под­дер­жи­ва­е­мую хостом ESXi. Для устра­не­ния этой про­бле­мы отре­дак­ти­руй­те OVF-файл в тек­сто­вом редак­то­ре. Мож­но исполь­зо­вать Vim в Linux. Перей­ди­те в ката­лог, в кото­ром рас­по­ло­жен OVF-шаб­лон, и изме­ни­те файл:

      Най­ди­те стро­ку типа vmx-xx, где xx - номер вер­сии аппа­рат­но­го обес­пе­че­ния вир­ту­аль­ной маши­ны. Самая высо­кая под­дер­жи­ва­е­мая вер­сия обо­ру­до­ва­ния для ESXi 6.5 - 13, и в нашем шаб­лоне уста­нов­ле­но обо­ру­до­ва­ние вир­ту­аль­ной маши­ны вер­сии 16. Для поис­ка необ­хо­ди­мо­го тек­ста в Vim в режи­ме нави­га­ции введите:
      /vmx-
      Напри­мер, изме­ни­те vmx-16 на vmx-12 и сохра­ни­те OVF-файл. После сохра­не­ния изме­не­ний в OVF-фай­ле вер­ни­тесь в VMware vSphere Client и нажми­те кноп­ку "Далее" (Next) на шаге «Deploy OVF Template» масте­ра раз­вер­ты­ва­ния шаб­ло­на OVF.
    4. Дета­ли обзо­ра. На этом шаге мож­но про­ве­рить подроб­ные дан­ные шаблона.
    5. Выбе­ри­те место хра­не­ния. Выбе­ри­те целе­вое хра­ни­ли­ще дан­ных, в кото­ром будут хра­нить­ся кон­фи­гу­ра­ция и дис­ко­вые фай­лы вир­ту­аль­ной маши­ны, и выбе­ри­те фор­мат вир­ту­аль­но­го дис­ка (Lazy Zeroed ThickEaging Zeroed Thick или Thin Provisioning).
    6. Выбе­ри­те сети. Выбе­ри­те сеть для каж­до­го вир­ту­аль­но­го сете­во­го адап­те­ра. Необ­хо­ди­мо настро­ить каж­дый сете­вой адап­тер для под­клю­че­ния к соот­вет­ству­ю­щей сети.
    7. Конец. Про­смот­ри­те кон­фи­гу­ра­цию и нажми­те кноп­ку Гото­во, что­бы начать созда­ние вир­ту­аль­ной машины.
      Дожди­тесь созда­ния новой вир­ту­аль­ной маши­ны по шаблону
  17. После завер­ше­ния импор­та вир­ту­аль­ной маши­ны из шаб­ло­на OVF вклю­чи­те пита­ние вир­ту­аль­ной маши­ны на хосте ESXi. Если вы полу­чи­те сооб­ще­ние "Хоти­те попы­тать­ся под­клю­чить это вир­ту­аль­ное устрой­ство каж­дый раз при вклю­че­нии вир­ту­аль­ной маши­ны?" (Do you want to try to connect this virtual device every time you power on the virtual machine?), ответь­те, что не хоти­те под­клю­чать это устрой­ство каж­дый раз во вре­мя загруз­ки вир­ту­аль­ной маши­ны, нажав кноп­ку Нет (No).

Физи­че­ский сер­вер Linux был пре­об­ра­зо­ван в вир­ту­аль­ную маши­ну без исполь­зо­ва­ния авто­ном­ной систе­мы Windows и VMware vCenter Converter. Про­цесс пре­об­ра­зо­ва­ния VMware P2V Linux объ­яс­нял­ся на при­ме­ре Ubuntu Linux. Если необ­хо­ди­мо пре­об­ра­зо­вать физи­че­ские сер­ве­ры, рабо­та­ю­щие под управ­ле­ни­ем дру­гих дис­три­бу­ти­вов Linux, таких как SUSE или Red Hat, в вир­ту­аль­ные маши­ны VMware, исполь­зуй­те тот же алго­ритм, но имей­те в виду, что неко­то­рые коман­ды и рас­по­ло­же­ния кон­фи­гу­ра­ци­он­ных фай­лов могут отли­чать­ся. Вме­сто исполь­зо­ва­ния apt-get package manager в SUSE сле­ду­ет исполь­зо­вать zypper, а в Red Had - yum. Может потре­бо­вать­ся пере­на­строй­ка сете­вых пара­мет­ров вир­ту­аль­ной маши­ны, таких как IP-адрес, шлюз по умол­ча­нию, DNS-сер­вер и т.д.