Exchange Migration – Datenbanken

(Dieser Beitrag wurda am 31. Oktober 2020 aktualisiert.)

Exchange Migration und die Datenbanken

<<< Zertifikate | Übersicht Action Plan | CAS Switch >>>

Grundlagen

Bereits bei der unbeaufsichtigten Installation haben wir die Datenbank MBX01 erstellt. Verwendet man die Wizard geführte Installation, wird eine Datenbank direkt auf dem Laufwerk C: erstellt und die Transaktionslogs werden ebenfalls auf dem Systemlaufwerk abgelegt. Das ist alles andere als empfohlen. Sollte also die GUI gesteuerte Installation durchgeführt worden sein, gilt es zunächst den Datenbank – wie auch den Logpfad auf eine separate Festplatte zu verschieben.

Microsoft empfiehlt die Speicherung der Datenbank auf einer separaten Partition, welche seit Exchange Server 2016 auch ReFS formatiert sein kann. Auch die Partition (besser Festplatte), auf welcher die Transaktionslogs abgelegt werden, kann mittlerweile ReFS formatiert sein.

Meine Integrationen sehen immer (außer es spricht irgend ein anderer, extrem wichtiger Faktor dagegen) eine separate Festplatte pro Datenbank und eine weitere dedizierte Festplatte für die Transaktionslogs dieser Datenbank vor. Somit integriere ich die Exchange Server im Idealfall immer nach folgendem Layout:

HDD1 –> Systempartition
HDD2 –> Transaktionslogs MBX01
HDD3 –> Datenbankdateien MBX01
HDD2 –> Transaktionslogs MBX02
HDD3 –> Datenbankdateien MBX02

So hat der Administrator (bspw. der virtuellen Umgebung) maximale Kontrolle über seine virtuellen Festplatten und kann bei Datenzuwachs maximal granular skalieren. Wenn jetzt noch die "weichen Grenzen" der Datenbank – Größe gesetzt und beachtet werden, hat der Backup Administrator optimale RTO und RPO Werte. Zudem sind beim Ausfall einer Datenbank (oder deren Festplatte) nicht gleichzeitig alle Benutzer betroffen. Auch wenn die Festplatte oder die Datenbank aus dem Backup wiederhergestellt werden muss, ist die Zeit entsprechend kürzer, der Impact geringer.

Exchange Datenbanken und Mountpoints

Natürlich gehen einem so irgendwann die Buchstaben für Laufwerke aus. Zum Glück gibts dann "Mountpoints"…

Kurze Erklärung:

  1. Festplatte an den Server hängen
  2. Einen Ordner, bspw. C:\EX-DB erstellen
  3. Die  neue Platte an den Server hängen
  4. Neue Platte initialisieren
  5. GPT Partitionsschema verwenden
  6. neues Volume auf der Festplatte erstellen
  7. Im Wizard dann keinen Laufwerksbuchstaben zuweisen, sondern das Laufwerk in einen leeren NTFS Ordner mounten (hier jetzt den Ordner C:\EX-DB angeben
  8. Laufwerk formatieren (Exchange unterstützt übrigens ReFS mit 64K Blocksize, aber bitte via PowerShell für das Volume SetIntegrityStreams $false setzen)
  9. Dem Volume einen Namen verpassen (bspw. MBX01)
  10. Ab jetzt kann dieser Pfad als Speicherort für eine Exchange Datenbank verwendet werden…

Verschieben von Exchange Datenbanken

Das Verschieben von Datenbanken kann natürlich irgendwann eine Rolle spielen. Am einfachsten natürlich mit der Exchange Powershell, dann sind’s nur 2 Zeilen…

Zuerst schaut man sich die aktuellen Einstellungen an:

Get-MailboxDatabase | fl Name,EdbFilePath,LogFolderPath

Dann verschiebt man die Datenbank (Achtung, die Datenbank wird hierzu OFFLINE gesetzt!):

Move-DatabasePath MBX01 -LogFolderPath D:\MBX01-Logfiles -EdbFilePath E:\MBX01\MBX01.edb