Jak przekształcić fizyczny serwer Linux w maszynę wirtualną VMware: kompleksowy przewodnik

Uruchamianie serwerów na maszynach wirtualnych zapewnia szereg korzyści, takich jak skalowalność, racjonalne wykorzystanie zasobów, wysoka dostępność, równoważenie obciążenia, wygodne zarządzanie, funkcje ochrony danych itp. Z tego powodu warto rozważyć migrację niektórych serwerów fizycznych na maszyny wirtualne. Proces ten znany jest również jako konwersja z fizycznego na wirtualny (ang. physical to virtual) i określany jest skrótem P2V.

Firma VMware jest jednym z liderów branży IT w zakresie dostarczania rozwiązań do wirtualizacji, a system Linux jest jednym z najbardziej niezawodnych systemów operacyjnych działających na serwerach. W tym wpisie na blogu wyjaśniono znaczenie wykonywania kopii zapasowych serwerów z systemem Linux oraz sposób konwersji fizycznego serwera z systemem Linux na maszynę wirtualną (VM) działającą na hoście ESXi w środowisku vSphere. Na przykładzie systemu Ubuntu 18 omówiono dwie różne metody konwersji VMware P2V dla systemu Linux.

NAKIVO – tworzenie kopii zapasowej dla VMware vSphere

NAKIVO – tworzenie kopii zapasowej dla VMware vSphere

Kompleksowa ochrona danych dla maszyn wirtualnych VMware vSphere oraz opcje natychmiastowego odzyskiwania. Bezpieczne lokalizacje kopii zapasowych na miejscu, zdalnie oraz w chmurze. Funkcje ochrony przed oprogramowaniem wymuszającym okup.

Metoda 1 – Korzystanie z programu VMware vCenter Converter

VMware vCenter Converter Standalone to bezpłatna aplikacja, którą można zainstalować w systemie Windows w celu konwersji fizycznych maszyn z systemem Windows, fizycznych maszyn z systemem Linux, maszyn wirtualnych Hyper-V, maszyn wirtualnych VMware oraz maszyn wirtualnych działających w środowisku Red Hat KVM lub RHEL XEN. Obsługiwane typy miejsc docelowych obejmują: maszyny wirtualne dla niezarządzanego hosta ESXi; maszyny wirtualne dla hosta ESXi zarządzanego przez vCenter Server; maszyny wirtualne dla VMware Workstation; maszyny wirtualne dla VMware Fusion.

Proces konwersji maszyny wirtualnej Hyper-V na maszynę wirtualną VMware znajdującą się na hoście ESXi został opisany w ten wpis na blogu.

Zasada działania

Podczas konwersji włączonej fizycznej maszyny z systemem Linux na maszynę wirtualną w formacie VMware ESXi, VMware vCenter Converter Standalone nie instaluje agenta na źródłowej maszynie z systemem Linux (w przeciwieństwie do maszyn z systemem Windows). Proces konwersji można podzielić na dwa główne etapy.

Etap 1 . Program VMware Converter łączy się z fizyczną maszyną z systemem Linux za pośrednictwem protokołu SSH i umożliwia wybranie komponentów do skopiowania, takich jak dyski wirtualne i partycje. Na podstawie wybranych komponentów fizycznej maszyny z systemem Linux oraz skonfigurowanych ustawień maszyny wirtualnej docelowej program konwertera utworzy maszynę wirtualną pomocniczą.

Etap 2 . Po wybraniu wszystkich niezbędnych komponentów i skonfigurowaniu ustawień sieciowych maszyny wirtualnej pomocniczej program VMware Converter tworzy maszynę wirtualną pomocniczą na docelowym hoście ESXi oraz w magazynach danych. Następnie program uruchamia maszynę wirtualną pomocniczą, która uruchamia się z obrazu ISO maszyny pomocniczej, i kopiuje wszystkie niezbędne dane z źródłowej maszyny z systemem Linux do docelowej maszyny wirtualnej, która do czasu zakończenia procesu konwersji ma status maszyny pomocniczej.

Maszyna wirtualna pomocnicza jest wdrażana z obrazu ISO opartego na systemie Linux, przechowywanego w systemie plików komputera z systemem Windows, na którym zainstalowano konwerter. Domyślną lokalizacją plików converter-helper-vm.iso oraz converter-helper-vm-x64.iso używanych do uruchamiania maszyny wirtualnej pomocniczej na hoście ESXi jest „ C:Program Files (x86)VMwareVMware vCenter Converter Standalone” .

Po skopiowaniu danych do docelowej maszyny wirtualnej można ją ponownie skonfigurować za pomocą programu VMware Converter, o ile dla zadania konwersji wybrano odpowiednie opcje.

Wymagania systemowe

Aby przeprowadzić konwersję VMware P2V w systemie Linux za pomocą programu VMware Converter, należy spełnić pewne wymagania:

  • Fizyczna maszyna z systemem Linux musi być włączona.
  • Host ESXi musi być włączony i dostępny przez sieć. Klient i serwer vCenter Converter Standalone muszą mieć wzajemny dostęp. Do komunikacji sieciowej domyślnie wykorzystywane są porty TCP 22, 443 i 902.
  • Na fizycznej maszynie z systemem Linux, która ma zostać przekonwertowana, musi być używany program rozruchowy GRUB. Program LILO nie jest wspierany.
  • Płyty optyczne muszą zostać wysunięte z napędów optycznych.
  • Serwer SSH musi być skonfigurowany na fizycznej maszynie z systemem Linux (maszynie źródłowej).

Uwaga: Serwer SSH można zainstalować w systemie Ubuntu Linux za pomocą polecenia:

apt-get install openssh-server

Zdalny dostęp dla użytkownika z hasłem przez SSH można skonfigurować, edytując plik sshd_config :

vim /etc/ssh/sshd_config

Utwórz lub usuń komentarz z wiersza:

PasswordAuthentication yes

Zapisz plik konfiguracyjny

:wq

Uruchom ponownie demona sshd (usługa)

service sshd restart

Konwersja VMware Converter z systemu Linux na P2V: przewodnik krok po kroku

Aby przeprowadzić konwersję z systemu Linux na P2V, należy wykonać następujące kroki:

1. Pobierz Pobierz program VMware vCenter Converter Standalone z oficjalnej strony internetowej.

2. Zainstaluj konwerter na komputerze z systemem Windows, który może połączyć się z komputerem z systemem Linux przez sieć. Proces instalacji jest prosty – wystarczy uruchomić plik EXE i postępować zgodnie z zaleceniami kreatora instalacji. W dzisiejszym przykładzie wykorzystano program VMware Converter 6.2.

3. Uruchom program VMware vCenter Converter Standalone.

4. Kliknij Convert machine.

Starting VMware P2V Linux conversion in vCenter Converter Standalone

5. Source System. W otwartym kreatorze konwersji maszyn wybierz system źródłowy. Wybierz opcję Powered on oraz Remote Linux machine. Podaj adres IP, nazwę użytkownika i hasło używane na zdalnym komputerze z systemem Linux. Należy pamiętać, że na komputerze z systemem Linux musi być skonfigurowany serwer SSH, a zapora sieciowa nie może blokować połączeń SSH na tym etapie. W przeciwnym razie zostanie wyświetlony komunikat o błędzie: Nie można nawiązać połączenia SSH z komputerem źródłowym. Sprawdź, czy zapora sieciowa nie blokuje dostępu do demona SSH na komputerze źródłowym . Podany użytkownik musi mieć możliwość zalogowania się do konsoli systemu Linux za pośrednictwem SSH przy użyciu kombinacji nazwy użytkownika i hasła lub pliku klucza prywatnego. W tym przykładzie przyjęto użytkownika o nazwie user1 z hasłem.

VMware converter Linux P2V conversion

5.1. Kliknij View source details , aby wyświetlić szczegóły zdalnej maszyny z systemem Linux, która ma zostać przekształcona w maszynę wirtualną VMware. Kliknij Dalej , aby kontynuować i przejść do następnego kroku.

VMware converter Linux – viewing details for a source Linux machine

Jeśli pojawi się ostrzeżenie dotyczące bezpieczeństwa (ostrzeżenie o odcisku palca zdalnego hosta), kliknij Tak , aby nawiązać połączenie. Czasami konwerter nie może wykonać poleceń na zdalnej maszynie z systemem Linux i wyświetla ostrzeżenie: Nie można uzyskać informacji od aktywnej maszyny źródłowej z systemem Linux. Upewnij się, że po zalogowaniu się do maszyny źródłowej przez SSH jako your_username możesz uruchomić polecenie sudo bez podawania hasła.

W takim przypadku należy przeprowadzić edycję pliku /etc/sudoers i umożliwić użytkownikowi uruchamianie polecenia sudo bez podawania hasła. Zamiast ręcznej edycji pliku /etc/sudoers należy użyć następującego polecenia:

visudo

Na końcu pliku należy dodać następujący wiersz:

user1 ALL=(ALL) NOPASSWD: ALL

Gdzie user1 to nazwa naszego użytkownika. Należy wprowadzić swoją nazwę użytkownika. Naciśnij Ctrl+X , aby wyjść, a następnie naciśnij Y (Tak), aby zapisać zmiany w pliku.

Editing ets sudoerc to perform P2V Linux migration

6. Destination System. Wybierz system docelowy. Domyślnie typ docelowy jest zdefiniowany jako maszyna wirtualna VMware Infrastructure w przypadku konwersji fizycznej maszyny z systemem Linux i jest to jedyna dostępna opcja konwersji fizycznej maszyny z systemem Linux na maszynę wirtualną VMware. Oznacza to, że docelowa maszyna wirtualna będzie działać na serwerze ESXi lub w Klaster VMware vSphere. Jeśli serwer Host ESXi , na którym chcesz uruchomić przekonwertowaną maszynę wirtualną, jest zarządzany przez vCenter, wybierz adres IP swojego serwera vCenter Server i podaj dane uwierzytelniające administratora vCenter lub innego użytkownika posiadającego uprawnienia do administracji serwerem vCenter Server.

Uwaga: Nie można przekonwertować fizycznej maszyny z systemem Linux na maszynę wirtualną w formacie stacji roboczej VMware za pomocą programu VMware vCenter Converter Standalone.

VMware converter Linux – selecting a destination ESXi host

Jeśli pojawią się ostrzeżenia dotyczące certyfikatów, możesz kliknąć Ignoruj , aby kontynuować.

7. Destination Virtual Machine. Wybierz centrum danych, w którym ma zostać zapisana maszyna wirtualna, i wprowadź nazwę docelowej maszyny wirtualnej, na przykład: Ubuntu18-04-vm .

VMware converter Linux – selecting the destination VM name and folder

8. Destination Location. Wybierz host ESXi, na którym ma działać maszyna wirtualna, oraz magazyn danych do przechowywania plików maszyny wirtualnej. Możesz również wybrać wersję maszyny wirtualnej. Domyślnie wybierana jest najwyższa obsługiwana wersja maszyny wirtualnej. W tym przypadku jest to wersja 13, ponieważ używany jest ESXi 6.5.

VMware converter Linux – selecting destination location for P2V Linux conversion

9. Options. W tym kroku można edytować różne opcje konwersji.

Dane do skopiowania . Można wybrać wszystkie woluminy lub niestandardowe woluminy do skopiowania oraz wybrać typ przydzielania dysku wirtualnego (przydzielanie zasobów w trybie „thick” lub „thin”). Możliwe jest również przechowywanie każdego dysku wirtualnego w innym magazynie danych. Należy pozostawić zaznaczone pole wyboru „ Utwórz zoptymalizowany układ partycji ”. Opcja ta służy do optymalizacji wyrównania partycji dyskowych.

VMware converter Linux – configuring options for Linux P2V migration

Urządzenia . Ustaw wymaganą ilość pamięci dla docelowej maszyny wirtualnej w zakładce Pamięć . Ustaw kontroler dyskowy, liczbę procesorów i rdzeni procesorów w zakładce Inne .

Sieci . Wybierz liczbę wirtualnych kart sieciowych, które mają być podłączone do maszyny wirtualnej. Następnie wybierz sieć wirtualną, do której ma być podłączona każda karta sieciowa połączone, typ kontrolera sieciowego oraz zaznacz w razie potrzeby pole wyboru Połącz przy uruchomieniu .

Opcje zaawansowane .  W tej sekcji znajdują się ustawienia po konwersji. W naszym przypadku, przy konwersji fizycznego serwera z systemem Linux na maszynę wirtualną VMware, dostępna jest tylko opcja „Przekonfiguruj docelową maszynę wirtualną” . Opcja ta służy do skonfigurowania programu rozruchowego oraz zaktualizowania sterowników używanych przez system operacyjny w celu lepszej optymalizacji pod kątem działania maszyny wirtualnej w środowisku VMware (z odpowiednim sprzętem wirtualnym).

Sieć maszyny wirtualnej pomocniczej . Podczas procesu konwersji serwera z systemem Linux na maszynę wirtualną narzędzie VMware vCenter Converter tworzy maszynę wirtualną pomocniczą na hoście docelowym lub w magazynie danych. Maszyna wirtualna pomocnicza musi mieć dostęp sieciowy do źródłowej maszyny fizycznej z systemem Linux, aby sklonować wszystkie pliki maszyny źródłowej. W tej sekcji można skonfigurować adres IP, maskę sieciową, bramę oraz serwery DNS używane do połączenia sieciowego maszyny pomocniczej.

10. Summary. Sprawdź wszystkie ustawienia konwersji P2V systemu Linux i jeśli wszystko jest poprawne, kliknij Zakończ , aby rozpocząć proces konwersji.

VMware converter Linux – the summary of conversion parameters

11. Poczekaj, aż proces konwersji się zakończy. Czas trwania konwersji zależy od ilości danych przechowywanych na dyskach źródłowej maszyny z systemem Linux. Jeśli po zakończeniu konwersji w programie VMware vCenter Converter widzisz status zadania konwersji Zakończone , możesz uruchomić docelową maszynę wirtualną z systemem Linux w interfejsie VMware vSphere Client, VMware Host Client lub VMware Workstation.

VMware converter Linux – a P2V Linux conversion job is started

Czasami jednak proces konwersji P2V maszyny z systemem Linux może zakończyć się na 97% z błędem:

NIEUDANE: Podczas konwersji wystąpił błąd: „GrubInstaller::InstallGrub: /usr/lib/vmware-converter/installGrub.sh zakończyło się niepowodzeniem z kodem zwrotnym: 127 i komunikatem: FATAL: kernel too old Błąd podczas uruchamiania vmware-updateGrub.sh poprzez chroot w katalogu /mnt/p2v-src-root Polecenie:

chroot "/mnt/p2v-src-root" /vmware-updateGrub.sh "GRUB2" "(hd0)" "(hd0,1)" /vmware-device.map "grub2-install" '

VMware converter Linux – an error during reconfiguring the GRUB boot loader on the destination VM

Problem ten może wystąpić, ponieważ program VMware vCenter Converter nie skonfigurował prawidłowo programu rozruchowego GRUB na docelowej maszynie wirtualnej. Jeśli po konwersji spróbujesz uruchomić maszynę wirtualną z systemem Linux, pojawi się błąd: Błąd podczas ładowania systemu operacyjnego .

VMware P2V Linux conversion – Error loading operating system

Jak rozwiązać ten problem z VMware Converter dotyczący systemu Linux?

1. Należy uruchomić system z nośnika instalacyjnego Ubuntu i użyć go jako dysku ratunkowego. Edytuj ustawienia maszyny wirtualnej za pomocą VMware vSphere Client, VMware Host Client lub VMware Workstation (VM > Edit Settings).

2. W Hardware wybierz napęd CD/DVD maszyny wirtualnej i wybierz bootowalny nośnik instalacyjny Ubuntu. W naszym przykładzie używamy obrazu dysku ISO instalacyjnego Ubuntu 18.04, który znajduje się w magazynie danych, dostępnym dla hosta ESXi, na którym po konwersji znajduje się maszyna wirtualna z systemem Linux. Nie zapomnij zaznaczyć pola wyboru „Połącz przy uruchomieniu” .

P2V Linux conversion – booting from an ISO image to fix the grub boot loader error

3. Po uruchomieniu maszyny wirtualnej naciśnij klawisz F2 , aby wejść do konfiguracji BIOS-u maszyny wirtualnej. W sekcji „Boot” wybierz „CD-ROM” jako pierwsze urządzenie rozruchowe.

Następnie przejdź do Exit > Exit Saving Changes.

Selecting CD-ROM as the first boot device for a VM in the virtual BIOS

Alternatywnie możesz jednorazowo zmienić kolejność rozruchu, naciskając klawisz Esc zamiast F2 zaraz po uruchomieniu maszyny wirtualnej.

4. Po uruchomieniu z nośnika instalacyjnego Ubuntu wybierz opcję Try Ubuntu na ekranie powitalnym „Welcome” . Poczekaj, aż Ubuntu załaduje się z płyty Live DVD, a zobaczysz pulpit Ubuntu.

Booting from the Ubuntu installation disk to fix the GRUB boot loader error occurred during VMware P2V Linux conversion

5. Otwórz konsolę Ubuntu i uzyskaj uprawnienia administratora.

sudo -i

6. Wyświetl listę dostępnych dysków.

ls -al /dev/sd*

fdisk -l

W naszym przykładzie zastosowano najprostszy schemat partycjonowania dysku dla systemu Ubuntu zainstalowanego na komputerze fizycznym. System Linux jest zainstalowany na pojedynczej /dev/sda1 partycji, która obejmuje cały dysk. Należy wykryć, która partycja służy do uruchamiania systemu Linux i zawiera katalog /boot/ lub jest zamontowana w katalogu /boot/ .

7. Partycję używaną do uruchamiania systemu Linux można znaleźć za pomocą programu parted:

parted /dev/sda

unit MB

p free

Detecting the partition used to boot Linux

Teraz widać, która partycja służy do uruchamiania systemu Linux (w tym ciągu znaków występuje flaga boot ). Następnie można zamknąć parted .

quit

Uwaga: Jeśli korzystasz z ręcznego schematu partycjonowania i oddzielnej partycji rozruchowej do uruchamiania systemu Linux, lista partycji będzie wyglądać inaczej, ale w podobny sposób powinieneś znaleźć partycję z flagą boot .

8. Utwórz katalog na dysku RAM i zamontuj partycje używane przez system Ubuntu. Jeśli system Ubuntu jest zainstalowany na jednej partycji, użyj poleceń takich jak: mkdir /mnt/ubuntu18

mount /dev/sda1 /mnt/ubuntu18

Uwaga: Jeśli system Ubuntu korzysta z wielu partycji, utwórz oddzielne katalogi i zamontuj każdą partycję do odpowiedniego katalogu:

mkdir /mnt/ubuntu18/boot

mkdir/mnt/ubuntu18/root

mount /dev/sda1 /mnt/ubuntu18/boot

mount /dev/sda2 /mnt/ubuntu18/root

i tak dalej.

9. Zainstaluj V im (edytor tekstu).

apt-get install vim

10. Sprawdź identyfikator każdej partycji dyskowej. Musisz znać identyfikator UUID partycji zawierającej /boot (lub partycji zamontowanej do katalogu /boot ). Zapamiętaj ten nowy identyfikator UUID. W naszym przypadku jest to partycja /dev/sda1

blkid

Checking the disk identifier for each disk in a VM created after P2V Linux conversion

11. Edytuj plik /etc/fstab na dysku wirtualnym używanym przez zainstalowaną instancję systemu Ubuntu. Plik /etc/fstab znajduje się w katalogu tymczasowym, do którego zamontowaliśmy główny system plików Ubuntu (/mnt/ubuntu18/etc/fstab ).

vim /mnt/ubuntu18/etc/fstab

Editing etc fstab to fix the GRUB error occurred during P2V Linux conversion

Zmień identyfikatory UUID każdej partycji w /etc/fstab , aby umożliwić automatyczne montowanie partycji podczas uruchamiania systemu Linux. Zastąp stare wartości UUID używane dla dysków na fizycznej maszynie z systemem Linux nowymi wartościami UUID używanymi na nowej maszynie wirtualnej. W tym prostym przykładzie używana jest tylko jedna partycja /dev/sda1 , która musi zostać zamontowana w katalogu głównym (/). W związku z tym musimy zmienić 2516177b-e9a9-4502-bdae-a3626fe3ab0a na dd05b02c-8772-4ec2-9340-2473ec8c2f8b.

Zapisz zmiany i zamknij vim.

:wq

Uwaga: Jeśli Twój system Linux korzysta z wielu partycji, może być konieczna zmiana wartości UUID dla innych partycji lub po prostu zdefiniowanie ich jako sda2 , sda3 , sdb1 , sdb2 itp., aby umożliwić automatyczne montowanie tych partycji podczas uruchamiania systemu Linux.

12. Edytuj plik konfiguracyjny GRUB-a, który zazwyczaj znajduje się w katalogu /boot/grub/ . Zapamiętaj katalog tymczasowy, do którego zamontowałeś partycję zawierającą pliki z katalogu /boot/ . Po przekształceniu fizycznej maszyny z systemem Linux w maszynę wirtualną identyfikator UUID dysku uległ zmianie na docelowej maszynie wirtualnej i z tego powodu program rozruchowy (GRUB) nie może uruchomić systemu z wymaganej partycji. W naszym przypadku edytujemy plik grub.cfg za pomocą polecenia:

vim /mnt/ubuntu18/boot/grub/grub.cfg

13. Należy zastąpić stary identyfikator UUID nowym. Identyfikator UUID występuje kilkakrotnie w pliku konfiguracyjnym, a ręczna edycja tej wartości nie jest wygodna. Edytor tekstu vim umożliwia automatyczne zastąpienie tekstu źródłowego tekstem docelowym za pomocą polecenia: :%s/source_text/target_text/g

Gdzie %s oznacza, że wszystkie pasujące wartości w całym pliku tekstowym muszą zostać zastąpione.

W naszym obecnym przykładzie używamy polecenia:

:%s/2516177b-e9a9-4502-bdae-a3626fe3ab0a/dd05b02c-8772-4ec2-9340-2473ec8c2f8b/g

Editing grub.cfg and changing the UUID value to fix the GRUB error caused by P2V Linux conversion

Zapisz zmiany w pliku tylko do odczytu i zamknij program vim.

:wq!

Uwaga: Jeśli Twój system Linux korzysta z wielu partycji, zastąp wartości UUID wszystkich partycji, których identyfikatory UUID są wymienione w grub.cfg pliku.

14. Teraz musisz ponownie zainstalować GRUB jako program rozruchowy w tym samym katalogu, w którym był on zainstalowany wcześniej. W naszym przykładzie GRUB był zainstalowany w katalogu /boot , a katalog /boot jest obecnie tymczasowo dostępny jako /mnt/ubuntu18/boot . Dysk używany do uruchamiania systemu Ubuntu to odpowiednio /dev/sda .

grub-install --boot-directory=/mnt/ubuntu18/boot /dev/sda

15. Odmontuj wszystkie wcześniej zamontowane partycje:

umount /dev/sda1

16. Wyłącz maszynę wirtualną

init 0

17. W ustawieniach maszyny wirtualnej zmień konfigurację rozruchu tak, aby uruchamiała się z wirtualnego dysku twardego, a nie z płyty CD-ROM.

18. Włącz maszynę wirtualną.

19. Teraz maszyna wirtualna może uruchamiać się z wirtualnego dysku twardego za pomocą GRUB-a na hoście ESXi.

W ten sposób wiesz, jak przeprowadzić konwersję VMware P2V dla systemu Linux za pomocą programu VMware vCenter Converter Standalone. Niestety wersja programu VMware Converter dla systemu Linux nie jest dostępna, ale jeśli chcesz przekonwertować swój fizyczny serwer z systemem Linux na maszynę wirtualną VMware, korzystając wyłącznie z komputerów z systemem Linux, powinieneś zapoznać się z drugą metodą konwersji P2V dla systemu Linux.

Metoda 2 – Konwersja P2V dla systemu Linux bez programu VMware Converter

Druga metoda konwersji fizycznego komputera z systemem Linux na maszynę wirtualną w formacie ESXi nie wymaga programu VMware vCenter Converter Standalone. Metodę tę mogą wykorzystać użytkownicy i administratorzy, którzy nie dysponują w swoim środowisku komputerem z systemem Windows (jak zapewne pamiętacie, program VMware vCenter Converter można zainstalować wyłącznie w systemie Windows). Zasada działania drugiej metody konwersji VMware P2V w systemie Linux jest następująca:

  • Utwórz obrazy dysków fizycznych używanych w fizycznym serwerze z systemem Linux za pomocą dd narzędzia
  • Przekonwertuj uzyskane obrazy na obrazy w formacie vmdk
  • Utwórz nową maszynę wirtualną w programie VMware Workstation (która może działać w systemie Linux lub Windows) przy użyciu istniejących dysków wirtualnych dla nowej maszyny wirtualnej
  • Wyeksportuj maszynę wirtualną z formatu stacji roboczej VMware do szablonu OVF
  • Utwórz nową maszynę wirtualną na hoście ESXi na podstawie szablonu OVF

W naszym przykładzie system Ubuntu 18 jest zainstalowany na maszynie fizycznej, którą należy przekonwertować, a także na ESXi 6.5 i vCenter 6.5 są wykorzystywane jako miejsce docelowe, a VMware Workstation 15 służy jako punkt przejściowy w procesie konwersji P2V systemu Linux.

Przewodnik krok po kroku

1. Na fizycznym serwerze z systemem Linux uruchom narzędzie dd (duplikator danych) dla każdego dysku fizycznego (/dev/sda , /dev/sdb itp.) i utwórz obraz każdego dysku. Można podłączyć dysk twardy USB do fizycznej maszyny z systemem Linux i zapisać na nim obrazy utworzone za pomocą narzędzi dd . Później można podłączyć ten dysk twardy USB do maszyny, na której ma zostać utworzona maszyna wirtualna. W obecnym przykładzie wszystkie partycje używane przez system Linux znajdują się na dysku /dev/sda :

dd if=/dev/sda of=/media/user1/data/sda.img bs=8M conv=sync,noerror status=progress

Gdzie:

if=/dev/sda – plik wejściowy, którym jest cały dysk fizyczny;

of=/media/user1/data/sda.img – ścieżka do wyjściowego pliku obrazu, który w tym przypadku znajduje się na dysku zewnętrznym.

bs=8M – rozmiar bloku wynosi 8 MB. Ta opcja zwiększa prędkość, ponieważ dd domyślnie kopiuje dane w porcjach po 512 bajtów

conv=sync,noerror – służy do zapobiegania dd zatrzymaniu się w przypadku błędu podczas odczytu danych z dysku źródłowego (pliku).

status=progress – użyj tej opcji, aby wyświetlić postęp zadania w konsoli dla większej wygody

Using dd to create an image of a physical disk for VMware P2V Linux conversion

2. Zainstaluj qemu , czyli aplikację typu open source do emulacji sprzętu. Możesz zainstalować qemu na dowolnym komputerze z systemem Linux.

apt-get install qemu

3. W konsoli systemu Linux przejdź do katalogu, w którym znajdują się img pliki utworzone wcześniej. Przekonwertuj obrazy dysków utworzone za pomocą dd narzędzia z img formatu pliku do vmdk formatu. Do tego zadania można użyć programu Qemu. W naszym przykładzie konwertujemy jeden obraz dysku:

qemu-img convert -o compat6 sda.img -O vmdk sda-vmware.vmdk

Teraz obrazy dysków zostały przekonwertowane do formatu vmdk i są gotowe do otwarcia w programie VMware Workstation. Jak zapewne pamiętacie, format dysków wirtualnych VMDK różni się w programach VMware Workstation i VMware ESXi. Szczegóły dotyczące formatu plików VMDK wyjaśniono na stronie tutaj. Należy wyeksportować maszynę wirtualną z programu VMware Workstation do szablonu OVF, a następnie zaimportować ją z tego szablonu na host ESXi.

Upewnij się, że program VMware Workstation jest zainstalowany na którymkolwiek z Twoich komputerów. W naszym przykładzie program VMware Workstation 15 jest zainstalowany na komputerze z systemem Ubuntu 18, ale nie na źródłowej maszynie z systemem Linux, która ma zostać przekształcona w maszynę wirtualną (w tej metodzie konwersji P2V systemu Linux nie używamy systemu Windows). Algorytm dla komputerów z systemem Windows i oprogramowaniem VMware Workstation jest podobny.

4. Utwórz nowy katalog na komputerze z zainstalowanym oprogramowaniem VMware Workstation, na przykład: /vms/P2V_Linux

mkdir /vms/P2V_Linux

5. Skopiuj pliki vmdk przekonwertowane za pomocą qemu do tego katalogu. W tym przypadku kopiujemy plik sda-vmware.vmdk do tego katalogu.

6. Utwórz nową maszynę wirtualną w programie VMware Stacja robocza:

File > New virtual machine

Creating a new VM in VMware Workstation while converting a physical Linux server to an ESXi VM

Otworzy się Kreator nowej maszyny wirtualnej . Należy przejść przez wszystkie etapy konfiguracji tego kreatora:

Virtual Machine Configuration. Wybierz opcję Niestandardowa (zaawansowana), aby umożliwić konfigurację opcji zaawansowanych. Kliknij Dalej , aby kontynuować.

Selecting a custom mode to create a VM for VMware P2V Linux conversion

Virtual Machine Hardware Compatibility. Wybierz odpowiednią wersję sprzętową maszyny wirtualnej, na przykład stacja robocza 15.x.

Guest Operation System Installation. Wybierz Zainstaluję system operacyjny później .

Guest Operating System. Wybierz Linux , a następnie wybierz Ubuntu 64-bit z menu rozwijanego.

Virtual Machine Name. Wprowadź nazwę i ustaw lokalizację maszyny wirtualnej. W tym przykładzie nazwa maszyny wirtualnej to P2V Linux , a jej lokalizacja to /vms/P2V_Linux_VM/

Selecting location for a new P2V Linux VM

Processor configuration. Wybierz liczbę procesorów i liczbę rdzeni procesorów zgodnie z konfiguracją używaną na fizycznej maszynie z systemem Linux, którą konwertujesz na maszynę wirtualną VMware.

Memory for the Virtual Machine. Ustaw ilość pamięci, która jest co najmniej równa ilości pamięci na fizycznym komputerze z systemem Linux.

Network Connection. Wybierz typ sieci, na przykład Bridged networking . Upewnij się, że źródłowy serwer z systemem Linux jest teraz odłączony, aby zapobiec konfliktom sieciowym.

I/O Controller Types. Wybierz zalecaną wartość. W tym przykładzie wybrano Kontroler SCSI: LSI Logic (zalecany) .

Virtual Disk Type. Wybierz zalecany typ dysku. W naszym przypadku jest to SCSI (zalecany).

Select a Disk. Wybierz opcję Use an existing virtual disk .

Using an existing virtual disk created after converting a physical disk to a virtual disk

Select an Existing Disk. Przejrzyj odpowiedni plik vmdk przekonwertowanego dysku /dev/sda . W obecnym przykładzie plik sda-vmware.vmdk został wybrany jako istniejący dysk wirtualny.

Uwaga: Jeśli na fizycznym serwerze Linux źródłowym znajduje się wiele dysków twardych, a po konwersji powstało wiele plików VMDK, wybierz pierwszy plik vmdk przekonwertowany z dysku /dev/sda . Pozostałe dyski dodaj ręcznie po utworzeniu maszyny wirtualnej, edytując jej ustawienia.

A suggestion to convert a virtual disk created for P2V Linux conversion to a newer format

Wybierz opcję Zachowaj istniejący format w celu zapewnienia lepszej kompatybilności.

Ready to Create Virtual Machine. Sprawdź podsumowanie konfiguracji i jeśli wszystko jest w porządku, kliknij Zakończ .

Po utworzeniu maszyny wirtualnej możesz sprawdzić jej konfigurację przed jej uruchomieniem.

Uwaga: Jeśli przekonwertowałeś wiele dysków fizycznych na dyski wirtualne, dodaj pozostałe dyski wirtualne, wykonując następujące czynności:

  • Kliknij Maszyna wirtualna > Ustawienia
  • Kliknij Dodaj w zakładce Sprzęt
  • Wybierz Dysk twardy
  • Wybierz zalecaną opcję (w naszym przypadku SCSI)
  • Kliknij Użyj istniejącego dysku wirtualnego
  • Wybierz plik dysku wirtualnego

7. Włącz maszynę wirtualną w VMware Workstation (upewnij się, że wszystkie niezbędne dyski wirtualne zostały dodane do konfiguracji maszyny wirtualnej).

8. Po załadowaniu systemu gościa Linux na maszynie wirtualnej sprawdź połączenie sieciowe:

ifconfig

9. Zainstaluj VMware Tools w systemie Linux działającym na maszynie wirtualnej. W systemie Ubuntu narzędzia VMware Tools można zainstalować z wirtualnego obrazu dysku ISO lub z internetowych repozytoriów oprogramowania.

apt-get install open-vm-tools

10. Jeśli wszystko jest w porządku, wyłącz maszynę wirtualną i przygotuj się do utworzenia szablonu OVF w celu migracji maszyny wirtualnej na host ESXi.

11. W interfejsie graficznym stacji roboczej VMware Workstation kliknij File > Export to OVF.

Exporting a VM to an OVF template to finish VMware P2V Linux conversion and import the VM on an ESXi host

12. Zapisz plik OVF w katalogu zawierającym maszynę wirtualną z systemem Linux, na przykład. W bieżącym przykładzie szablon OVF jest zapisywany w /vms/P2V_Linux_VM/

13. Otwórz program VMware vSphere Client w przeglądarce internetowej.

14. Przejdź do Hosty i klastry , a następnie wybierz host ESXi, na którym chcesz uruchomić maszynę wirtualną po konwersji.

15.  Utwórz maszynę wirtualną z szablonu. Kliknij Actions > Deploy OVF Template.

Deploying the OVF template on an ESXi host to finish the VMware P2V Linux conversion

Otworzy się nowe okno kreatora Wdrażanie szablonu OVF zawierające 7 kroków:

1. Wybierz szablon OVF . Kliknij Plik lokalny , a następnie kliknij Przeglądaj . Należy wybrać dwa pliki – plik OVF szablonu maszyny wirtualnej oraz plik (pliki) VMDK dysku (dysków) wirtualnego. Jeśli wybierzesz tylko jeden plik szablonu OVF, wyświetli się komunikat o brakujących plikach wraz z ich nazwami. Pliki muszą być dostępne z komputera, na którym uruchomiono program VMware vSphere Client (pliki muszą znajdować się na dyskach lokalnych, w udziale SMB lub NFS itp.).

Selecting the OVF template and virtual disk files

2. Wybierz nazwę i folder . Określ unikalną nazwę maszyny wirtualnej oraz lokalizację docelową (centrum danych lub folder maszyn wirtualnych). W obecnym przykładzie nazwa maszyny wirtualnej to P2V_Linux .

3. Wybierz zasób obliczeniowy . Na tym etapie należy wybrać host lub klaster ESXi, na którym będzie działać maszyna wirtualna.

Selecting a compute resource

Na tym etapie może pojawić się następujący błąd: Wykryto problemy z wybranym szablonem. Szczegóły: – -1:-1:VALUE_ILLEGAL: Brak obsługiwanych wersji sprzętu wśród [vmx-16]; obsługiwane: [vmx-04, vmx-07, vmx-08, vmx-09, vmx-10, vmx-11, vmx-12, vmx-13].

Błąd ten może wystąpić, gdy wersja sprzętu ustawiona w szablonie maszyny wirtualnej jest wyższa niż wersja sprzętu obsługiwana przez hosta ESXi.

Aby rozwiązać ten problem, należy edytować plik OVF w edytorze tekstowym. W systemie Linux można użyć Vim . Przejdź do katalogu, w którym znajduje się szablon OVF, i edytuj plik:

vim P2V_Linux.ovf

Znajdź ciąg znaków podobny do vmx-xx , gdzie xx to numer wersji sprzętowej maszyny wirtualnej. Najwyższa obsługiwana wersja sprzętowa dla ESXi 6.5 to 13, a w naszym szablonie ustawiono wersję sprzętową maszyny wirtualnej 16.

Aby znaleźć potrzebny tekst w Vim , w trybie nawigacji wpisz:

/vmx-

Editing the virtual hardware version of the OVF template

Zmieńmy na przykład vmx-16 na vmx-12 i zapiszmy plik OVF.

Po zapisaniu zmian w pliku OVF wróć do klienta VMware vSphere i kliknij Next w kroku Wybierz zasób obliczeniowy kreatora Wdrażanie szablonu OVF .

4. Sprawdź szczegóły . Na tym etapie możesz zweryfikować szczegóły szablonu.

5. Wybierz magazyn danych . Wybierz docelowy magazyn danych, w którym mają zostać zapisane pliki konfiguracyjne i dyskowe maszyny wirtualnej, a także wybierz format dysku wirtualnego (Lazy Zeroed Thick, Eager Zeroed Thick lub Thin Provision).

Selecting storage on the final stage of VMware P2V Linux migration to an ESXi host

6. Wybierz sieci . Wybierz sieć dla każdej wirtualnej karty sieciowej. Należy skonfigurować każdą kartę sieciową tak, aby łączyła się z odpowiednią siecią.

Connecting virtual network adapters of the VM to networks

7. Gotowość do zakończenia . Sprawdź konfigurację i kliknij Zakończ , aby rozpocząć tworzenie maszyny wirtualnej.

Poczekaj, aż nowa maszyna wirtualna zostanie utworzona na podstawie szablonu.

16. Po zakończeniu importowania maszyny wirtualnej z szablonu OVF włącz ją na hoście ESXi. Więcej informacji na temat szablonów maszyn wirtualnych znajdziesz tutaj wpis na blogu. Jeśli pojawi się komunikat „ Czy chcesz próbować podłączać to urządzenie wirtualne przy każdym uruchomieniu maszyny wirtualnej?”, odpowiedz, że nie chcesz podłączać tego urządzenia przy każdym uruchomieniu maszyny wirtualnej, klikając „Nie”.

VMware P2V Linux conversion is finished – the converted VM is powered on

Fizyczny serwer z systemem Linux został przekonwertowany na maszynę wirtualną bez użycia systemu Windows i programu VMware vCenter Converter Standalone. Proces konwersji VMware P2V dla systemu Linux został wyjaśniony na przykładzie systemu Ubuntu Linux. Jeśli chcesz przekształcić serwery fizyczne z innymi dystrybucjami Linuksa, takimi jak SUSE czy Red Hat, w maszyny wirtualne VMware, zastosuj ten sam algorytm, pamiętaj jednak, że niektóre polecenia i lokalizacje plików konfiguracyjnych mogą się różnić. Zamiast korzystać z menedżera pakietów apt-get w systemie SUSE, należy użyć zypper , a w systemie Red Hat – yum . Może zaistnieć konieczność ponownej konfiguracji ustawień sieciowych maszyny wirtualnej, takich jak adres IP, brama domyślna, serwer DNS itp.

Można również obejrzeć ten film, aby zobaczyć obie metody konwersji VMware P2V dla systemu Linux w praktyce:

Wniosek

Konwersję fizycznego serwera z systemem Linux na maszynę wirtualną VMware można przeprowadzić przy użyciu różnych metod — za pomocą programu VMware vCenter Converter Standalone, który wymaga komputera z systemem Windows, oraz przy użyciu narzędzi systemu Linux w połączeniu z programem VMware Workstation. Korzystając z którejkolwiek z tych metod, może zaistnieć konieczność ręcznej edycji konfiguracji maszyny wirtualnej. W przypadku pierwszej metody jako miejsce docelowe konwersji P2V systemu Linux można wykorzystać wyłącznie host ESXi, natomiast druga metoda pozwala na konwersję fizycznego komputera z systemem Linux zarówno do formatu VMware ESXi, jak i VMware stacji roboczych.

Wypróbuj NAKIVO Backup & Replication

Wypróbuj NAKIVO Backup & Replication

Skorzystaj z bezpłatnej wersji próbnej, aby zapoznać się ze wszystkimi funkcjami rozwiązania w zakresie ochrony danych. 15 dni za darmo. Bez żadnych ograniczeń dotyczących funkcji ani pojemności. Nie jest wymagana karta kredytowa.

People also read