Linux Überlegungen zur Migration im Hinblick auf den Wechsel zu IBM Cloud VPC
Lesen Sie die Hinweise zur Migration von „ Linux “ auf „ IBM Cloud VPC “, einschließlich der Überprüfung des „ VirtIO “-Treibers, der „cloud-init“-Konfiguration und der Netzwerkeinstellungen.
Bevor Sie mit einer Migration beginnen, sollten Sie die folgenden Informationen berücksichtigen.
Überprüfen Sie VirtIO Treiber
Linux Migrationen sind im Allgemeinen einfacher als unter Windows, aber der Leitfaden beschreibt einige wichtige Überlegungen, die zu beachten sind.
Die folgenden Linux Distributionen enthalten VirtIO Treiber im Kernel:
- Ubuntu: „ 16.04 “ und spätere Versionen
- RHEL/CentOS: 6.x und später
- Debian: 8 und höher
- SUSE: 12 und später
Verwenden Sie den folgenden Befehl, um zu überprüfen, ob die „ VirtIO “-Treiber vorhanden sind.
lsmod | grep virtio
Es werden folgende Treiber angezeigt:
virtio_blk- Gerätetreiber blockierenvirtio_net- Netzwerktreibervirtio_scsi- SCSI-Treibervirtio_pci- PCI-Bus-Treiber
Wenn diese Treiber fehlen, müssen Sie den Kernel mit VirtIO-Unterstützung neu erstellen oder eine neuere Distribution installieren.
Kein Sysprep-Äquivalent erforderlich
Linux bindet die Treiber nicht an die Hardware. Der Kernel erkennt die neue Hardware beim Booten und lädt die entsprechenden Treiber. Dieser Prozess macht die Migration einfach und erfordert in der Regel keine Vorbereitung.
Anpassen der Netzwerkkonfiguration
Linux bindet keine Treiber an die Hardware wie Windows. Der Kernel erkennt die neue Hardware beim Booten und lädt die entsprechenden Treiber, was die Migration erheblich erleichtert, da in der Regel keine besonderen Vorbereitungen erforderlich sind.
Häufiges Problem: Die Namen der Netzwerkschnittstellen ändern sich während der Migration.
In VMware könnte Ihre Schnittstelle einen Namen haben:
ens192(systemd vorhersehbare Namensgebung)eth0(traditionelle Namensgebung)
In VPC kann sich dies wie folgt ändern:
ens3oderens33(üblich in VirtIO Umgebungen)eth0(wenn Sie traditionelle Namenskonventionen verwenden)
Um die statische IP-Konfiguration zu lösen, verwenden Sie die folgenden Informationen:
-
NetworkManager-based ( Red Hat Enterprise Linux (RHEL) 7+ oder neuer Ubuntu-Versionen)
# Identify new interface name ip link show # Edit connection nmcli con edit "System eth0" # Change interface-name to new name # Save and quit # Restart NetworkManager systemctl restart NetworkManager -
Netzplanbasiert ( Ubuntu 18.04 +)
# /etc/netplan/01-netcfg.yaml network: version: 2 ethernets: ens3: # Updated from ens192 addresses: [10.240.0.10/24] gateway4: 10.240.0.1 nameservers: addresses: [8.8.8.8, 8.8.4.4] -
Traditionelle /etc/network/interfaces ( Debian, ältere Ubuntu )
auto ens3 iface ens3 inet static address 10.240.0.10 netmask 255.255.255.0 gateway 10.240.0.1
Korrektur für die DHCP-Konfiguration:
Wenn Sie DHCP verwenden, erfolgt die Konfiguration automatisch, aber Sie müssen möglicherweise die Schnittstellennamen in den Konfigurationsdateien aktualisieren.
Überlegungen zum Cloud-Init
Cloud-init wird zur Initialisierung von Cloud-Instanzen verwendet, die in der Regel mit Bildvorlagen verwendet werden. Das Tool wird beim ersten Systemstart ausgeführt, um die folgenden Aktionen durchzuführen:
- Einen Hostnamen festlegen
- Netzbetrieb konfigurieren
- Benutzer und SSH-Schlüssel erstellen
- Benutzerdefinierte Skripte ausführen
Migrationskontext: Wenn auf Ihrem migrierten virtuellen Server „cloud-init“ installiert ist, kann VPC den ersten Systemstart als Erststart behandeln, wodurch folgende Aktionen ausgelöst werden:
- Änderungen am Hostnamen
- Rekonfiguration des Netzes
- Änderungen im Benutzerkonto
- Ausführung von Cloud-Init-Skripten
Design-Entscheidungen
Option 1: Cloud-Init deaktivieren
# Before migration
sudo touch /etc/cloud/cloud-init.disabled
# Or after migration via VNC console
Option 2: Akzeptieren des First-Boot-Verhaltens
- Nützlich, wenn Sie möchten, dass VPC das Netzwerk automatisch über DHCP konfiguriert
- erfordert möglicherweise manuelle Anpassungen nach dem Systemstart (Hostname, Benutzer)
Option 3: Konfigurieren von cloud-init
- Erstellen Sie eine Cloud-init-Konfiguration, um Ihre Einstellungen zu erhalten
- Komplexer, aber Sie haben die Kontrolle
Deaktivieren Sie bei individuellen VM Migrationen (nicht bei Vorlagenbereitstellungen) cloud-init, um die bestehende Konfiguration zu erhalten. Für vorlagenbasierte Bereitstellungen verwenden Sie cloud-init für die automatische Konfiguration.
Überlegungen zu Partition und Dateisystem
Überprüfung der Partitionstabellen: Nachdem Sie die Festplatten übertragen haben, verwenden Sie den folgenden Befehl, um zu überprüfen, ob die Partitionstabellen intakt sind:
# On worker virtual server instance (VSI) after transfer
fdisk -l /dev/vdb
# For GPT
gdisk -l /dev/vdb
Größe des Startvolumens ändern: Wenn Sie die Größe des Boot-Volumes nach oben verändert haben (Beispiel: von 80 GB in VMware auf 100 GB in VPC),
- Möglicherweise müssen Sie die Partitionstabelle aktualisieren:
Wenn Sie die Größe des Boot-Volumes erhöht haben (von 80 GB in VMware auf 100 GB in VPC):
# For MBR
fdisk /dev/vda
# Delete and recreate partition with same start sector, new end sector
# For GPT (automatic backup GPT update)
gdisk /dev/vda
- Größe des Dateisystems ändern:
# For ext4
resize2fs /dev/vda1
# For xfs
xfs_growfs /
# For LVM
pvresize /dev/vda2
lvextend -l +100%FREE /dev/mapper/vg-root
resize2fs /dev/mapper/vg-root
fstrim und Thin Provisioning
In „ VMware “ können Sie den Befehl „ fstrim “ verwenden, um ungenutzten Speicherplatz in VMDKs mit Thin-Provisioning freizugeben. In VPC sind alle Volumes auf der Speicherebene Thin-Provisioning unterworfen, aber fstrim hat keine
Auswirkungen auf die Platzrückgewinnung in VPC. Beachten Sie, dass fstrim keinen Speicherplatz freigibt.
Bestehende fstrim-Cron-Jobs können beibehalten oder entfernt werden, um unnötige E/A zu vermeiden.