blog.Mainzer Datenfabrik

OnPrem Datenbank Migration nach Azure

cover image of blog article 'OnPrem Datenbank Migration nach Azure'

Einige unserer Kunden haben den Wunsch geäußert, ihre Server im Rahmen ihrer IT-Modernisierungsaktivitäten in die Cloud zu bringen, befürchten aber, dass dies, z.B. bei einem Datenbankserver mit hohem Datenbestand oder bei einer Multi-Tier / Multi-Server Architektur nicht ohne größere Ausfallzeit möglich ist.

In diesem Beitrag wird die Migration virtueller Maschinen nach Azure dargestellt. Ausgangspunkt sind hierbei zwei unter VMware betriebene virtuelle Server mit einer jeweiligen Gesamt-Plattenkapazität von 140 GB, die die zu migrierende Umgebung repräsentieren.

Vorbereitung

Zur Vorbereitung der Demonstration werden zwei virtuelle Maschinen (VM) eingerichtet von denen die eine eine MSSQL Datenbank beherbergt (“MSServer2Azure” oder “DB-Server”). Die zweite VM (“AppServer2Azure” oder “App-Server”) stellt einen Server dar, auf dem eine Applikation betrieben wird, die auf die Datenbank zugreift. An beiden Servern sind drei Platten von 40 GB (Betriebssystem), 60 GB (DB Daten) und 40 GB (DB Logs) angeschlossen.

Zur Demonstration des Timings wird auf dem DB-Server ein Datenbankjob eingerichtet, der im zehn Sekunden Rhythmus den aktuellen Zeitstempel in die Tabelle local_time_table schreibt.

Auf dem App-Server wird - ebenfalls im zehn Sekunden Rhythmus - der aktuelle Zeitstempel in die Tabelle remote_time_table des DB-Servers geschrieben.

Damit benötigen wir zwei einfache Tabellen auf dem DB-Server die durch folgendes Skript angelegt werden:

-- Timing des DB-Servers:
CREATE TABLE [migration].[local_time_table](
	[ltt_id] [int] IDENTITY(1,1) NOT NULL,
	[ltt_datetime] [datetime] NOT NULL,
 CONSTRAINT [pk_ltt_Id] PRIMARY KEY CLUSTERED 
(
	[ltt_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO

-- Timing des App-Servers:
CREATE TABLE [migration].[remote_time_table](
	[rtt_id] [int] IDENTITY(1,1) NOT NULL,
	[rtt_datetime] [datetime] NOT NULL,
 CONSTRAINT [pk_rtt_Id] PRIMARY KEY CLUSTERED 
(
	[rtt_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO

Das Befüllen der beiden Tabellen erfolgt mit den folgenden beiden simplen Statements:

-- lokal auf dem DB-Server:
insert into [migration].[local_time_table](ltt_datetime) values ( getdate()); 

-- Vom App-Server in die Tabelle des DB-Servers: 
insert into [migration].[remote_time_table](rtt_datetime) values ( getdate());

Vorgehensweise

Auf der Azure-Home Seite wird das Icon “Azure Migrate” verwendet, um den Migrations-Wizard zu starten.

Starten des Migrations-Wizard über das “Azure Migrate” Icon
Starten des Migrations-Wizard über das “Azure Migrate” Icon

Im Migrations-Wizard stehen drei Optionen zur Verfügung:

  1. Discover, assess and migrate
  2. Assess and migrate databases
  3. Explore more scenarios

In diesem Dokument wird die erste Möglichkeit behandelt, da sie das einfachste Allround-Verfahren für DB- und Application Server darstellt.

Auswahl “Discover, assess and migrate”
Auswahl “Discover, assess and migrate”

Nach Auswahl der Option “Discover, assess and migrate” gelangt man zu der Migrations-Seite die i.W. aus zwei Bereichen besteht, nämlich dem ersten Bereich, in dem bestehende Kandidaten ermittelt und bewertet werden (“Azure Migrate: Discovery and assessment”) und dem zweiten Bereich, in dem nach der Bewertung die Migration durchgeführt wird (“Migration and modernization“). Doch zuvor muss ein Projekt über den Link “+ Create project” im oberen Bereich angelegt werden.

Schritt 1: Anlegen eines neuen Projektes im Migrations-Wizard über “+ Create project”
Schritt 1: Anlegen eines neuen Projektes im Migrations-Wizard über “+ Create project”

Zum Anlegen eines neuen Projektes werden lediglich vier Informationen benötigt:

  1. Subscription (bereits vorbelegt, aber änderbar)
  2. Name der Ressourcegruppe, der die benötigten Ressourcen zugeordnet werden sollen. Hier kann eine bestehende Gruppe gewählt oder über “Create new” eine neue Ressourcegruppe angelegt werden.
  3. Name des Projektes, Informationen zu Namensanforderungen und -einschränkungen werden- wie in Azure üblich - durch Positionierung der Maus über dem Informations-Icon angezeigt.
  4. Ziel-Location der zu migrierenden Objekte
Parametrisierung eines neuen Projektes
Parametrisierung eines neuen Projektes

Nach Eingabe der benötigten Informationen wird das Projekt über den “Create” Button angelegt und man gelangt wieder in den Wizard, in dem jetzt oben der Name des Projektes angezeigt wird. Dort wird jetzt über die Lupe der Discovery Prozess angestoßen. Dieser besteht, wie bereits in dem Wizard angegeben, aus den Phasen

  • Ermitteln der Migrationskandidaten (Discover)
  • Analyse der Abhängigkeiten der Kandidaten untereinander (Analyse dependencies)
  • Bewertung (Assess)
Start des Discovery Prozess über die Lupe
Start des Discovery Prozess über die Lupe

Der Start des Discovery Prozesses öffnet eine Unterseite, auf der zunächst zwischen der Möglichkeit gewählt werden muss, eine Appliance zu verwenden oder die benötigten Daten über eine csv Datei zu spezifizieren. Der Hilfe-Link (“Help me choose”) beschreibt u.a. Inhalt und Struktur der benötigten csv-Datei. In diesem Beispiel wird jedoch die Appliance verwendet. Das Quellsystem besteht, wie bereits in der Einleitung erwähnt, aus zwei virtuellen VMware Maschinen.

Initiale Discovery-Seite
Initiale Discovery-Seite

Sobald auf der initialen Discovery-Seite der Virtualisierungstyp der Zielumgebung ausgewählt wurde, werden auf dieser Seite weitere Felder dargestellt. Als Virtualisierungstypen werden

  • VMware vSphere Hypervisor
  • Hyper-V
  • Physikalisch oder andere (AWS, GCP, Xen, etc.) angeboten.

In unserem Fall wählen wir also VMware, sodass weitere Felder entsprechend nachfolgender Abbildung dargestellt werden. Hier muss zunächst ein Name für die herunterzuladende Migrations-Appliance vergeben und ein Schlüssel für die Einrichtung einer Migrations-Appliance generiert werden.

Discovery-Seite: Eingabe des Appliance Namens und Generierung des Schlüssels
Discovery-Seite: Eingabe des Appliance Namens und Generierung des Schlüssels

Die Generierung des Schlüssels benötigt ein paar Sekunden und anschließend erscheint ein weiteres Feld, in dem der Projektschlüssel dargestellt wird, der über ein Icon auf der rechten Seite dieses Feldes kopiert werden kann. Dieser Schlüssel wird beim ersten Start der Appliance erfragt, damit eine gesicherte Verbindung zwischen der Appliance und Azure eingerichtet werden kann und eine korrekte Zuordnung zu dem Projekt erfolgen kann.

Discovery-Seite: Generierter Schlüssel und OVA-Download
Discovery-Seite: Generierter Schlüssel und OVA-Download

Wir fahren fort mit dem Herunterladen der Appliance im OVA-Format, um diese dann in VMware entsprechend nachfolgender Abbildungen einzurichten. Dazu benötigen wir jetzt den Deployment Wizard des vSphere Clients, der entsprechend nachfolgender Abbildung und mit selektiertem vApps Feld über das Actions Menü und den Menüpunkt “Deploy OVF Template …” gestartet wird. Hinweis: Das selektierte vApps Feld wird hier von dem aufgeblendeten Actions-Menü überdeckt.

Starten des Deployments des zuvor von Azure heruntergeladenen OVA-Files
Starten des Deployments des zuvor von Azure heruntergeladenen OVA-Files

Der Deployment Wizard besteht aus sieben Seiten die in den folgenden Abbildungen dargestellt sind:

  1. Auswahl des OVF / OVA Templates
  2. Vergabe eines Namens für die Appliance (Default: MicrosoftAzureMigration) und Auswahl eines Zielordners
  3. Auswahl einer Compute Ressource auf der die Appliance laufen soll
  4. Überblickseite
  5. Storage-Zuordnung
  6. Netzwerk-Zuordnung
  7. Abschluss
Auswahl des OVF / OVA Templates
Auswahl des OVF / OVA Templates
Namensvergabe und Wahl des Zielordners
Namensvergabe und Wahl des Zielordners
Auswahl der Compute Ressource
Auswahl der Compute Ressource
Überblickseite
Überblickseite
Storage-Zuordnung
Storage-Zuordnung
Netzwerkzuordnung
Netzwerkzuordnung
Abschluss
Abschluss

Entsprechend der Größe der OVA-Datei von 12 GB nimmt das Deployment bzw. der Upload der Datei einige Zeit in Anspruch. Anschließend sieht man im Baum der in VMware vorhandenen VM-Objekte die neue Appliance mit dem Namen “MicrosoftAzureMigration” und bei Selektion die zugehörigen Eigenschaften auf der rechten Seite.

Die neu eingerichtete Migrations-Appliance und einige ihrer Eigenschaften
Die neu eingerichtete Migrations-Appliance und einige ihrer Eigenschaften

Beim ersten Start der Appliance wird automatisch der Appliance Configuration Manager gestartet und als Verknüpfung auf dem Desktop abgelegt. Der Appliance Configuration Manager führt initial folgende Aktionen aus:

  • Prüfen der Verbindung zu Azure
  • Prüfen der Synchronizität zu Azure
  • Prüfen der Version und ggf. Installation von Updates. Für diesen Schritt wird der Migrationsschlüssel benötigt, der zuvor in Azure im Verlauf der Einrichtung des Migrationsprojektes generiert wurde (vgl. folgende Abbildung)
Verifizierung des Azure Migrationsschlüssels
Verifizierung des Azure Migrationsschlüssels

Im weiteren Verlauf dieser Aktionen muss man sich bei Azure anmelden um eine PowerShell zu laden, über die die Appliance registriert wird. Hierzu wird ein entsprechender Device Code angezeigt, mit dem man sich neben Azure Login und zugehörigem Passwort authentifizieren muss.

Anmeldung bei Azure
Anmeldung bei Azure

Nach der Anmeldung bei Azure schlägt zunächst der folgende Schritt fehl, in dem das Vorhandensein des Virtual Disk Development Kit überprüft wird. Dies muss man als zip-File bei VMware herunterladen und - wie beschrieben - unter C:\Program Files\VMware\VMware Virtual Disk Development Kit entpacken. Der Download erfordert eine Registrierung bei VMware.

Ein anschließender Klick auf den Verify Button setzt hier den Fehlerstatus zurück und die Überprüfung der Voraussetzungen für die Migration ist beendet.

Ein anschließender Klick auf den Verify Button setzt hier den Fehlerstatus zurück und die Überprüfung der Voraussetzungen für die Migration ist beendet.

Damit kann der zweite Abschnitt der Appliance Konfiguration beginnen, der aus drei Schritten besteht und hier wegen der Größe des entsprechenden Fensters in zwei Teilen dargestellt ist:

  1. Login und Passwort für den / die vCenter Server spezifizieren aus dem / denen VMs migriert werden sollen
  2. IP-Adresse bzw. FQDN und Port für den / die vCenter Server spezifizieren
  3. Zugangsdaten für die VMs spezifizieren, um die dort installierte Software zu ermitteln. Hier können für jeden Migrationskandidaten die zugehörigen Informationen hinterlegt werden. Im dargestellten Fall sind die Anmeldedaten für beide VMs gleich, sodass nur ein Eintrag benötigt wird.
Spezifikation der VMware Server und Zugangsdaten - Teil 1
Spezifikation der VMware Server und Zugangsdaten - Teil 1
Spezifikation der VMware Server und Zugangsdaten - Teil 2
Spezifikation der VMware Server und Zugangsdaten - Teil 2

Azure Arc, ein weiterer Teil dieses Fensters der sich unterhalb des “Start discovery” Buttons befindet, wird hier nicht behandelt.

Die Discovery-Phase kann je nach Umfang der VMware Umgebung längere Zeit in Anspruch nehmen.

Discovery, Abhängigkeitsanalyse, Bewertung und Überblick

Nachdem das Discovery durchgelaufen ist, können die Details in Azure über die Menüfolge “Home” > “Azure Migrate” > “Servers, databases and web apps” angesehen, Abhängigkeiten analysiert, bewertet und ein Überblick verschafft werden. Das entsprechende Fenster haben wir bereits zu Beginn dieses Artikels gesehen, jetzt liegen aber Informationen über gefundene Server und deren Betriebssysteme vor.

Discovery Ergebnisse und Links für Analysis, Assessment und Überblick
Discovery Ergebnisse und Links für Analysis, Assessment und Überblick

Zur Durchführung einer Bewertung wird der Menüpunkt “Assess” verwendet, hinter dem sich vier Links als potentielle Migrationsziele verbergen:

  1. Azure VM
  2. Azure SQL (Preview)
  3. Azure App Service (Preview)
  4. Azure VMware Solution (AVS)

Bei Auswahl des ersten Links “Azure VM” gelangt man auf eine Seite, auf der man Optionen für die Bewertung angeben kann. Etwas versteckt befindet sich der Link auf die gewünschten Einstellungen hinter dem “Edit”. Dort kann man die Kriterien spezifizieren, die die Bewertung beeinflussen.

Bewertung erstellen mit Default-Einstellungen
Bewertung erstellen mit Default-Einstellungen

Im folgenden Fenster werden die verschiedenen und teilweise geänderten Parameter dargestellt, die der Bewertung der Migration als Basis dienen, insbesondere wurde hier die Auswahl der Ziel-VM-Typen - Default 0 - auf “Select all” gesetzt, was in 17 verschiedene VM Kandidaten resultiert. Nachdem alle Optionen gesetzt wurden, wird die Bewertung mit dem Button “Save” geschlossen und das Assessment mit dem Button “Next: Select servers to assess>” fortgesetzt.

Spezifikation der Faktoren für das Assessment
Spezifikation der Faktoren für das Assessment

Nach der Spezifikation der Faktoren für das Assessment muss ein Name hierfür vergeben und ggf. eine Ressourcegruppe angelegt oder ausgewählt werden. Über den Filter wurden als Migrationskandidaten nur diejenigen Server ausgewählt, deren Name den Text “Server2Azure” enthält.

Auswahl der Objekte für die Bewertung
Auswahl der Objekte für die Bewertung

Nach der spärlichen Überblickseite über die Einstellungen kann die Bewertung gestartet werden.

Überblickseite für die Migrationsbewertung
Überblickseite für die Migrationsbewertung

Die abgeschlossene Bewertung umfasst vier Bereiche, von denen einer per Default nicht angezeigt wird. Dieser Bereich besteht lediglich aus einem Überblick über die wichtigsten zuvor eingestellten Bewertungskriterien.

  1. Essentials: Bewertungskriterien, nur sichtbar durch Verwendung der Essentials Schaltfläche
  2. Azure Readiness: Eine Einschätzung zu den Erfolgsaussichten der Migration
  3. Monthly Cost Estimate: Graphisch dargestellte Schätzung der monatlichen Kosten, unterteilt in Compute und Storage. Durch Selektion eines der beiden Graphik-Bereiche wird in der Mitte der Graphik der prozentuale Anteil angezeigt
  4. Storage - Monthly Cost Estimate: Graphisch dargestellte monatliche Storage-Kosten je nach ausgewählten Plattentypen (in dieser Demo wurden nur Standard HDD managed disks für die Ziele ausgewählt )
Bewertungsergebnisse
Bewertungsergebnisse

Klickt man in die Mitte der Graphiken oder auf einen der beiden Links auf der linken Seite im Bereich “Assessment details”, so öffnet sich ein Detail-Fenster zu dem jeweiligen Thema, nämlich Details zur “Azure readiness” oder zu den Kostendetails (vgl. folgende Abbildungen).

Mainzer Datenfabrik - OnPrem Datenbank Migration nach Azure

Bewertungsergebnisse: Detail “Azure readiness”

Bewertungsergebnisse: Detail “Cost details”
Bewertungsergebnisse: Detail “Cost details”

Seitennavigation

Zur Artikel Übersicht

Auf dieser Seite

SQL Server 2014 Migration SupportNEU
Im Sommer 2024 endet der Extended Support des Microsoft SQL Server 2014 SP3. Erfahren sie wie wir Sie bei Ihrer Migration unterstützen können! mehr erfahren