So konvertieren Sie einen physischen Linux-Server in eine VMware-VM: Umfassende Anleitung
Der Betrieb von Servern auf Virtuellen Maschinen bietet Ihnen eine Reihe von Vorteilen wie Skalierbarkeit, rationelle Ressourcennutzung, Hochverfügbarkeit, Lastenausgleich, komfortables Management, Funktionen für Datensicherheit usw. Aus diesem Grund möchten Sie möglicherweise einige Ihrer physischen Server auf Virtuelle Maschinen migrieren. Dieser Vorgang wird auch als „Physical-to-Virtual“-Konvertierung (P2V) bezeichnet.
VMware ist einer der Marktführer in der IT-Branche bei der Bereitstellung von Virtualisierungslösungen, und Linux ist eines der zuverlässigsten Betriebssysteme für Server. Dieser Blogbeitrag erläutert die Bedeutung von Linux-Server-Backups und beschreibt, wie ein physischer Linux-Server in eine virtuelle Maschine (VM) konvertiert wird, die auf einem VMware ESXi-Host in vSphere läuft. Am Beispiel von Ubuntu 18 werden zwei verschiedene Methoden der VMware-P2V-Linux-Konvertierung betrachtet.
Methode 1 – Verwendung von VMware vCenter Converter
VMware vCenter Converter Standalone ist eine kostenlose Anwendung, die unter Windows installiert werden kann und zur Konvertierung von physischen Windows- und Linux-Rechnern, Hyper-V-VMs, VMware-VMs sowie VMs, die unter Red Hat KVM oder RHEL XEN laufen, dient. Zu den unterstützten Zieltypen gehören: VMs für nicht verwaltete ESXi-Hosts; VMs für von vCenter Server verwaltete ESXi-Hosts; VMs für VMware Workstation; VMs für VMware Fusion.
Die Konvertierung einer Hyper-V-VM in eine auf einem VMware ESXi-Host befindliche VMware-VM wurde unter dieser Blogbeitragerläutert.
Das Funktionsprinzip
Bei der Konvertierung eines eingeschalteten physischen Linux-Rechners in eine virtuelle Maschine im VMware-ESXi-Format installiert VMware vCenter Converter Standalone keinen Agenten auf dem Quell-Linux-Rechner (im Gegensatz zu Windows-Rechnern). Der Konvertierungsprozess lässt sich in zwei Hauptphasen unterteilen.
Phase 1 . VMware Converter verbindet über SSH mit einem Quell-Linux-Rechner und ermöglicht es Ihnen, die zu kopierenden Komponenten wie virtuelle Festplatten und Partitionen auszuwählen. Entsprechend den ausgewählten Komponenten des physischen Quell-Linux-Rechners und den konfigurierten Einstellungen der Ziel-VM erstellt der Konverter eine Hilfs-VM.
Schritt 2 . Wenn alle erforderlichen Komponenten ausgewählt und die Netzwerkeinstellungen der Hilfs-VM konfiguriert sind, erstellt VMware Converter eine Hilfs-VM auf einem Ziel-VMware ESXi-Host und in den Datenspeichern. Anschließend startet der Converter die Hilfs-VM, die vom ISO-Image der Hilfs-VM bootet, und kopiert alle erforderlichen Daten von einem Linux-Quellrechner auf eine Ziel-VM, die bis zum Fertigstellen des Konvertierungsprozesses den Status einer Hilfs-VM hat.
Eine Hilfs-VM wird aus dem Linux-basierten ISO-Image bereitgestellt, das im Dateisystem des Windows-Rechners gespeichert ist, auf dem der Converter installiert ist. Der Standort der Dateien converter-helper-vm.iso und converter-helper-vm-x64.iso , die zum Booten einer Hilfs-VM auf einem ESXi-Host verwendet werden, ist standardmäßig „ C:Program Files (x86)VMwareVMware vCenter Converter Standalone“ .
Nach dem Kopieren der Daten in die Ziel-VM kann die VM von VMware Converter neu konfiguriert werden, sofern die entsprechenden Optionen für den Konvertierungsauftrag ausgewählt wurden.
Systemanforderungen
Es gibt einige Voraussetzungen, die erfüllt sein müssen, um eine VMware P2V-Linux-Konvertierung mit VMware Converter durchzuführen:
- Eine physische Maschine unter Linux muss eingeschaltet sein.
- Ein VMware ESXi-Host muss eingeschaltet und über das Netzwerk erreichbar sein. vCenter Converter Standalone-Client und -Server müssen in der Lage sein, aufeinander zuzugreifen. Es werden standardmäßig TCP-Ports 22, 443, 902 für die Netzwerkkommunikation genutzt.
- Der GRUB-Bootloader muss auf der physischen Linux-Maschine verwendet werden, die konvertiert werden soll. LILO wird nicht unterstützt.
- Optische Discs müssen aus optischen Disc-Laufwerken ausgeworfen werden.
- Der SSH-Server muss auf der physischen Linux-Maschine (die Quellmaschine) konfiguriert werden.
Hinweis: Der SSH-Server kann auf Ubuntu-Linux mit dem Befehl installiert werden:
apt-get install openssh-server
Der Fernzugriff für den Benutzer mit Passwort über SSH kann konfiguriert werden, indem die sshd_config -Datei bearbeitet wird:
vim /etc/ssh/sshd_config
Erstellen oder kommentieren Sie die Zeichenfolge:
PasswordAuthentication yes
Speichern Sie die Konfigurationsdatei
:wq
Starten Sie den sshd Daemon (Dienst) neu
service sshd restart
VMware Converter Linux P2V-Konvertierung: Schritt-für-Schritt-Anleitung
Um eine Linux P2V-Konvertierung durchzuführen, sollten Sie die folgenden Schritte unternehmen:
1. Herunterladen VMware vCenter Converter Standalone von der offiziellen Website herunterladen.
2. Installieren Sie den Converter auf einem Windows-Rechner, der eine Verbindung zu Ihrem Linux-Rechner über das Netzwerk herstellen kann. Der Installationsprozess ist unkompliziert – starten Sie einfach die EXE-Datei und folgen Sie den Empfehlungen des Installationsassistenten. In diesem Beispiel wird VMware Converter 6.2 verwendet.
3. Starten Sie VMware vCenter Converter Standalone.
4. Klicken Sie auf Convert machine.
5. Source System. Wählen Sie das Quellsystem im Maschinenkonversionsassistenten aus, der geöffnet ist. Wählen Sie Powered on und Remote Linux machine. Geben Sie die IP-Adresse, den Benutzernamen und das Passwort ein, die auf der Remote-Linux-Maschine verwendet werden. Denken Sie daran, dass der SSH-Server auf der Linux-Maschine konfiguriert werden muss und eine Firewall den SSH-Zugriff in diesem Schritt nicht blockieren darf. Andernfalls wird die Fehlermeldung angezeigt: Keine Verbindung zum Quellcomputer per SSH möglich. Überprüfen Sie, ob eine Firewall den Zugriff auf den SSH-Daemon auf dem Quellcomputer blockiert . Der angegebene Benutzer muss in der Lage sein, sich mit der Login/Passwort-Kombination oder einer privaten Schlüsseldatei über SSH in die Linux-Konsole einzuloggen. Für dieses Beispiel wird ein Benutzer namens user1 mit Passwort verwendet.
5.1. Klicken Sie auf View source details, um die Details Ihrer Remote-Linux-Maschine anzuzeigen, die in eine VMware-virtuelle Maschine konvertiert werden muss. Klicken Sie auf Weiter , um fortzufahren und zum nächsten Schritt zu wechseln.
Wenn Sie die Sicherheitswarnung (Remote-Host-Daumenabdruck-Warnung) sehen, klicken Sie auf Ja , um sich zu verbinden. Manchmal kann der Konverter keine Befehle auf Ihrer Remote-Linux-Maschine ausführen und zeigt die Warnung an: Kann die Live-Linux-Quellmaschine nicht abfragen. Stellen Sie sicher, dass Sie sudo ohne Eingabe eines Passwortes ausführen können, wenn Sie sich auf der Quellmaschine über SSH als your_username angemeldet haben.
In diesem Fall müssen Sie die Datei /etc/sudoers bearbeiten und Ihrem Benutzer ermöglichen, sudo auszuführen, ohne das Passwort einzugeben. Anstatt /etc/sudoers manuell zu bearbeiten, verwenden Sie 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. Sie müssen Ihren Benutzernamen eingeben. Drücken Sie Ctrl+X, um zu beenden, und drücken Sie Y (Ja), um die Änderungen an der Datei zu speichern.
6. Destination System. Wählen Sie das Zielsystem aus. Standardmäßig ist der Zieltyp als VMware Infrastructure virtuelle Maschine definiert, wenn Sie eine physische Linux-Maschine konvertieren, und dies ist die einzige verfügbare Option zum Konvertieren einer physischen Linux-Maschine in eine VMware-VM. Das 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 aus und geben Sie die Anmeldeinformationen des vCenter-Administrators oder eines anderen Benutzers ein, der über administrative Berechtigungen zur Verwaltung des vCenter-Servers verfügt.
Hinweis: Sie können keine physische Linux-Maschine mit VMware vCenter Converter Standalone in ein VMware Workstation-Format konvertieren.
Wenn Sie Zertifikatswarnungen sehen, können Sie Ignorieren drücken, um fortzufahren.
7. Destination Virtual Machine. Wählen Sie das Rechenzentrum aus, in dem Sie die virtuelle Maschine speichern möchten, und geben Sie den Namen für die Ziel-VM ein, zum Beispiel Ubuntu18-04-vm .
8. Destination Location. Wählen Sie einen ESXi-Host aus, um die virtuelle Maschine auszuführen, und einen Datenspeicher, um die Dateien der virtuellen Maschine zu speichern. Sie können auch die virtuelle Maschinenversion auswählen. Standardmäßig ist die höchste unterstützte virtuelle Maschinenversion ausgewählt. In diesem Fall ist es Version 13, weil ESXi 6.5 verwendet wird.
9. Options. In diesem Schritt können Sie verschiedene Konvertierungsoptionen bearbeiten.
Daten zum Kopieren . Sie können alle Volumen oder benutzerdefinierte Volumen zum Kopieren auswählen und den Typ der virtuellen Festplattenbereitstellung ((Thick- oder Thin-Provisioning). Es ist auch möglich, jede virtuelle Festplatte auf einem anderen Datenspeicher zu speichern. Lassen Sie das Kontrollkästchen „ Optimiertes Partitionslayout erstellen “ angekreuzt. Diese Option wird verwendet, um die Ausrichtung der Festplattenpartitionen zu optimieren.
Geräte . Stellen Sie die erforderliche Speichermenge für die Ziel-VM auf der Speicher Registerkarte ein. Stellen Sie den Festplattencontroller, die Anzahl der Prozessoren und Prozessorkerne auf der Andere Registerkarte ein.
Netzwerke . Wählen Sie die Anzahl der virtuellen Netzwerkadapter aus, die an eine virtuelle Maschine angeschlossen werden sollen. Wählen Sie dann das virtuelle Netzwerk aus, an das jeder Netzwerkadapter angeschlossen werden muss verbunden, den Typ des Netzwerkcontrollers, und setzen Sie bei Bedarf ein Häkchen im Beim Einschalten verbinden Kontrollkästchen.
Erweiterte Optionen . Post-Conversion-Einstellungen befinden sich in diesem Abschnitt. In unserem Fall ist für die Konvertierung eines physischen Linux-Servers in eine VMware-Virtuelle Maschine nur die Option Ziel-VM neu konfigurieren verfügbar. Diese Option wird verwendet, um den Bootloader zu konfigurieren und Treiber zu aktualisieren, die vom Betriebssystem verwendet werden, um eine bessere Optimierung für das Ausführen einer VM in der VMware-virtuellen Umgebung zu erzielen (mit der entsprechenden virtuellen Hardware).
Helfer-VM-Netzwerk . Während des Prozesses der Konvertierung eines Linux-Servers in eine VM erstellt der VMware vCenter Converter eine Helfer-VM auf dem Ziel-Host/Datenspeicher. Die Helfer-VM muss über das Netzwerk Zugriff auf die Quell-physische Maschine haben, die Linux ausführt, um alle Dateien der Quellmaschine zu klonen. In diesem Abschnitt können Sie die IP-Adresse, Netzmaske, das Gateway und die DNS-Server für die Netzwerkverbindung der Helfer-VM konfigurieren.
10. Summary. Überprüfen Sie alle Konvertierungseinstellungen für Ihre Linux-P2V-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 Datenmenge ab, die auf den Festplatten der Quell-Linux-Maschine gespeichert ist. Wenn Sie nach Abschluss der Konvertierung den Status Abgeschlossen des Konvertierungsjobs im VMware vCenter Converter sehen, können Sie die Ziel-Linux-VM im Interface des VMware vSphere Client, des VMware Host Client oder VMware Workstation starten.
Manchmal kann der P2V-Konvertierungsprozess der Linux-Maschine 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ückgabewert: 127 und der Nachricht gescheitert: FATAL: Kernel zu alt Fehler beim Ausführen von vmware-updateGrub.sh durch 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 nicht richtig von VMware vCenter Converter auf der Ziel-VM eingerichtet wurde. Wenn Sie versuchen, die Linux virtuelle Maschine 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 vom Ubuntu-Installationsmedium booten und es als Rettungsdiskette verwenden. Bearbeiten Sie die VM-Einstellungen mit dem VMware vSphere Client, dem VMware Host Client oder VMware Workstation (VM > Edit Settings).
2. In den Hardware Einstellungen wählen Sie das CD/DVD-Laufwerk der virtuellen Maschine und wählen das Ubuntu-Installationsstartmedium aus. In unserem Beispiel verwenden wir das Ubuntu 18.04-Installations-ISO-Disk-Image, das sich auf dem Datenspeicher befindet, der vom ESXi-Host zugänglich ist, auf dem sich die Linux VM nach der Konvertierung befindet. Vergessen Sie nicht, das Kontrollkästchen Verbinden beim Einschalten zu aktivieren.
3. Nachdem Sie die VM gestartet haben, drücken Sie F2, um das BIOS-Setup der VM zu betreten. Wählen Sie CD-ROM als erstes Startgerät im Boot Abschnitt aus.
Gehen Sie dann zu Exit > Exit Saving Changes.
Alternativ können Sie die Startreihenfolge einmalig ändern, indem Sie Esc anstelle von F2 direkt nach dem Starten einer VM drücken.
4. Nach dem Booten vom Ubuntu Installationsmedium wählen Sie Try Ubuntu auf dem Willkommens Bildschirm aus. Warten Sie, bis Ubuntu vom Live-DVD geladen ist und Sie werden den Ubuntu-Desktop sehen.
5. Öffnen Sie die Ubuntu-Konsole und erhalten Sie Root-Rechte.
sudo -i
6. Listen Sie verfügbare Festplatten auf.
ls -al /dev/sd*
fdisk -l
In unserem Beispiel wird die einfachste Festplattenpartitionierung für Ubuntu verwendet, das auf der physischen Maschine installiert ist. Linux ist auf der einzigen /dev/sda1 Partition installiert, die die gesamte Festplatte darstellt. Sie müssen erkennen, welche Partition zum Linux-Booten verwendet wird und das Verzeichnis /boot/ enthält oder in das Verzeichnis /boot/ gemountet ist.
7. Sie können die Partition finden, die zum Booten von Linux verwendet wird, mit „parted“:
parted /dev/sda
unit MB
p free
Nun können Sie sehen, welche Partition zum Booten von Linux verwendet wird (die Boot Flagge ist in diesem String vorhanden). Danach können Sie parted verlassen.
quit
Hinweis: Wenn Sie ein manuelles Partitionsschema und eine separate Bootpartition zum Booten von Linux verwenden, wäre Ihre Liste der Partitionen anders, aber Sie sollten ähnlich die Partition mit der Boot Flagge finden.
8. Erstellen Sie das Verzeichnis auf dem RAM-Disk und mounten Sie die Partitionen, die von Ubuntu genutzt werden. 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 Sie jede Partition ins 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 V im (den Texteditor).
apt-get install vim
10. Überprüfen Sie die Datenträgerkennung für jede Festplattenpartition. Sie müssen die UUID der Partition kennen, die das /boot -Verzeichnis enthält (oder die Partition, die auf das /boot -Verzeichnis gemountet ist). Merken Sie sich diese neue UUID. In unserem Fall ist diese Partition /dev/sda1
blkid
11. Bearbeiten Sie die /etc/fstab -Datei auf der von der installierten Instanz von Ubuntu verwendeten virtuellen Festplatte. Die /etc/fstab -Datei befindet sich in dem temporären Verzeichnis, auf das wir das Root-Dateisystem von Ubuntu gemountet haben (/mnt/ubuntu18/etc/fstab ).
vim /mnt/ubuntu18/etc/fstab
Ändern Sie die UUID jeder Partition in /etc/fstab , um das automatische Mounten der Partition beim Linux-Booten zu ermöglichen. Ändern Sie die alten UUID-Werte, die auf einer physischen Linux-Maschine verwendet werden, in die neuen UUID-Werte auf einer neuen virtuellen Maschine. Im aktuellen einfachen Beispiel wird nur eine /dev/sda1 -Partition verwendet und muss im Root- (/)-Verzeichnis gemountet werden. Daher müssen wir 2516177b-e9a9-4502-bdae-a3626fe3ab0a in dd05b02c-8772-4ec2-9340-2473ec8c2f8b ändern.
Speichern Sie die Änderungen und beenden Sie vim.
:wq
Hinweis: Wenn Ihr Linux mehrere Partitionen verwendet, müssen Sie eventuell den UUID-Wert für andere Partitionen ändern oder sie einfach als sda2 , sda3 , sdb1 , sdb2 usw. definieren, um das automatische Mounten dieser Partitionen beim Linux-Booten zu ermöglichen.
12. Bearbeiten Sie die GRUB-Konfigurationsdatei, die sich normalerweise im /boot/grub/-Verzeichnis befindet. Erinnere dich an das temporäre Verzeichnis, auf das du eine Partition gemountet hast, die Dateien des /boot/-Verzeichnisses enthält. Nach der Konvertierung einer physischen Linux-Maschine zu einer virtuellen Maschine wurde die UUID der Festplatte auf der Ziel-VM geändert und der Bootloader (GRUB) kann daher nicht von der erforderlichen Partition booten. In unserem Fall bearbeiten wir die grub.cfg -Datei 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 die manuelle Bearbeitung dieses Wertes ist nicht praktisch. Der Texteditor vim ermöglicht Ihnen, den Quelltext automatisch durch den Zieltext zu ersetzen, indem Sie den Befehl verwenden: :%s/source_text/target_text/g
Dabei bedeutet „ %s “, 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-System mehrere Partitionen verwendet, ersetzen Sie die UUID-Werte aller Partitionen, deren UUIDs in der Datei grub.cfg erwähnt sind.
14. Nun müssen Sie GRUB als Bootloader in demselben Verzeichnis neu installieren, in dem der Bootloader zuvor installiert war. In unserem Beispiel wurde GRUB im Verzeichnis /boot installiert, und das Verzeichnis /boot ist in unserem Beispiel nun vorübergehend unter /mnt/ubuntu18/boot zugänglich. Die zum Starten von Ubuntu verwendete Festplatte ist dementsprechend /dev/sda .
grub-install --boot-directory=/mnt/ubuntu18/boot /dev/sda
15. Hängen Sie alle zuvor gemounteten Partitionen aus:
umount /dev/sda1
16. Fahren Sie die VM herunter:
init 0
17. Konfigurieren Sie die Boot-Einstellungen in den VM-Einstellungen so um, dass von einer virtuellen Festplatte statt von einer CD-ROM gebootet wird.
18. Schalten Sie die VM ein.
19. Nun kann die VM auf einem VMware ESXi-Host mit GRUB von ihrer virtuellen Festplatte booten.
Damit wissen Sie, wie Sie eine VMware-P2V-Linux-Konvertierung mit VMware vCenter Converter Standalone durchführen. Leider ist die Linux-Version des VMware Converter nicht verfügbar. Wenn Sie jedoch Ihren physischen Linux-Server ausschließlich mit Linux-Rechnern in eine VMware-VM konvertieren möchten, 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 eines physischen Linux-Rechners in eine Virtuelle Maschine im ESXi-Format erfordert keinen VMware vCenter Converter Standalone. Diese Methode eignet sich für Benutzer und Administratoren, die in ihrer Umgebung über keinen Windows-Rechner verfügen (wie Sie sich erinnern, kann VMware vCenter Converter nur unter Windows installiert werden). Das Prinzip hinter der zweiten Methode zur VMware-P2V-Linux-Konvertierung ist wie folgt:
- Erstellen Sie Images Ihrer physischen Festplatten, die in einem physischen Linux-Server verwendet werden, mit dem dd Dienstprogramm
- Konvertieren Sie die resultierenden Images in Images im vmdk Format
- Erstellen Sie eine neue VM in VMware Workstation (die unter Linux oder Windows ausgeführt werden kann) unter Verwendung bestehender virtueller Festplatten für die neue Virtuelle Maschine
- Exportieren Sie die Virtuelle Maschine aus dem VMware Workstation-Format in eine OVF-Vorlage
- Erstellen Sie auf einem VMware ESXi-Host eine neue Virtuelle Maschine aus der OVF-Vorlage
In unserem Beispiel ist Ubuntu 18 auf einer physischen Maschine installiert, die konvertiert werden muss, sowie ESXi 6.5 und vCenter 6.5 werden als Ziel verwendet, und VMware Workstation 15 dient als Übergangspunkt im P2V-Linux-Konvertierungsprozess.
Schritt-für-Schritt-Anleitung
1. Führen Sie auf dem physischen Linux-Server für jede physische Festplatte (/dev/sda , /dev/sdb usw.) das Dienstprogramm dd (Datenkopierer) aus und erstellen Sie ein Image jeder Festplatte. Sie können eine USB-Festplatte an Ihren physischen Linux-Rechner anschließen und die mit dem Dienstprogramm dd erstellten Abbilder auf dieser USB-Festplatte speichern. Später können Sie diese USB-Festplatte an einen Rechner anschließen, auf dem eine virtuelle Maschine erstellt werden soll. Im vorliegenden Beispiel befinden sich alle von Linux genutzten Partitionen auf der Festplatte /dev/sda :
dd if=/dev/sda of=/media/user1/data/sda.img bs=8M conv=sync,noerror status=progress
Dabei gilt:
if=/dev/sda – die Eingabedatei, die die gesamte physische Festplatte umfasst;
of=/media/user1/data/sda.img – der Pfad zur Ausgabedatei des Images, die sich in diesem Fall auf der externen Festplatte befindet.
bs=8M – Die Größe des Blocks beträgt 8 MB. Diese Option erhöht die Geschwindigkeit, da dd Daten standardmäßig in 512-Byte-Blöcken kopiert
conv=sync,noerror – Wird verwendet, um zu verhindern, dass dd bei einem Fehler beim Lesen von Daten von einer Quelle (Datei) abbricht.
status=progress – Verwenden Sie diese Option, um den Fortschritt der Aufgabe zur besseren Übersicht in der Konsole anzuzeigen
2. Installieren Sie qemu – eine Open-Source-Anwendung zur Hardware-Emulation. Sie können QEMU auf jedem Linux-Rechner installieren.
apt-get install qemu
3. Wechseln Sie in der Linux-Konsole in das Verzeichnis, in dem sich die zuvor erstellten img -Dateien befinden. Konvertieren Sie die mit dem Dienstprogramm dd erstellten Festplatten-Images vom img -Dateiformat in das vmdk -Format. QEMU kann für diese Aufgabe verwendet werden. In unserem Beispiel konvertieren wir ein Festplatten-Image:
qemu-img convert -o compat6 sda.img -O vmdk sda-vmware.vmdk
Nun sind die Festplatten-Images in das vmdk Format konvertiert und können in VMware Workstation geöffnet werden. Wie Sie sich vielleicht erinnern, unterscheidet sich das Format virtueller VMDK-Festplatten zwischen VMware Workstation und VMware ESXi. Details zum VMDK-Dateiformat finden Sie unter hier. Sie müssen eine VM aus VMware Workstation in eine OVF-Vorlage exportieren und anschließend eine VM aus der OVF-Vorlage auf einen VMware ESXi-Host importieren.
Stellen Sie sicher, dass VMware Workstation auf einem Ihrer Computer installiert ist. In unserem Beispiel ist VMware Workstation 15 auf einem Rechner mit Ubuntu 18 installiert, jedoch nicht auf dem Rechner als Quelle, der in eine VM umgewandelt werden soll (wir verwenden für diese P2V-Linux-Konvertierungsmethode kein Windows). Der Algorithmus für Windows-Computer mit VMware Workstation ist ähnlich.
4. Erstellen Sie ein neues Verzeichnis auf der Maschine, auf der VMware Workstation installiert ist, zum Beispiel /vms/P2V_Linux
mkdir /vms/P2V_Linux
5. Kopieren Sie Ihre vmdk -Dateien, die durch qemu umgewandelt wurden, in dieses Verzeichnis. In diesem Fall kopieren wir die sda-vmware.vmdk -Datei in dieses Verzeichnis.
6. Erstellen Sie eine neue virtuelle Maschine in VMware Workstation:
File > New virtual machine
Ein Assistent für das Erstellen neuer virtueller Maschinen wird geöffnet. Sie müssen alle Konfigurationsschritte dieses Assistenten durchlaufen:
Virtual Machine Configuration. Wählen Sie Benutzerdefiniert (erweitert), um die Konfiguration von erweiterten Optionen zu ermöglichen. Klicken Sie auf Weiter , um fortzufahren.
Virtual Machine Hardware Compatibility. Wählen Sie die erforderliche Version der virtuellen Maschinen-Hardware, zum Beispiel Version 15.x.
Guest Operation System Installation. Wählen Sie Ich werde das Betriebssystem später installieren .
Guest Operating System. Wählen Sie Linux , dann wählen Sie Ubuntu 64-bit im Dropdown-Menü.
Virtual Machine Name. Geben Sie den Namen ein und setzen Sie den Standort für Ihre virtuelle Maschine fest. In diesem Beispiel ist der VM-Name „ P2V Linux “ und der Standort ist /vms/P2V_Linux_VM/
Processor configuration. Wählen Sie die Anzahl der Prozessoren und die Anzahl der Prozessorkerne entsprechend der auf Ihrer physischen Linux-Maschine verwendeten Konfiguration aus, die Sie in eine VMware VM konvertieren.
Memory for the Virtual Machine. Legen Sie die Speichermenge fest, die mindestens der Speichermenge Ihres physischen Linux-Computers entspricht.
Network Connection. Wählen Sie den Netzwerktyp, zum Beispiel Bridged Networking . Stellen Sie sicher, dass der Quell-Linux-Server jetzt getrennt ist, um Netzwerkkonflikte zu vermeiden.
I/O Controller Types. Wählen Sie den empfohlenen Wert. In diesem Beispiel wurde SCSI-Controller: LSI Logic (Empfohlen) ausgewählt.
Virtual Disk Type. Wählen Sie den empfohlenen Festplattentyp. In unserem Fall ist es SCSI (Empfohlen) .
Select a Disk. Wählen Sie die Use an existing virtual disk Option.
Select an Existing Disk. Durchsuchen Sie die entsprechende vmdk -Datei Ihrer umgewandelten /dev/sda Festplatte. Im aktuellen Beispiel wurde die sda-vmware.vmdk -Datei als bestehende virtuelle Festplatte ausgewählt.
Hinweis: Wenn Sie mehrere Festplatten auf einem physischen Linux-Server und mehrere VMDK-Dateien nach der Konvertierung haben, wählen Sie die erste vmdk -Datei, die vom /dev/sda Disk umgewandelt wurde. Fügen Sie anderen Festplatten nach der VM-Erstellung hinzu, indem Sie die virtuellen Maschinen-Einstellungen bearbeiten.
Klicken Sie auf Behalten Sie das bestehende Format für bessere Kompatibilität.
Ready to Create Virtual Machine. Überprüfen Sie die Konfigurationszusammenfassung und wenn alles korrekt ist, klicken Sie auf Fertigstellen .
Sobald die VM erstellt ist, können Sie die VM-Konfiguration vor dem Starten der VM überprüfen.
Hinweis: Wenn Sie mehrere physische Festplatten in virtuelle Festplatten konvertiert haben, fügen Sie die verbleibenden virtuellen Festplatten hinzu, indem Sie Folgendes tun:
- Klicken Sie auf VM > Einstellungen
- Klicken Sie auf Hinzufügen im Hardware Tab
- Wählen Sie Festplatte
- Wählen Sie die empfohlene Option (SCSI in unserem Fall)
- Klicken Sie auf Vorhandene virtuelle Festplatte verwenden
- Wählen Sie eine virtuelle Festplattendatei aus
7. Schalten Sie die VM in VMware Workstation ein (stellen Sie sicher, dass alle notwendigen virtuellen Festplatten zur VM-Konfiguration hinzugefügt wurden).
8. Nachdem Ihr Linux-Gast in einer VM geladen ist, überprüfen Sie die Netzwerkverbindung:
ifconfig
9. Installieren Sie VMware Tools auf Linux, das auf der VM läuft. In Ubuntu können VMware Tools von einem virtuellen ISO-Disk-Image oder von Online-Software-Repositorys installiert werden.
apt-get install open-vm-tools
10. Wenn alles korrekt 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. In der GUI von VMware Workstation klicken Sie auf File > Export to OVF.
12. Speichern Sie die OVF-Datei im Verzeichnis mit Ihrem Linux-VM, zum Beispiel. Im aktuellen Beispiel wird die OVF-Vorlage unter /vms/P2V_Linux_VM/ gespeichert.
13. Öffnen Sie VMware vSphere Client in Ihrem Webbrowser.
14. Gehen Sie zu Hosts und Cluster , dann wählen Sie Ihren ESXi-Host, auf dem Sie die VM nach der Konvertierung ausführen möchten.
15. Erstellen Sie eine VM aus einer Vorlage. Klicken Sie auf Actions > Deploy OVF Template.
Ein neues Fenster des OVF-Vorlage bereitstellen Assistenten wird geöffnet und enthält 7 Schritte:
1. OVF-Vorlage auswählen . Klicken Sie auf Lokale Datei , dann klicken Sie auf Durchsuchen . Sie sollten zwei Dateien auswählen – die OVF-Datei der VM-Vorlage und die VMDK-Datei(en) des virtuellen Datenträgers (der virtuellen 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 VMware vSphere Client geöffnet haben (die Dateien müssen auf lokalen Festplatten, SMB oder NFS-Freigaben gespeichert sein, etc.).
2. Wählen Sie einen Namen und einen Ordner . Geben Sie einen eindeutigen VM-Namen und einen Zielstandort (ein Rechenzentrum oder einen VM-Ordner) an. Im aktuellen Beispiel lautet der VM-Name P2V_Linux .
3. Wählen Sie eine Computerressource aus . In diesem Schritt sollten Sie einen ESXi-Host oder Cluster auswählen, auf dem Ihre VM ausgeführt wird.
In diesem Schritt kann der Fehler auftreten: Probleme mit ausgewählter Vorlage erkannt. Details: – -1: -1: VALUE_ILLEGAL: Keine unterstützten Hardwareversionen unter [vmx-16]; unterstützt: [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 festgelegte 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, in dem sich die OVF-Vorlage befindet, und bearbeiten Sie die Datei:
vim P2V_Linux.ovf
Suchen Sie nach einer 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, geben Sie im Navigationsmodus ein:
/vmx-
Bearbeiten wir vmx-16 zu vmx-12 , zum Beispiel, und speichern Sie die OVF-Datei.
Sobald Sie die Änderungen in der OVF-Datei gespeichert haben, kehren Sie zum VMware vSphere Client zurück und klicken Sie auf Next im Schritt Rechenressource auswählen des OVF-Vorlage bereitstellen Wizards.
4. Überprüfen Sie die Details . In diesem Schritt können Sie die Vorlagendetails überprüfen.
5. Speicher wählen . Wählen Sie das Ziel-Datenspeicher aus, in dem die Konfigurations- und Datenträgerdateien der VM gespeichert werden sollen, und wählen Sie das Format der virtuellen Festplatte (Lazy Zeroed Thick, Eager Zeroed Thick oder Thin Provision).
6. Netzwerke auswählen . Wählen Sie ein Netzwerk für jeden virtuellen Netzwerkadapter. Sie sollten jeden Netzwerkadapter so konfigurieren, dass er sich mit dem entsprechenden Netzwerk verbindet.
7. Bereit zur Fertigstellung . Überprüfen Sie die Konfiguration und drücken Sie Fertigstellen , um die VM-Erstellung zu starten.
Warten Sie, bis eine neue VM aus der Vorlage erstellt wurde.
16. Wenn der VM-Import aus der OVF-Vorlage abgeschlossen ist, schalten Sie die VM auf Ihrem ESXi-Host ein. Lesen Sie mehr über VM-Vorlagen in diesem Blogbeitrag. Wenn Sie die Meldung “ Möchten Sie versuchen, dieses virtuelle Gerät jedes Mal zu verbinden, wenn Sie die virtuelle Maschine einschalten?”, erhalten, antworten Sie, dass Sie dieses Gerät nicht jedes Mal beim Starten der VM verbinden möchten, indem Sie auf Nein klicken.
Ein physischer Linux-Server wurde ohne Verwendung von Windows und VMware vCenter Converter Standalone in eine virtuelle Maschine konvertiert. Der Prozess der VMware-P2V-Linux-Konvertierung wurde anhand eines Beispiels von Ubuntu-Linux erklärt. Wenn Sie physische Server, auf denen andere Linux-Distributionen wie SUSE oder Red Hat laufen, in virtuelle VMware-Maschinen umwandeln möchten, wenden Sie denselben Algorithmus an, beachten Sie jedoch, dass sich einige Befehle und die Standorte der Konfigurationsdateien unterscheiden können. Anstelle des Paketmanagers apt-get in SUSE sollten Sie zypper verwenden, und in Red Hat yum . Möglicherweise müssen Sie die Netzwerkeinstellungen der virtuellen Maschine neu konfigurieren, z. B. die IP-Adresse, das Standard-Gateway, den DNS-Server usw.
Sie können sich auch dieses Video ansehen, um beide Methoden zur VMware-P2V-Linux-Konvertierung in Aktion zu erleben:
Fazit
Die Konvertierung eines physischen Linux-Servers in eine virtuelle VMware-Maschine kann auf verschiedene Weise erfolgen – mit dem VMware vCenter Converter Standalone, für den ein Windows-Rechner erforderlich ist, oder mithilfe von Linux-Dienstprogrammen in Verbindung mit VMware Workstation. Bei der Verwendung einer dieser Methoden müssen Sie die VM-Konfiguration möglicherweise manuell bearbeiten. Bei der ersten Methode kann nur ein VMware ESXi-Host als Ziel für die P2V-Linux-Konvertierung verwendet werden, während die zweite Methode dazu dient, einen physischen Linux-Rechner sowohl in das VMware ESXi- als auch in das VMware Workstation-Format zu konvertieren.































