Setup von MetaCacheDatabase (MCDB)
Das Feature MetaCacheDatabase (MCDB) ist in Exchange Server 2019 enthalten. Dadurch kann eine Datenbankverfügbarkeitsgruppe (DAG) mithilfe von Solid State Disks (SSDs) beschleunigt werden. Manage-MetaCacheDatabase.ps1
ist ein Automatisierungsskript, das für Exchange Server Administratoren zum Einrichten und Verwalten von MCDB-Instanzen in ihren Exchange 2019-DAGs erstellt wurde.
Nach der Installation von Exchange Server 2019 finden Manage-MetaCacheDatabase.ps1
Sie hier: Laufwerk:\Programme\Microsoft\Exchange Server\V15\Scripts. Gehen Sie wie folgt vor, um das Manage-MCDB-CMDLet in Ihrer Exchange-Verwaltungsshell-Sitzung verfügbar zu machen:
cd $exscripts
. .\Manage-MetaCacheDatabase.ps1
Sie verwenden dieses Skript, um MCDB-Voraussetzungen für eine ordnungsgemäß konfigurierte DAG zu konfigurieren, MCDB zu aktivieren oder zu deaktivieren und MCDB auf Ihren Servern zu konfigurieren und zu reparieren.
SSD-Leitfaden
Alle für MCDB verwendeten SSDs müssen die gleiche Kapazität und den gleichen Typ aufweisen. Eine symmetrische Konfiguration zwischen Servern ist erforderlich. Dies bedeutet, dass auf jedem Server eine identische Anzahl von SSDs vorhanden sein muss, und die SSDs müssen alle dieselbe Größe aufweisen.
Hinweis
Das Cmdlet Manage-MCDB funktioniert nur mit Geräten, die von Windows als MediaType SSD verfügbar gemacht werden.
Es wird empfohlen, ein Verhältnis von 1:3 zwischen SSD- und HDD-Geräten pro Server festzulegen. Stellen Sie daher eine SSD für jeweils drei HDDs bereit. Um die Anzahl von HDDs auf dem Server zu vermeiden, sollten Sie die Verwendung von M.2-Formfaktor-SSDs in Betracht ziehen.
Die Bereitstellung von 5 % bis 6 % der SSD-Kapazität im Verhältnis zur Hdd-Gesamtkapazität ist für lokale Bereitstellungen ausreichend. Wenn Ihr Server beispielsweise 100 TB HDD-Kapazität für Postfachdatenbanken enthält, reicht eine Zuordnung von 5 TB bis 6 TB für die SSD-Kapazität aus.
Die verwendeten SSDs sollten für "gemischte Verwendung" geeignet sein und in Bezug auf die Schreibdauer ein Laufwerk pro Tag (DWPD) oder mehr unterstützen.
Voraussetzungen
Für eine erfolgreiche Konfiguration und Verwendung von MCDB sind die folgenden Voraussetzungen erforderlich:
Die DAG ist für AutoReseed konfiguriert.
Weitere Informationen finden Sie in den folgenden Themen:
RAW-SSD-Laufwerke werden mit der gleichen SSD-Anzahl und -Größe für jeden Server in der DAG installiert. Stellen Sie sicher, dass alle SSDs vollständig leer, unformatiert und nicht schreibgeschützt sind. Um dies zu überprüfen, können Sie DiskPart oder Clear-Disk verwenden.
Exchange Server 2019.
MCDB-Einrichtung
Der Prozess der Einrichtung von MCDB kann in vier grundlegende Schritte unterteilt werden:
Legen Sie die richtigen Werte für die DAG fest, die Sie für MCDB aktivieren möchten.
Aktualisieren Sie die Active Directory-Einstellungen (AD), und warten Sie auf die Weitergabe (durch Ausführen
ConfigureMCDBPrerequisite
von ).Lassen Sie die MCDB-Beschleunigung für jeden Dag-Server zu (indem Sie ausführen
ServerAllowMCDB
).Erstellen Sie die erforderliche Infrastruktur (Volumes, Bereitstellungspunkte) für MCDB auf jedem Server (durch Ausführen
ConfigureMCDBOnServer
von ).Lassen Sie ein Failover für Datenbanken zu, um die neuen Einstellungen zu übernehmen.
Nach erfolgreicher Ausführung aller vier Schritte beginnt die MCDB-Beschleunigung für jede Datenbank instance mit einem entsprechenden MCDB-instance.
In den folgenden Abschnitten wird beschrieben, wie Sie das Manage-MetaCacheDatabase.ps1
Skript verwenden, um die oben genannten vier Schritte auszuführen.
Schritt 1: Konfigurieren der richtigen Werte für die DAG, für die Sie MCDB aktivieren möchten
Diese DAG-Parameter werden verwendet, um die richtige MCDB-Größe auf Ihren SSD-Laufwerken zu berechnen:
AutoDagTotalNumberOfDatabases: Die Anzahl der Datenbanken in Ihrer DAG (z. B. 50).
AutoDagDatabaseCopiesPerDatabase: Die Anzahl der aktiven und passiven Kopien, über die jede einzelne Datenbank verfügt.
AutoDagTotalNumberOfServers: Die Anzahl der Server in Ihrer DAG, also zwischen 2 und 16.
Beispiel:
Set-DatabaseAvailabilityGroup testdag1 -AutoDagTotalNumberOfDatabases 20 -AutoDagDatabaseCopiesPerDatabase 4 -AutoDagTotalNumberOfServers 8
Schritt 2: Ausführen von Manage-MCDB -ConfigureMCDBPrerequisite
Dieser Parameter legt den Active Directory-Status für das DAG-Objekt fest. Eine vollständige Replikation des Active Directory-Zustands ist erforderlich, damit MCDB auf allen Servern ordnungsgemäß funktionieren kann.
ParameterSetIdentifier:
- ConfigureMCDBPrerequisite
Parameter:
Parameter | Erforderlich | Beschreibung |
---|---|---|
DagName | Wahr | Name der Datenbankverfügbarkeitsgruppe. |
SSDSizeInBytes | Wahr | Die Kapazität in Bytes für jede SSD auf dem Server, die für MCDB verwendet werden soll. |
SSDCountPerServer | Wahr | Die Anzahl der SSD-Geräte, die für MCDB auf jedem Server verwendet werden sollen. |
Bereich:
- DAG: ConfigureMCDBPrerequisite arbeitet für ein DAG-Objekt.
Hinweis
MCDB nutzt bis zu 95 % der physischen Kapazität einer SSD. Die restlichen 5 % werden freigehalten, um den Aufwand für Dateisysteme und Partitionen sowie eine geringe Menge an zusätzlichem Puffer und Überbereitstellung zu berücksichtigen.
Beispiel:
Manage-MCDB -DagName TestDag1 -ConfigureMCDBPrerequisite -SSDSizeInBytes 5242880000 -SSDCountPerServer 2
Schritt 3: Ausführen von Manage-MCDB -ServerAllowMCDB
Dieser Befehl legt den lokalen Zustand für jedes DAG-Mitglied so fest, dass MCDB-Auffüllung und Lesebeschleunigung zugelassen bzw. nicht zugelassen werden.
ParameterSetIdentifier:
- ServerAllowMCDB
Parameter:
Parameter | Erforderlich | Beschreibung |
---|---|---|
DagName | Wahr | Name der Datenbankverfügbarkeitsgruppe. |
ServerName | Wahr | Gibt den Server an, auf dem MetaCacheDatabase aktiviert werden soll. |
ForceFailover | Optional | Dieser boolesche Switch kann verwendet werden, um ein Failover für alle Datenbanken auf einem Server zu bewirken. Dies ist erforderlich, damit alle Konfigurationsänderungen wirksam werden und mcDB verwendet werden kann, nachdem Bereitstellungspunkte und Datenbankinstanzen erfolgreich in Schritt 4: Ausführen von Manage-MCDB -ConfigureMCDBOnServer erstellt wurden. Sie ist auch erforderlich, um die SSD-Beschleunigung zu deaktivieren. |
Bereich:
- Server: Sie müssen ServerAllowMCDB auf jedem Server in der DAG ausführen.
Beispiele:
Manage-MCDB -DagName TestDag1 -ServerAllowMCDB:$true -ServerName "exhs-5046"
Manage-MCDB -DagName TestDag1 -ServerAllowMCDB:$false -ServerName "exhs-5046" -ForceFailover $true
Schritt 4: Ausführen von Manage-MCDB -ConfigureMCDBOnServer
Mit diesem Befehl werden unformatierte SSD-Geräte identifiziert und formatiert. Außerdem werden die erforderlichen Bereitstellungspunkte auf einem Server zum Hosten von MCDB-Instanzen erstellt. Dieser Parametersatz kann auch verwendet werden, um Bereitstellungspunkte auf einer unformatierten SSD neu zu erstellen, die hinzugefügt wurde, um eine fehlerhafte SSD zu ersetzen.
ParameterSetIdentifier:
- ConfigureMCDBOnServer
Parameter:
Parameter | Erforderlich | Beschreibung |
---|---|---|
DagName | Wahr | Name der Datenbankverfügbarkeitsgruppe. |
ServerName | Wahr | Gibt den Server an, auf dem unformatierte SSD-Geräte identifiziert und Bereitstellungspunkte erstellt werden sollen. |
SSDSizeInBytes | Wahr | Dies ist die Kapazität jeder SSD auf dem Server in Bytes, die für MCDB verwendet werden soll. |
Bereich:
- Server: Sie müssen ConfigureMCDBOnServer auf jedem Server in der DAG ausführen.
Beispiel:
Manage-MCDB -DagName TestDag1 -ConfigureMCDBOnServer -ServerName "exhs-4056" -SSDSizeInBytes 5242880000
Nachdem Sie die drei vorherigen Schritte ausgeführt haben (Konfigurieren von ConfigureMCDBPrerequisite, ServerAllowMCDB und ConfigureMCDBOnServer), wird der MCDB-Status als Storage Offline angezeigt. Dies bedeutet, dass die Umgebung für die Erstellung und Auffüllung von MCDB-Instanzen vorbereitet und bereit ist. Das nächste Failover der Datenbank instance bewirkt, dass die MCDB-instance erstellt und die Beschleunigung aktiviert wird. Die Instanzen durchlaufen die in MCDB-Integritätsstatus angezeigten Integritätszustände.
Sie können den Parametersatz ServerAllowMCDB verwenden, um Failovers aller Datenbankinstanzen auf einem bestimmten Server zu verursachen. Alternativ können Sie das Cmdlet Move-ActiveMailboxDatabase verwenden, um für einzelne Datenbanken ein Failover zu veranlassen.
Manage-MCDB -DagName TestDag1 -ServerAllowMCDB:$true -ServerName "exhs-5046" -ForceFailover $true
MCDB-Integritätsstatus
Verwenden Sie Get-MailboxDatabaseCopyStatus , um den Status der MCDB-Instanzen abzufragen. Es gibt fünf Zustände, in denen sich ein MCDB-instance befinden kann, wie in der folgenden Tabelle gezeigt:
Status | Beschreibung |
---|---|
Deaktiviert | MCDB ist deaktiviert. |
StorageOffline | Grundlegende Infrastruktur fehlt oder ist nicht zugänglich, z. B. Bereitstellungspunkte oder Dateipfade. Dies ist der Zustand, in dem sich MCDB nach einem SSD-Fehler befindet. |
Offline | Fehler auf logischer Ebene, z. B. fehlende MCDB-Instanzen. |
Initializing | Vorübergehender Zustand: Das System bestimmt, in welchem anderen Zustand es sich befinden soll. |
Healthy | Bereit für die Bereitstellung von Anforderungen. |