vCenter DB migrieren

Wer sein vCenter über mehrere Generationen migriert hat und keinen vollwertigen SQL-Server betreibt, der kennt sicher diese Problematik: Die ursprünglich mitgelieferte SQL-Express 2005 Datenbank ist auf 4 GB limitiert und für heutige Anforderungen des vCenters etwas zu knapp. Besonders dann, wenn viele Ereignisse protokolliert werden wie zum Beispiel regelmäßige Backups, oder durch Bereitstellung von VDI Maschinen.

Nun gibt es neuere Vesionen der Express Version, deren Datenbanken auf immerhin 10 GB beschräkt sind. Dies gilt ab SQL-Express 2008 R2. Interessanterweise wird diese installiert, sobald man das vCenter um den Single-Sign-On Dienst erweitert. Und genau diese Instanz kann man nutzen, wenn einem auf der alten SQL-Express 2005 das Wasser bis zum Halse steht.

Ablauf der Migration

Der Umzug erfordert eine gewisse Downtime. Dies gilt es zu berücksichtigen bei der Planung. Falls das vCenter in einer VM läuft, so sollte man unbedingt ein Replikat (z.B. mit Veeam B&R) davon haben oder zumindest einen Snapshot. Wenn möglich sollte dieser im ausgeschalteten Zustand der VM erzeugt werden. Das geht schneller, ist sauberer und man kann leichter dorthin zurück springen.

Tools

Für die Migration benötigen wir Management Studio Express 2008 R2. Es ist möglich, dass sich dieses auf dem vCenter nicht installieren lässt. Letztlich ist dies aber kein Problem, da man auch von einem anderen System auf die Datenbanken des vCenter zugreifen kann.

MigrateSQL01

vCenter Dienst anhalten

Zuerst benötigen wir einen Dump der alten Datenbank. Dazu muss vCenter gestoppt werden, damit keine Zugriffe auf die alte Datenbank erfolgen.

 DB verbinden

Über Management Studio Express (MMSE) stellt man eine Verbindung zur alten vCenter Datenbank her. Hier muss man genau aufpassen! Wenn die alte und neue Instanz von SQL-Express auf dem System nebeneinander bestehen, dann haben diese ähnliche Namen. In meinem konkreten Beispiel waren die Bezeichnungen SQLEXP_VIM bzw. VIM_SQLEXP. (Achtung! das kann auf anderen System durchaus anders sein! Genau prüfen)

SQLEXP_VIM: alte Instanz des vCenter unter SQL-Express 2005

VIM_SQLEXP: neuere Instanz der SSO Datenbank unter SQL-Express 2008 R2

Der Nutzer, welcher die Verbindung aufbaut, muss Rechte auf die SQL-Express 2005 DB haben. Idealerweise der Nutzer, unter welchen vCenter ursprünglich installiert wurde.

In vielen Fällen sind die Management-Studio Installationen 2005 und 2008 auf dem selben System unverträglich. Meist ist die MMSE 2005 Version installiert. Das genügt jedoch für die Sicherung der alten vCenter Datenbank. Die weiteran Arbeiten können dann über MMSE 2008 von einem anderen System im LAN getätigt werden.

DB Dump

Die Sicherung der vCenter Datenbank erfolgt über MMSE.

Datenbank auswählen > Tasks > Backup.

MigrateSQL02Als Ziel eine Datei auswählen, den Pfad angeben (z.B. D:\temp).

Restore DB

In diesem Schritt wird der Dump der vCenter Datenbank auf die neue SQL Instanz (z.B. 2008 R2) übertragen. Mit dem MMSE 2008  stellt man eine Verbindung zu SQL Express 2008 auf vCenter her. Hier ist der Instanzname wichtig (vgl. oben). Im beschriebenen Fall lautete er: VIM_SQLEXP.

MigrateSQL01Auch hier muss das Benutzerkonto der Verbindung auch volle Rechte auf die SQL-Express 2008 Datenbank haben.

DB erzeugen

Unter Datenbanken eine neue Datenbank erstellen mit dem Namen der ursprünglichen vCenter DB (2005) erstellen. Rechtsklick auf die neu erzeugte Datenbank und “Restore” wählen (Task > Restore > Database).

 

MigrateSQL03

Quelle wähen (from device) und zum Backupfile navigieren.

MigrateSQL04

Hier den Pfad zum Backupfile hinzufügen.

MigrateSQL05Beim Importdialog die Option “Overwrite the existing database” wählen und den Import fortsetzen.

 ODBC anpassen

Auf dem vCenter System die ODBC Verbindung zur neuen Datenbank umleiten.

Verwaltung > Datenquellen ODBC > System DSN > VMware Virtual Center > Konfigurieren

Den Instanznamen umstellen auf die neue SQL-Express Instanz.

Nacharbeiten

Dieser Schritt ist optional, dient aber der Erfolgskontrolle. Es wird sicher gestellt, daß vCenter auch wirklich auf die neue Datenbank zugreift.

  • alte DB auf Readonly schalten Properties > Options > State > Database Read-only = True
  • Properties > Options > State > Restrict access = single user

vCenter Dienst starten

Startet man nun den vCenter Dienst, so verwendet dieser künftig die neue Datenbank.

Probleme mit Leistungsdaten im vSphere Client

Möglicherweise erhält man keine Leistungsdaten im vSphere Client. Wenn dies der Fall ist, so liegt es sicherlich daran, daß der alte SQL-Server noch den TCP Port belegt, über welchen der vSphere Client mit dem vCenter Webdient kommuniziert. Diese Einstellung kann im SQL Server Configuration Manager der alten SQL Installation korrigiert werden. VMware beschreibt in KB1012812, wie dieses zu erledigen ist. Nach Umstellung des Ports der alten Instanz müssen die Management Webservices neu gestartet werden. Danach sollten sich die Leistungdaten wieder korrekt darstellen lassen.

Links

 

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert