Der Betrieb von Servern auf virtuellen Maschinen bietet Ihnen eine Reihe von Vorteilen wie Skalierbarkeit, rationale Ressourcen Nutzung, hohe Verfügbarkeit, Lastausgleich, bequeme Verwaltung, Datenschutzfunktionen usw. Aus diesem Grund mag Sie der Entscheidungsprozess, einige Ihrer physischen Server zu virtuellen Maschinen zu migrieren, interessant sein. Dieser Prozess wird auch als physisches auf virtuelles System (P2V) bezeichnet.
VMware ist eine der Führungsunternehmen in der IT-Welt, die Virtualisierungslösungen bereitstellt, und Linux ist eine der zuverlässigsten Betriebssysteme, die auf Servern laufen. Dieser Blogbeitrag erklärt die Bedeutung von Linux-Server-Backups und wie man eine physische Linux-Server auf eine virtuelle Maschine (VM) auf einem ESXi-Host in vSphere umwandeln kann. Zwei verschiedene Methoden der VMware P2V-Linux-Umwandlung werden auf dem Beispiel von Ubuntu 18.
Methode 1 – Mit VMware vCenter Converter
VMware vCenter Converter Standalone ist eine kostenlose Anwendung, die auf Windows installiert werden kann, um Windows- physische Maschinen, Linux- physische Maschinen, Hyper-V-VM, VMware-VM und VM zu migrieren, die unter Red Hat KVM oder RHEL XEN laufen. Unterstützte Zieltypen beinhalten: VM für unverwaltete ESXi-Host; VM für ESXi-Host, die von vCenter Server verwaltet werden; VM für VMware Workstation; VM für VMware Fusion.
Der Prozess der Umwandlung eines Hyper-V-VM in eine VMware-VM, die auf einem ESXi-Host resides, wurde in diesem Blogbeitrag erklärt.
Der Arbeitsprinzip
Bei der Umwandlung einer eingeschalteten physischen Linux-Maschine in eine virtuelle Maschine im VMware ESXi-Format installiert VMware vCenter Converter Standalone keinen Agenten auf der Quell-Linux-Maschine (im Gegensatz zu Windows-Maschinen). Der Konvertierungsprozess kann in zwei Hauptphasen unterteilt werden.
Phase 1. VMware Converter verbindet sich mit einer Quell-Linux-Maschine über SSH und ermöglicht es Ihnen, die zu kopierenden Komponenten auszuwählen, wie virtuelle Laufwerke und Partitionen. Je nach ausgewählten Komponenten der Quell-Physischen Linux-Maschine und den konfigurierten Einstellungen der Ziel-VM erstellt der Konverter eine Hilfs-VM.
Phase 2. Wenn alle erforderlichen Komponenten ausgewählt und die Netzwerkeinstellungen der Hilfs-VM konfiguriert sind, erstellt VMware Converter eine Hilfs-VM auf einem Ziel-ESXi-Host und Datastores. Anschließend startet der Konverter die Hilfs-VM, die von der Hilfs-VM-ISO-Image bootet, und kopiert alle erforderlichen Daten von einer Quell-Linux-Maschine zu einer Ziel-VM, die den Status einer Hilfs-VM hat, bis der Konvertierungsprozess abgeschlossen ist.
A helper VM is deployed from the Linux-based ISO image stored on the file system of the Windows machine on which the converter is installed. The location of converter-helper-vm.iso and converter-helper-vm-x64.iso files used to boot a helper VM on an ESXi host is “C:\Program Files (x86)\VMware\VMware vCenter Converter Standalone\” by default.
Nach dem Kopieren der Daten auf die Ziel-VM kann die VM von VMware Converter neu konfiguriert werden, wenn die entsprechenden Optionen für den Konvertierungsauftrag ausgewählt wurden.
Systemanforderungen
Es gibt einige Anforderungen, die erfüllt sein müssen, um eine VMware P2V Linux-Konvertierung mit VMware Converter durchzuführen:
- A physical machine running Linux must be powered on.
- Ein ESXi-Host muss eingeschaltet und über das Netzwerk erreichbar sein. Der vCenter Converter Standalone-Client und -Server müssen in der Lage sein, sich gegenseitig zu erreichen. TCP-Ports 22, 443, 902 werden standardmäßig für die Netzwerkkommunikation verwendet.
- Der GRUB-Bootloader muss auf dem physischen Linux-Rechner verwendet werden, der konvertiert werden soll. LILO wird nicht unterstützt.
- Optische Datenträger müssen aus optischen Laufwerken ausgeworfen werden.
- Der SSH-Server muss auf einem physischen Linux-Rechner (dem Quellrechner) konfiguriert werden.
Hinweis:Der SSH-Server kann auf Ubuntu Linux mit dem Befehl installiert werden:
apt-get install openssh-server
Der Remotezugriff für den Benutzer mit Passwort über SSH kann durch Bearbeiten der Datei sshd_config konfiguriert werden:
vim /etc/ssh/sshd_config
Erstellen oder Kommentieren Sie den String:
PasswordAuthentication yes
Speichern Sie die Konfigurationsdatei
:wq
Starten Sie den sshd-Daemon (Service) neu
service sshd restart
VMware Converter Linux P2V Conversion: Schritt-für-Schritt-Anleitung
Um die Linux P2V-Konvertierung durchzuführen, sollten Sie die folgenden Schritte ausführen:
1. Downloaden Sie VMware vCenter Converter Standalone von der offiziellen Webseite.
2. Installieren Sie den Konverter auf einem Windows-Computer, der über das Netzwerk mit Ihrem Linux-Computer verbunden werden kann. Der Installationsprozess ist unkompliziert – führen Sie einfach die EXE-Datei aus und befolgen Sie die Empfehlungen des Installationsassistenten. In unserem heutigen Beispiel wird VMware Converter 6.2 verwendet.
3. Führen Sie VMware vCenter Converter Standalone aus.
4. Klicken Sie auf Computer konvertieren
5. Quellsystem. Wählen Sie das Quellsystem im geöffneten Assistenten für die Maschinenkonvertierung aus. Wählen Sie Eingeschaltet und Remote-Linux-Maschine aus. Geben Sie die IP-Adresse, den Benutzernamen und das Passwort ein, die auf der entfernten Linux-Maschine verwendet werden. Beachten Sie, dass der SSH-Server auf der Linux-Maschine konfiguriert sein muss und eine Firewall SSH-Verbindungen in diesem Schritt nicht blockieren darf. Andernfalls wird die Fehlermeldung angezeigt: Es konnte keine SSH-Verbindung zur Quellmaschine hergestellt werden. Überprüfen Sie, ob eine Firewall den Zugriff auf den SSH-Daemon auf der Quellmaschine blockiert. Der angegebene Benutzer muss sich über SSH mit der Linux-Konsole anmelden können, indem er die Login/Passwort-Kombination oder eine private Schlüsseldatei verwendet. In diesem Beispiel wird ein Benutzer namens user1 mit einem Passwort verwendet.
5.1. Klicken Sie auf Quelldetails anzeigen, um Details zu Ihrer entfernten Linux-Maschine anzuzeigen, die in eine VMware-Virtual Machine konvertiert werden soll. Klicken Sie auf Weiter, um fortzufahren und zum nächsten Schritt zu wechseln.
Wenn Sie die Sicherheitswarnung (Warnung zum Remote-Host-Fingerabdruck) sehen, klicken Sie auf Ja, um eine Verbindung herzustellen.
Manchmal kann der Konverter keine Befehle auf Ihrem entfernten Linux-Rechner ausführen und zeigt die Warnung an: Es kann keine Verbindung zur Live-Linux-Quellmaschine hergestellt werden. Stellen Sie sicher, dass Sie auf der Quellmaschine über SSH als Ihr_Benutzername sudo ohne Passwort eingeben können..
In diesem Fall müssen Sie die Datei /etc/sudoers bearbeiten und Ihren Benutzer in der Lage sein lassen, sudo ohne Passwort auszuführen. Verwenden Sie anstelle der manuellen Bearbeitung von /etc/sudoers den folgenden Befehl:
visudo
Fügen Sie die Zeile am Ende der Datei wie folgt hinzu:
user1 ALL=(ALL) NOPASSWD: ALL
Wo user1 der Name unseres Benutzers ist. Geben Sie Ihren Benutzernamen ein. Drücken Sie Strg+X, um zu beenden, und drücken Sie Y (Ja), um die Änderungen an der Datei zu speichern.
6. Zielsystem. Wählen Sie das Zielsystem aus. Standardmäßig ist der Zieltyp als VMware Infrastructure-Virtual-Maschine definiert, wenn Sie eine physische Linux-Maschine konvertieren, und dies ist die einzige verfügbare Option für die Konvertierung einer physischen Linux-Maschine in eine VMware-VM. Dies bedeutet, dass die Ziel-VM auf einem ESXi-Server oder im VMware vSphere-Cluster ausgeführt wird. Wenn Ihr ESXi-Host, auf dem Sie die konvertierte VM ausführen möchten, von vCenter verwaltet wird, wählen Sie die IP-Adresse Ihres vCenter-Servers und definieren Sie die Anmeldeinformationen des vCenter-Administrators oder eines anderen Benutzers, der administrative Rechte zur Verwaltung des vCenter-Servers hat.
Hinweis: Sie können eine physische Linux-Maschine nicht in eine VM im Format von VMware Workstation mit dem VMware vCenter Converter Standalone konvertieren.
Wenn Sie Zertifikatwarnungen sehen, können Sie Ignorieren, um fortzufahren.
7. Zielvirtuelle Maschine. Wählen Sie das Rechenzentrum aus, um die virtuelle Maschine zu speichern, und geben Sie den Namen für die Ziel-VM ein, z. B. Ubuntu18-04-vm.
8. Zielort. Wählen Sie einen ESXi-Host aus, um die virtuelle Maschine auszuführen, und ein Datastore, um die virtuellen Maschinendateien zu speichern. Sie können auch die Version der virtuellen Maschine auswählen. Standardmäßig wird die höchste unterstützte virtuelle Maschinenversion ausgewählt. In diesem Fall ist es Version 13, da ESXi 6.5 verwendet wird.
9. Optionen. Auf diesem Schritt können Sie verschiedene Konversionsoptionen bearbeiten.
Zu kopierende Daten. Sie können alle Volumes oder benutzerdefinierte Volumes zum Kopieren auswählen und den Typ der virtuellen Festplattenbereitstellung (dicke oder dünne Bereitstellung) auswählen. Es ist auch möglich, jede virtuelle Festplatte auf einem anderen Datastore zu speichern. Lassen Sie das Kontrollkästchen „Optimiertes Partitionslayout erstellen“ aktiviert. Diese Option wird verwendet, um die Ausrichtung der Festplattenpartitionen zu optimieren.
Geräte. Legen Sie auf dem Speicher-Register die erforderliche Speichermenge für die Ziel-VM fest. Legen Sie auf dem Register Weitere den Festplattencontroller, die Anzahl der Prozessoren und Prozessorkerne fest.
Netzwerke. Wählen Sie die Anzahl der virtuellen Netzwerkadapter aus, die mit einer virtuellen Maschine verbunden werden sollen. Wählen Sie dann das virtuelle Netzwerk aus, mit dem jeder Netzwerkadapter verbunden werden muss, den Typ des Netzwerkcontrollers aus und aktivieren Sie das Kontrollkästchen Bei Einschalten verbinden, wenn erforderlich.
Erweiterte Optionen. Die Einstellungen nach der Konvertierung befinden sich in diesem Abschnitt. In unserem Fall ist für die Konvertierung eines physischen Linux-Servers in eine VMware-Virtualmaschine nur die Option Virtuelle Maschine des Ziel neu konfigurieren verfügbar. Diese Option wird verwendet, um den Bootloader zu konfigurieren, Treiber zu aktualisieren, die vom Betriebssystem verwendet werden, um für die Ausführung einer VM in der VMware-Umgebung optimierter zu sein (mit der entsprechenden virtuellen Hardware).
Helfer-VM-Netzwerk. Während des Konvertierungsprozesses eines Linux-Servers in eine VM erstellt der VMware vCenter Converter eine Helfer-VM auf dem Zielhost/Datenspeicher. Die Helfer-VM muss über das Netzwerk Zugriff auf die Quell-Physische-Maschine, die Linux ausführt, haben, um alle Dateien der Quellmaschine zu klonen. In diesem Abschnitt können Sie die IP-Adresse, die Netzmaske, das Gateway und die DNS-Server für die Netzwerkverbindung der Helfer-VM konfigurieren.
10. Zusammenfassung. Überprüfen Sie alle Konvertierungseinstellungen für Ihre P2V-Linux-Konvertierung, und wenn alles korrekt ist, klicken Sie auf Fertigstellen, um den Konvertierungsprozess zu starten.
11. Warten Sie, bis der Konvertierungsprozess abgeschlossen ist. Die Dauer der Konvertierung hängt von der Menge der auf den Festplatten der Quell-Linux-Maschine gespeicherten Daten ab. Wenn nach Abschluss der Konvertierung der Status Abgeschlossen des Konvertierungsauftrags im VMware vCenter Converter angezeigt wird, können Sie die Ziel-Linux-Virtualmaschine in der Benutzeroberfläche von VMware vSphere Client, VMware Host Client oder VMware Workstation starten.
Jedoch kann der P2V-Konvertierungsprozess der Linux-Maschine manchmal bei 97% mit dem Fehler enden:
FEHLGESCHLAGEN: Ein Fehler ist während der Konvertierung aufgetreten: „GrubInstaller::InstallGrub: /usr/lib/vmware-converter/installGrub.sh ist mit dem Rückgabecode 127 fehlgeschlagen, und die Meldung lautet: FATAL: kernel too old Fehler beim Ausführen von vmware-updateGrub.sh über chroot in /mnt/p2v-src-root Befehl:
chroot „/mnt/p2v-src-root“ /vmware-updateGrub.sh „GRUB2“ „(hd0)“ „(hd0,1)“ /vmware-device.map „grub2-install“ ‘
Dieses Problem kann auftreten, weil der GRUB-Bootloader von VMware vCenter Converter auf der Ziel-VM nicht ordnungsgemäß eingerichtet wurde. Wenn Sie versuchen, die Linux-VM nach der Konvertierung zu starten, erhalten Sie den Fehler: Fehler beim Laden des Betriebssystems.
Wie können Sie dieses VMware Converter Linux-Problem lösen?
1. Sie müssen von dem Ubuntu-Installationsmedium booten und es als Rettungsdatenträger verwenden. Bearbeiten Sie die VM-Einstellungen mithilfe des VMware vSphere Client, des VMware Host Client oder von VMware Workstation (VM > Einstellungen bearbeiten).
2. In den Hardware-Einstellungen wählen Sie das CD/DVD-Laufwerk der virtuellen Maschine und wählen das bootfähige Ubuntu-Installationsmedium aus. In unserem Beispiel verwenden wir das Ubuntu 18.04-Installations-ISO-Disk-Image, das auf dem Datenstore liegt und vom ESXi-Host, auf dem die Linux-VM nach der Konvertierung liegt, zugänglich ist. Vergessen Sie nicht, das Kontrollkästchen Bei Einschalten verbinden zu aktivieren.
3. Nach dem Start der VM drücken Sie F2, um in das VM BIOS Setup zu gelangen. Wählen Sie im Abschnitt Boot CD-ROM als erstes Bootgerät aus.
Danach gehen Sie zu Exit > Exit Saving Changes.
Als Alternative können Sie die Bootreihenfolge einmal ändern, indem Sie statt F2 nach dem Start einer VM Esc drücken.
4. Nach dem Start von Ubuntu von der Installationsmedium, wählen Sie Try Ubuntu auf der Welcome Screen. Warten Sie, bis Ubuntu von der Live DVD geladen wird und Sie sehen das Ubuntu Desktop.
5.Öffnen Sie die Ubuntu-Konsole und erhalten Sie root-Rechte.
sudo -i
6. Listen Sie auf verfügbare Disketten auf.
ls -al /dev/sd*
fdisk -l
In unserem Beispiel ist das einfachste Diskpartitionierungsschema für Ubuntu, das auf dem physischen Rechner installiert ist. Linux ist auf der einzigen Partition /dev/sda1 installiert, die den gesamten Datenträger repräsentiert. Sie müssen erkennen, welche Partition für den Linux-Boot verwendet wird und enthält die /boot/ Verzeichnis oder ist mountet auf das /boot/ Verzeichnis.
7. Sie können die Partition finden, die zum Booten von Linux mit parted verwendet wird:
parted /dev/sda
unit MB
p free
Nun können Sie sehen, welche Partition zum Booten von Linux verwendet wird (der boot Flag ist in dieser Zeichenfolge vorhanden). Danach können Sie parted verlassen.
quit
Hinweis: Wenn Sie ein manuelles Partitionierungsverfahren verwenden und eine separate Bootpartition für den Linux-Start, dann wird Ihre Partitionenliste anders aussehen, aber Sie sollten ebenfalls die Partition mit dem boot-Marker finden.
8. Erstellen Sie im RAM-Disk ein Verzeichnis und mounten die von Ubuntu verwendeten Partitionen. Wenn Ubuntu auf einer einzigen Partition installiert ist, verwenden Sie Befehle wie:
mkdir /mnt/ubuntu18
mount /dev/sda1 /mnt/ubuntu18
Hinweis: Wenn Ubuntu mehrere Partitionen verwendet, erstellen Sie separate Verzeichnisse und mounten jede Partition auf das entsprechende Verzeichnis:
mkdir /mnt/ubuntu18/boot
mkdir/mnt/ubuntu18/root
mount /dev/sda1 /mnt/ubuntu18/boot
mount /dev/sda2 /mnt/ubuntu18/root
und so weiter.
9. Installieren Sie Vim (den Texteditor).
apt-get install vim
10. Prüfen Sie die Disk-Identifikatoren für jede Disk-Partition. Sie müssen den UUID der Partition kennen, die den /boot-Ordner enthält (oder die Partition, die dem /boot-Ordner mountet). Merken Sie sich diesen neuen UUID. In unserem Fall ist diese Partition /dev/sda1
blkid
11. Bearbeiten Sie die Datei /etc/fstab auf dem virtuellen Datenträger, der von der installierten Ubuntu-Instanz verwendet wird. Die Datei /etc/fstab befindet sich im temporären Verzeichnis, das wir mit dem Wurzeldateisystem von Ubuntu (/mnt/ubuntu18/etc/fstab) verbunden haben.
vim /mnt/ubuntu18/etc/fstab
Ändern Sie die UUID jeder Partition in /etc/fstab, um das automatische mounten der Partition beim Start von Linux möglich zu machen. Ändern Sie die alten UUID-Werte, die für Platten auf einem physischen Linux-System verwendet wurden, in die neuen UUID-Werte, die auf einem neuen virtuellen System verwendet werden. In dem aktuellen einfachen Beispiel wird nur eine Partition /dev/sda1 verwendet und muss auf das Root-Verzeichnis (/) montiert werden. Daher müssen wir 2516177b-e9a9-4502-bdae-a3626fe3ab0a in dd05b02c-8772-4ec2-9340-2473ec8c2f8b. ändern.
Speichern Sie die Änderungen und verlassen Sie vim.
:wq
Hinweis: Wenn Ihr Linux mehrere Partitionen verwendet, müssen Sie möglicherweise die UUID-Werte für andere Partitionen ändern oder sie lediglich als sda2, sda3, sdb1, sdb2 usw. definieren, um das automatische mounten dieser Partitionen beim Linux-Start möglich zu machen.
12. Bearbeiten Sie die GRUB-Konfigurationsdatei, die sich normalerweise im Verzeichnis /boot/grub/ befindet. Merken Sie sich das temporäre Verzeichnis, in das Sie eine Partition eingehängt haben, die Dateien des Verzeichnisses /boot/ enthält. Nach der Konvertierung einer physischen Linux-Maschine in eine virtuelle Maschine wurde die UUID der Festplatte in der Ziel-VM geändert, und aus diesem Grund kann der Bootloader (GRUB) nicht von der erforderlichen Partition starten. In unserem Fall bearbeiten wir die Datei grub.cfg mit dem Befehl:
vim /mnt/ubuntu18/boot/grub/grub.cfg
13. Ersetzen Sie die alte UUID durch die neue. Die UUID kommt mehrmals in der Konfigurationsdatei vor, und das manuelle Bearbeiten dieses Werts ist nicht praktisch. Der Texteditor vim ermöglicht es Ihnen, den Quelltext durch den Zieltext automatisch zu ersetzen, indem Sie den Befehl verwenden:
:%s/Quelltext/Zieltext/g
Wobei %s bedeutet, dass alle übereinstimmenden Werte in der gesamten Textdatei ersetzt werden müssen.
In unserem aktuellen Beispiel verwenden wir den Befehl:
:%s/2516177b-e9a9-4502-bdae-a3626fe3ab0a/dd05b02c-8772-4ec2-9340-2473ec8c2f8b/g
Speichern Sie die Änderungen in der schreibgeschützten Datei und beenden Sie Vim.
:wq!
Hinweis: Wenn Ihr Linux mehrere Partitionen verwendet, ersetzen Sie die UUID-Werte aller Partitionen, deren UUIDs in der Datei grub.cfg erwähnt werden.
14. Jetzt müssen Sie GRUB wieder in den Bootloader im gleichen Verzeichnis installieren, in dem der Bootloader zuvor installiert wurde. In unserem Beispiel wurde GRUB im Verzeichnis /boot installiert und das Verzeichnis /boot ist jetzt vorübergehend als /mnt/ubuntu18/boot in unserem Beispiel erreichbar. Die Festplatte, die zum Booten von Ubuntu verwendet wird, ist entsprechend /dev/sda.
grub-install –boot-directory=/mnt/ubuntu18/boot /dev/sda
15. Alle zuvor eingehängten Partitionen aushängen:
umount /dev/sda1
16. Die VM herunterfahren
init 0
17. Boot-Einstellungen neu konfigurieren, um von einer virtuellen Festplatte und nicht von einem CD-ROM in den VM-Einstellungen zu booten.
18. Die VM einschalten.
19. Jetzt kann die VM von ihrer virtuellen Festplatte mit GRUB auf einem ESXi-Host booten.
Sie wissen nun, wie Sie eine VMware P2V Linux-Konvertierung mit dem VMware vCenter Converter Standalone durchführen können. Leider ist die VMware Converter Linux-Version nicht verfügbar, aber wenn Sie Ihren physischen Linux-Server in eine VMware-VM konvertieren möchten, indem Sie nur Linux-Maschinen verwenden, sollten Sie sich mit der zweiten Methode zur P2V Linux-Konvertierung vertraut machen.
Methode 2 – VMware P2V Linux-Konvertierung ohne VMware Converter
Die zweite Methode zur Konvertierung einer physischen Linux-Maschine in eine virtuelle Maschine des ESXi-Formats erfordert nicht den VMware vCenter Converter Standalone. Diese Methode kann von Benutzern und Administratoren verwendet werden, die keine Windows-Maschine in ihrer Umgebung haben (wie Sie sich erinnern, kann VMware vCenter Converter nur unter Windows installiert werden). Die Idee hinter der zweiten VMware P2V Linux-Konvertierungsmethode ist wie folgt:
- Erstellen Sie Abbilder Ihrer physischen Festplatten, die in einem physischen Linux-Server mit dem dd-Dienstprogramm verwendet werden.
- Konvertieren Sie die resultierenden Abbilder in Abbilder des vmdk-Formats.
- Erstellen Sie eine neue VM in VMware Workstation (die auf Linux oder Windows ausgeführt werden kann) unter Verwendung vorhandener virtueller Festplatten für die neue VM.
- Exportieren Sie die VM aus einem VMware Workstation-Format in eine OVF-Vorlage.
- Erstellen Sie eine neue VM auf einem ESXi-Host aus der OVF-Vorlage.
In unserem Beispiel ist Ubuntu 18 auf einer physischen Maschine installiert, die konvertiert werden muss, ESXi 6.5 und vCenter 6.5 werden als Ziel verwendet, und VMware Workstation 15 wird als Übergangspunkt im P2V-Linux-Konvertierungsprozess verwendet.
Schritt-für-Schritt-Anleitung
1. Führen Sie auf dem physischen Linux-Server das dd (Daten-Duplikator) Dienstprogramm für jede physische Festplatte (/dev/sda, /dev/sdb usw.) aus und erstellen Sie das Abbild jeder Festplatte. Sie können eine USB-Festplatte an Ihre physische Linux-Maschine anschließen und die mit dem dd-Dienstprogramm erstellten Abbilder auf dieser USB-Festplatte speichern. Später können Sie diese USB-Festplatte an eine Maschine anschließen, auf der eine VM erstellt werden muss. Im aktuellen Beispiel befinden sich alle von Linux verwendeten Partitionen auf der /dev/sda-Festplatte:
dd if=/dev/sda of=/media/user1/data/sda.img bs=8M conv=sync,noerror status=progress
Wo:
if=/dev/sda – die Eingabedatei, die den gesamten physischen Disketten stellt;
of=/media/user1/data/sda.img – der Pfad zur Ausgabedatei, die in diesem Fall auf dem externen Datenträger liegt;
bs=8M – Blockgröße ist 8 MB. Diese Option verbessert die Geschwindigkeit, da dd Daten standardmäßig mit 512-Byte-Teilen kopiert;
conv=sync,noerror – verhindert, dass dd bei einem Lesefehler an der Quelldatei (Datei) stoppt;
status=progress – verwenden Sie diese Option, um das Fortschrittstempo im Konsole-Aufruf anzuzeigen;
2. Installieren Sie qemu, ein Open-Source-Programm für Hardware-Emulation. Sie können qemu auf jeder Linux-Maschine installieren;
apt-get install qemu
3. Gehen Sie in der Linux-Konsole in das Verzeichnis, wo die vorher erstellten img-Dateien liegen. Verwandeln Sie mit Qemu die Images Ihrer Disketten, die mit dem dd-Werkzeug im img-Dateiformat erstellt wurden, in das vmdk-Format. Für diese Aufgabe kann Qemu verwendet werden. Wir verwandeln in unserem Beispiel ein Diskettenbild:
qemu-img convert -o compat6 sda.img -O vmdk sda-vmware.vmdk
Jetzt werden Datenträgerabbilder in das vmdk Format convertiert und sind bereit geöffnet zu werden in VMware Workstation. Wie Sie sich erinnern, ist der Aufbau von VMDK- virtuellen Datenträgern für VMware Workstation und VMware ESXi unterschiedlich. Details zum VMDK-Dateiformat sind hier erklärt. Sie müssen einen VM aus VMware Workstation exportieren, um ein OVF-Vorlagemodell zu erstellen und anschließend einen VM aus der OVF-Vorlage auf einem ESXi-Host importieren.
Stellen Sie sicher, dass VMware Workstation auf jedem Ihrer Computer installiert ist. In unserem Beispiel ist VMware Workstation 15 auf einem Maschine mit Ubuntu 18 installiert, aber nicht auf dem Quell-Linux-System, das zu einer VM konvertiert werden muss (wir verwenden Windows nicht für diese P2V-Linux-Konvertierungsmethode). Der Algorithmus für Windows-Systeme mit VMware Workstation ist ähnlich.
4. Erstellen Sie ein neues Verzeichnis auf dem System mit VMware Workstation, z.B. /vms/P2V_Linux
mkdir /vms/P2V_Linux
5. Kopieren Sie Ihre von qemu convertierten vmdk Dateien in dieses Verzeichnis. In diesem Fall kopieren wir die Datei sda-vmware.vmdk in dieses Verzeichnis.
6. Erstellen Sie in VMware Workstation einen neuen virtuellen Rechner:
Datei > Neuer virtueller Rechner
A New Virtual Machine Wizard is opened. You should pass all the configuration steps of this wizard:
Virtueller Rechner-Konfiguration. Wählen Sie benutzerdefiniert (erweitert), um die Konfiguration der fortgeschrittenen Optionen zu ermöglichen. Klicken Sie auf Weiter, um fortzufahren.
Virtuelle Maschine Hardware Kompatibilität. Wählen Sie die notwendige virtuelle Maschine Hardware Version, z.B. Workstation 15.x.
Gast Betriebssystem Installierung. Wählen Sie Ich installiere das Betriebssystem später.
Gast Betriebssystem. Wählen Sie Linux, dann wählen Sie Ubuntu 64-bit aus dem Dropdown-Menü.
Virtuelle Maschine Name. Geben Sie den Namen und legen Sie den Ort für Ihre virtuelle Maschine fest. In diesem Beispiel lautet der VM Name P2V Linux und ihr Ort ist /vms/P2V_Linux_VM/
Prozessor-Konfiguration. Wählen Sie die Anzahl der Prozessoren und die Anzahl der Prozessorkerne entsprechend der Konfiguration Ihres physischen Linux-Rechners, der zu einer VMware-VM konvertiert wird.
Speicher für die Virtuelle Maschine. Stellen Sie sicher, dass der Arbeitsspeicher mindestens so groß ist wie der Arbeitsspeicher Ihres physischen Linux-Computers.
Netzwerkverbindung. Wählen Sie das Netzwerktyp, z.B. Brücken-Netzwerk. Stellen Sie sicher, dass der Quell-Linux-Server nun getrennt ist, um Netzwerkkonflikte zu vermeiden.
I/O Controller Types. Select the recommended value. In this example, SCSI Controller: LSI Logic (Recommended) is selected.
Virtueller Disktyp. Wählen Sie den empfohlenen Disktyp. In unserem Fall ist er SCSI (empfohlen).
Wähle einen Datenträger. Wählen Sie die Option Verwende eine existierende virtuelle Datenträgerdatei.
Wähle eine vorhandene Datenträgerdatei. Blättern Sie in der entsprechenden vmdk Datei Ihres konvertierten /dev/sda Datenträgers. In dem aktuellen Beispiel ist die Datei sda-vmware.vmdk als vorhandene virtuelle Datenträgerdatei ausgewählt.
Hinweis: Wenn Sie auf einem Quell-physischen Linux-Server mehrere Festplatten haben und nach der Konvertierung mehrere VMDK-Dateien entstehen, wählen Sie die erste vmdk-Datei, die von der /dev/sda-Festplatte konvertiert wurde. Fügen Sie andere Festplatten nach dem Erstellen der VM manuell hinzu, indem Sie die Virtualisierungs-Einstellungen bearbeiten.
Wählen Sie Bestehende Format beibehalten, um bessere Kompatibilität zu erhalten.
Bereit zur Erstellung der Virtual Machine. Prüfen Sie die Konfigurationsübersicht und klicken Sie auf Fertigstellen, wenn alles korrekt ist.
Nach der Erstellung der VM können Sie die VM-Konfiguration überprüfen, bevor Sie die VM starten.
Hinweis: Wenn Sie mehrere physische Festplatten in virtuellen Festplatten umgewandelt haben, fügen Sie die verbleibenden virtuellen Festplatten hinzu, indem Sie Folgendes tun:
- Klicken Sie auf VM > Einstellungen
- Klicken Sie auf Hinzufügen im Register Hardware
- Wählen Sie Festplatte
- Wählen Sie die empfohlene Option (SCSI in unserem Fall)
- Klicken Sie auf Eine vorhandene virtuelle Festplatte verwenden
- Wählen Sie eine virtuelle Festplattendatei
7. Starten Sie die VM in VMware Workstation (stellen Sie sicher, dass alle notwendigen virtuellen Festplatten zur VM-Konfiguration hinzugefügt sind).
8. Sobald Ihre Linux-Gast-VM geladen ist, prüfen Sie die Netzwerkverbindung:
ifconfig
9. Installieren Sie VMware Tools auf dem Linux, der in der VM läuft. In Ubuntu kann VMware Tools von einer virtuellen ISO-Diskettenabbildung oder online Software-Repositories installiert werden.
apt-get install open-vm-tools
10. Wenn alles richtig ist, fahren Sie die VM herunter und bereiten Sie sich darauf vor, eine OVF-Vorlage zu erstellen, um die VM auf einen ESXi-Host zu migrieren.
11. Klicken Sie in der GUI von VMware Workstation auf Datei > Exportieren in OVF.
12. Speichern Sie die OVF-Datei im Verzeichnis mit Ihrer Linux-VM, z.B. Im aktuellen Beispiel wird die OVF-Vorlage unter /vms/P2V_Linux_VM/ gespeichert.
13. Öffnen Sie den VMware vSphere Client in Ihrem Webbrowser.
14. Gehen Sie zu Hosts und Cluster und wählen Sie dann Ihren ESXi-Host aus, auf dem Sie nach der Konvertierung eine VM ausführen möchten.
15. Erstellen Sie eine VM aus einer Vorlage. Klicken Sie auf Aktionen > OVF-Vorlage bereitstellen.
A new window of the Deploy OVF Template wizard is opened and contains 7 steps:
1. Wählen Sie eine OVF-Vorlage aus. Klicken Sie auf Lokale Datei und dann auf Durchsuchen. Sie sollten zwei Dateien auswählen – die OVF-Datei der VM-Vorlage und die VMDK-Datei(en) des virtuellen Datenträgers (Datenträger). Wenn Sie nur eine OVF-Vorlagendatei auswählen, wird eine Meldung über fehlende Dateien und deren Namen angezeigt. Die Dateien müssen von einem Rechner aus zugänglich sein, auf dem Sie den VMware vSphere Client geöffnet haben (die Dateien müssen auf lokalen Datenträgern, SMB- oder NFS-Freigabe usw. gespeichert sein).
2. Wählen Sie einen Namen und einen Ordner aus. Geben Sie einen eindeutigen VM-Namen und den Zielspeicherort an (ein Rechenzentrum oder VM-Ordner). Im aktuellen Beispiel lautet der Name der VM P2V_Linux.
3. Wählen Sie eine Berechnungsressource aus. Wählen Sie an dieser Stelle einen ESXi-Host oder Cluster aus, auf dem Ihre VM ausgeführt wird.
Es kann ein Fehler bei diesem Schritt auftreten: Bei der ausgewählten Vorlage wurden Probleme erkannt. Details: – -1:-1:WERT_UNGÜLTIG: Es gibt keine von ESXi-Hostunterstützten Hardwareversionen in [vmx-16]; unterstützt werden: [vmx-04, vmx-07, vmx-08, vmx-09, vmx-10, vmx-11, vmx-12, vmx-13].
Dieser Fehler kann auftreten, wenn die in der VM-Vorlage eingestellte Hardwareversion höher ist als die von einem ESXi-Host unterstützte Hardwareversion.
Bearbeiten Sie die OVF-Datei im Texteditor, um dieses Problem zu beheben. Sie können Vim in Linux verwenden. Gehen Sie in das Verzeichnis, wo sich die OVF-Vorlage befindet, und bearbeiten Sie die Datei:
vim P2V_Linux.ovf
Suchen Sie die Zeichenfolge wie vmx-xx, wobei xx die Nummer der VM-Hardwareversion ist. Die höchste unterstützte Hardwareversion für ESXi 6.5 ist 13 und in unserer Vorlage ist die VM-Hardwareversion 16 eingestellt.
Um den notwendigen Text in Vim zu finden, tippen Sie in den Navigationsmodus:
/vmx-
Bearbeiten wir vmx-16 auf vmx-12, z.B., und speichern Sie die OVF-Datei.
Sobald Sie die Änderungen in der OVF-Datei gespeichert haben, gehen Sie zu VMware vSphere Client zurück und klicken Sie auf Weiter beim Schritt Wähle eine Rechenressource des OVF-Vorlagen-Deployment-Assistenten.
4. Überprüfe Details. Auf diesem Schritt können Sie die Vorlagedetails überprüfen.
5. Wähle Speicherung. Wählen Sie das Zieldatastore, in dem die Konfiguration und die Datenträgerdateien des VMs gespeichert werden sollen, und wählen Sie die Virtualisierungsdatenträgerformat (Lazy Zeroed Thick, Eager Zeroed Thick oder Thin Provision).
6. Netzwerke auswählen. Wählen Sie ein Netzwerk für jede virtuelle Netzwerkadapter. Sie sollten jeden Netzwerkadapter so einrichten, dass er mit dem entsprechenden Netzwerk verbunden ist.
7. Bereit zum Abschließen. Überprüfen Sie die Konfiguration und klicken Sie auf Fertig stellen, um mit der Erstellung der VM zu beginnen.
Warten Sie, bis aus dem Template eine neue VM erstellt wird.
16. Nachdem die VM von der OVF-Vorlage importiert wurde, starten Sie die VM auf Ihrem ESXi-Host. Lesen Sie mehr über VM-Vorlagen in diesem Blogeintrag. Wenn Sie die Nachricht “Möchten Sie versuchen, dieses virtuelle Gerät beim Starten der virtuellen Maschine jedes Mal zu verbinden?” erhalten, antworten Sie, dass Sie dieses Gerät nicht jedes Mal während des Startens der VM verbinden möchten, indem Sie auf Nein klicken.
A physical Linux server has been converted to a virtual machine without using Windows and VMware vCenter Converter Standalone. The process of VMware P2V Linux conversion was explained on an example of Ubuntu Linux. If you need to convert physical servers running other Linux distributions such as SUSE or Red Hat to VMware virtual machines, use the same algorithm, but keep in mind that some commands and locations of configuration files can be different. Instead of using apt-get package manager in SUSE, you should use zypper and in Red Had use yum. You may need to reconfigure network settings of the virtual machine such as an IP address, default gateway, DNS server, etc.
Fazit
Der Umwandlungsprozess einer physischen Linux-Server-VMware-VM kann mit verschiedenen Methoden durchgeführt werden – mit VMware vCenter Converter Standalone, der einen Windows-Rechner benötigt, und mit Linux-Utilities in Verbindung mit VMware Workstation. Bei der Verwendung dieser Methoden müssen Sie die VM-Konfiguration manuell bearbeiten können. Beim Einsatz der ersten Methode kann nur ein ESXi-Host als Ziel für die P2V-Linux-Umwandlung verwendet werden, während die zweite Methode verwendet werden kann, um eine physische Linux-Maschine in sowohl VMware ESXi als auch VMware Workstation-Formate umzuschalten.
Source:
https://www.nakivo.com/blog/vmware-p2v-linux-conversion-comprehensive-walkthrough/