VMWARE → STACKIT · ARCHITEKTUR
Anwendungsabhängigkeiten vor einer VMware-Migration abbilden
Ein RVTools-Export sagt, welche VM an welcher Portgruppe hängt. Er sagt nicht, dass Billing die CRM-Datenbank liest, dass zwei Anwendungen einen Message Broker teilen oder dass niemand weiß, wer den FTP-Server nutzt. StackToIT baut Wellen aus der ersten Art von Fakten und übernimmt die zweite von Ihnen, als ausdrückliche Anwendungsdatei. Diese Seite zeigt die Grenze zwischen beiden an einer Demo-Umgebung mit sieben VMs und vergleicht vier Wege, die Lücke zu schließen.
Was der Export zeigt und was er nur andeutet
Ein Demo-Export, am 4. November 2026 von StackToIT bewertet. Links: vier vInfo-Zeilen; die letzten Spalten enthalten die Notiz, die ein Administrator getippt hat. Rechts: engineering/review-edges.csv, die vollständige Liste der Abhängigkeiten, die der Lauf abgeleitet hat.
VM,Powerstate,Template,CPUs,Memory,NICs,Disks,Provisioned MiB,In use MiB,Primary IP Address,Datacenter,Cluster,Host,Folder,Annotation,OS according to the configuration file,OS according to the VMware Tools,VM UUID
crm-web01,poweredOn,False,4,8192,1,1,61440,24000,10.60.10.11,DC-Koeln,CL-Core,esx41,crm,CRM web tier - calls crm-app01 on 8443,Ubuntu Linux (64-bit),Ubuntu 22.04.4 LTS,4209-eeee-0001
crm-app01,poweredOn,False,8,16384,2,2,163840,70000,10.60.20.21,DC-Koeln,CL-Core,esx41,crm,CRM application server - reads crm-db01 and mq01,Red Hat Enterprise Linux 9 (64-bit),Red Hat Enterprise Linux 9.4,4209-eeee-0002
crm-db01,poweredOn,False,8,32768,1,2,614400,380000,10.60.30.31,DC-Koeln,CL-Core,esx42,crm,PostgreSQL 15 - also used by billing-app01,Debian GNU/Linux 12 (64-bit),Debian GNU/Linux 12,4209-eeee-0003
billing-app01,poweredOn,False,4,16384,1,1,102400,40000,10.60.20.41,DC-Koeln,CL-Core,esx42,billing,Billing batch - reads crm-db01 and writes files to fs01,Red Hat Enterprise Linux 9 (64-bit),Red Hat Enterprise Linux 9.4,4209-eeee-0004from_unit,to_unit,architect_verdict (correct|wrong|missing),comment
vm.billing-app01,network.PG-App,,
vm.crm-app01,network.PG-App,,
vm.crm-app01,network.PG-Data,,
vm.crm-db01,network.PG-Data,,
vm.crm-web01,network.PG-Web,,
vm.fs01,network.PG-Data,,
vm.legacy-ftp01,network.PG-App,,
vm.mq01,network.PG-App,,Kanten führen von der VM zur Portgruppe
Alle acht Kanten enden an einem Netzwerk. crm-app01 hat zwei Adapter und daher zwei Kanten, eine zu PG-App und eine zu PG-Data. Eine Kante von billing-app01 zu crm-db01 gibt es nicht.
Die Notiz wird nicht als Verbindung gelesen
Aussagen wie „also used by billing-app01“ stehen im Freitext. Der Lauf führt die Notiz jeder VM unter den Eigenschaften, die er nicht übernimmt, und kann daher aus Text keine Kante machen.
Die Datei hat einen Platz für Ihre Korrektur
Die dritte Spalte, architect_verdict, nimmt „correct“, „wrong“ oder „missing“ auf. Halten Sie dort Kanten fest, die der Lauf nicht sehen konnte, damit die Prüfung sie behält.
Vier Wege, Abhängigkeiten zu finden
Keiner ersetzt die anderen. Sie unterscheiden sich darin, was sie sehen und was sie Sie kosten.
| Methode | Was sie sehen kann | Was fehlt oder kostet |
|---|---|---|
| Netzwerkzugehörigkeit (was StackToIT ableitet) | Welche VMs an welcher Portgruppe hängen und welches STACKIT-Netzwerk daher bereitstehen muss, bevor die jeweilige VM umzieht | Aufrufe zwischen VMs im selben oder in verschiedenen Netzwerken. Günstig, aber als alleinige Grundlage der Wellenplanung falsch. |
| Interviews mit Verantwortlichen und Notizen | Die Absicht: welche VM zu welcher Anwendung gehört und wer verantwortlich ist | Nur, woran sich Menschen erinnern. Schnell zu beginnen und die Quelle der Anwendungsdatei. |
| Beobachteter Verkehr aus Ihren Netzwerkwerkzeugen | Verbindungen, die niemand aufgeschrieben hat, etwa ein alter FTP-Server, der noch Dateien erhält | Braucht einen Erfassungszeitraum, der Monatsende und Batchläufe abdeckt. Die Daten stammen weder aus RVTools noch von StackToIT. |
| Konfigurationsmanagement oder CMDB | Deklarierte Beziehungen zwischen Diensten und Hosts | Bei den ältesten Maschinen, um die Sie sich sorgen, oft veraltet. |
Eine praktische Reihenfolge: mit Notizen und Verantwortlichen beginnen, VMs Anwendungen zuordnen und das Ergebnis dann vor jedem Cutover gegen beobachteten Verkehr prüfen.
Geben Sie dem Lauf Ihre Anwendungsgrenzen
Die Anwendungsdatei gruppiert Einheiten über Selektoren. StackToIT leitet weder Verantwortung noch Kritikalität aus Namen ab. Links: die Datei dieses Laufs. Rechts: migration/waves.csv mit gefüllter Spalte application.
applications:
- id: crm
name: CRM
selectors:
- vm.crm-*
environment: production
owners:
business: sales
technical: crm-platform
business_criticality: high
availability:
rto: 4h
rpo: 15m
downtime_tolerance: 1h
- id: billing
name: Billing
selectors:
- vm.billing-*
environment: production
owners:
business: finance
technical: billing-platform
business_criticality: critical
availability:
rto: 2h
rpo: 5m
downtime_tolerance: 30mwave,wave_state,unit,type,module_call,presence,class,confidence,application,application_status,proposed_group
1,MEMBER,network.PG-App,vmware_network,,KNOWN_PRESENT,RECONFIGURE,MEDIUM,UNASSIGNED,UNASSIGNED,
1,MEMBER,network.PG-Data,vmware_network,,KNOWN_PRESENT,RECONFIGURE,MEDIUM,UNASSIGNED,UNASSIGNED,
1,MEMBER,network.PG-Web,vmware_network,,KNOWN_PRESENT,RECONFIGURE,MEDIUM,UNASSIGNED,UNASSIGNED,
2,MEMBER,vm.billing-app01,vmware_vm,,KNOWN_PRESENT,RECONFIGURE,MEDIUM,billing,CONFIRMED,
2,MEMBER,vm.crm-app01,vmware_vm,,KNOWN_PRESENT,RECONFIGURE,MEDIUM,crm,CONFIRMED,
2,MEMBER,vm.crm-db01,vmware_vm,,KNOWN_PRESENT,RECONFIGURE,MEDIUM,crm,CONFIRMED,
2,MEMBER,vm.crm-web01,vmware_vm,,KNOWN_PRESENT,RECONFIGURE,MEDIUM,crm,CONFIRMED,
2,MEMBER,vm.fs01,vmware_vm,,KNOWN_PRESENT,RECONFIGURE,MEDIUM,UNASSIGNED,UNASSIGNED,
2,MEMBER,vm.legacy-ftp01,vmware_vm,,KNOWN_PRESENT,RECONFIGURE,MEDIUM,UNASSIGNED,UNASSIGNED,
2,MEMBER,vm.mq01,vmware_vm,,KNOWN_PRESENT,RECONFIGURE,MEDIUM,UNASSIGNED,UNASSIGNED,Zugeordnet und nicht zugeordnet
crm trifft drei VMs, billing eine. mq01, fs01 und legacy-ftp01 bleiben UNASSIGNED. Sie gehören noch keiner Anwendung an, und genau diese Liste gehört auf den Tisch der Verantwortlichen.
Wellen bleiben netzwerkgetrieben
In migration/waves.csv bilden die drei Netzwerke Welle 1 und alle sieben VMs Welle 2, unabhängig von der Anwendungsdatei (der Migrationsplan nennt dieselbe Reihenfolge als Netzwerk- und Workload-Welle, mit eigener Nummerierung). Die Anwendungsgruppierung ändert den Zuschnitt des Berichts, nicht den Abhängigkeitsgraphen.
Wiederanlaufziele wie geschrieben
RTO, RPO und Ausfalltoleranz aus der Datei werden so übernommen, wie Sie sie geschrieben haben. Fehlende Werte bleiben NOT_PROVIDED und werden nicht angenommen.
Die gemeinsamen Teile und die Entscheidung, die jedes erzwingt
| VM | Was die Umgebung sagt | Entscheidung des Architekten |
|---|---|---|
| crm-db01 | PostgreSQL, notiert als auch von billing-app01 genutzt | Mit CRM umziehen und Billing bis zu dessen Umzug einen Netzwerkpfad lassen, oder beide in einer Welle umziehen. Der Lauf sieht beides nicht. |
| mq01 | Message Broker, genutzt von CRM und Billing | Ihn bewusst einer Anwendung zuordnen oder als gemeinsamen Dienst in die erste Welle seiner Nutzer legen. |
| fs01 | Dateiserver mit SMB-Freigaben für Billing und Büro | Seine Clients sind keine VMs im Export. Finden Sie die Clients, bevor die Welle feststeht. |
| legacy-ftp01 | Notiz: niemand weiß, wer ihn nutzt; CentOS 7 | Erst Verkehr beobachten, dann stilllegen oder umziehen. Keine unbekannte Abhängigkeit ungeprüft in eine Welle tragen. |
In diesem Lauf löst das Gastsystem von legacy-ftp01 eine Warnung zum Support-Ende aus, ein Grund, früh nachzufragen.
Die Abhängigkeitsliste in Zieldesign übersetzen
Anwendungsdatei schreiben
Ein Eintrag je Anwendung mit Selektoren für ihre VMs, Verantwortlichen und Wiederanlaufzielen. Nicht zugeordnete Einheiten im Bericht sind Ihre offenen Fragen.
Fehlende Kanten festhalten
Tragen Sie jede VM-zu-VM-Beziehung, von der Sie erfahren, als „missing“ mit Kommentar in review-edges.csv ein. So bleibt das Wissen neben dem Plan.
Netzwerkregeln ableiten
Auf STACKIT wirken Security Groups über die Netzwerkschnittstellen: Eingehender Verkehr ist standardmäßig gesperrt, außer von Mitgliedern derselben Gruppe; ausgehender Verkehr ist standardmäßig offen. Der Entwurf schreibt für eine VMware-Umgebung keine Security Group; jede bestätigte Beziehung wird daher zu einer Regel, die Sie schreiben.
Geteilte Platten beachten
Ein STACKIT-Datenvolume hängt immer nur an einer VM. Eine VM, die eine Platte mit einer anderen teilt, braucht ein anderes Design als ein einfacher Volume-Umzug. Die Spalte „Sharing mode“ im Blatt vDisk zeigt es; in dieser Umgebung steht jede Platte auf sharingNone.
Wellen entlang der Anwendungen schneiden
Ziehen Sie eine Anwendung als Ganzes um, wenn sie auf einer Seite laufen kann. Kann sie es nicht, planen Sie den Netzwerkpfad zwischen beiden Seiten als Teil der Welle.
Fragen zur Abhängigkeitsanalyse
Erkennt StackToIT Anwendungsabhängigkeiten?
StackToIT leitet ab, welche VMs eine Portgruppe teilen, und ordnet Wellen danach. Abhängigkeiten zwischen Anwendungen kommen aus Ihrer Anwendungsdatei und aus der Prüfung.
Kann RVTools Netzwerkverkehr zeigen?
Nein. Der Export beschreibt Maschinen, Platten und Adapter. Verkehr muss aus Ihren Netzwerkwerkzeugen kommen und liegt außerhalb dessen, was StackToIT liest.
Was passiert mit VMs, die ich keiner Anwendung zuordne?
Sie bleiben im Plan und in den Summen. Das Executive Brief führt sie als Einheiten, die keiner Anwendung angehören: In diesem Lauf tragen sie 15 manuelle Schritte, alle im Plan und in seinen Summen.
Ändern Abhängigkeiten die Klasse einer VM?
Nein. Alle sieben VMs sind RECONFIGURE, wie auch immer sie verbunden sind. Abhängigkeiten ändern Reihenfolge und Gruppierung der Arbeit, nicht die Klasse.
Quellen
Ihr nächster Schritt: STACKIT.
Erzählen Sie uns von Ihrer Umgebung. Wir zeigen Ihnen, was StackToIT dafür liefert: Zielarchitektur, Terraform-Artefakte und einen strukturierten Migrationsplan.