適用対象:2016
2019
Subscription Edition
MetaCacheDatabase (MCDB) 機能は、Exchange Server 2019 に含まれています。 これにより、ソリッド ステート ディスク (SSD) を利用して、データベース可用性グループ (DAG) を高速化できます。
Manage-MetaCacheDatabase.ps1
は、Exchange Server管理者が Exchange 2019 DAG で MCDB インスタンスを設定および管理するために作成された自動化スクリプトです。
Exchange Server 2019 をインストールすると、drive:\Program Files\Microsoft\Exchange Server\V15\Scripts というManage-MetaCacheDatabase.ps1
があります。 Exchange Management Shell セッションで Manage-MCDB CMDLet を使用できるようにするには、次の操作を行います。
cd $exscripts
. .\Manage-MetaCacheDatabase.ps1
このスクリプトを使用して、適切に構成された DAG で MCDB の前提条件を構成し、MCDB を有効または無効にし、サーバーで MCDB を構成および修復します。
SSD ガイダンス
MCDB に使用されるすべての SSD は、同じ容量と種類である必要があります。 サーバー間の対称構成が必要です。つまり、各サーバーには同じ数の SSD が必要であり、SSD はすべて同じサイズである必要があります。
注:
Manage-MCDB コマンドレットは、Windows によって MediaType SSD として公開されているデバイスでのみ機能します。
サーバーごとに SSD と HDD デバイスの間で 1:3 の比率をターゲットにすることをお勧めします。 そのため、3 つの HDD ごとに 1 つの SSD をデプロイします。 サーバー内の HDD の数を減らす必要がないようにするには、M.2 フォーム ファクター SSD の使用を検討してください。
オンプレミスの展開では、HDD の合計容量に対して SSD 容量の 5% から 6% を提供するだけで十分です。 たとえば、サーバーにメールボックス データベースの HDD 容量が 100 TB 含まれている場合は、SSD 容量に対して 5 TB から 6 TB の割り当てで十分です。
使用する SSD は"混合使用" の対象となり、書き込み耐久性の観点から 1 日に 1 つのドライブ書き込み (DWPD) 以上をサポートする必要があります。
前提条件
MCDB の構成と使用を成功させるには、次の前提条件が必要です。
DAG は AutoReseed 用に構成されています。
詳細については、次のトピックをご覧ください。
RAW SSD ドライブは、DAG 内の各サーバーに同じ SSD 数とサイズでインストールされます。 すべての SSD が完全に空で、書式設定されておらず、書き込み保護されていないことを確認します。 これを確認するには、 DiskPart または Clear-Disk を使用できます。
Exchange Server 2019.
MCDB のセットアップ
MCDB を設定するプロセスは、次の 4 つの基本的な手順に分けることができます。
MCDB で有効にする DAG の正しい値を設定します。
Active Directory (AD) 設定を更新し、(
ConfigureMCDBPrerequisite
を実行して) 伝達を待機します。DAG の各サーバーに対して MCDB アクセラレーションを許可します (
ServerAllowMCDB
を実行)。各サーバーで (
ConfigureMCDBOnServer
を実行して) MCDB に必要なインフラストラクチャ (ボリューム、マウント ポイント) を作成します。データベースがフェールオーバーして新しい設定を選択できるようにします。
4 つのステップすべてが正常に実行されると、対応する MCDB インスタンスを持つすべてのデータベース インスタンスに対して MCDB アクセラレーションが開始されます。
次のセクションでは、 Manage-MetaCacheDatabase.ps1
スクリプトを利用して上記の 4 つの手順を実行する方法について説明します。
手順 1: MCDB を有効にする DAG で適切な値を構成する
これらの DAG パラメーターは、SSD ドライブの適切な MCDB サイズを計算するために使用されます。
AutoDagTotalNumberOfDatabases: DAG 内のデータベースの数 (50 など)。
AutoDagDatabaseCopiesPerDatabase: 個々のデータベースに含まれるアクティブコピーとパッシブ コピーの数。
AutoDagTotalNumberOfServers: DAG 内のサーバーの数 (2 から 16 の間)。
例:
Set-DatabaseAvailabilityGroup testdag1 -AutoDagTotalNumberOfDatabases 20 -AutoDagDatabaseCopiesPerDatabase 4 -AutoDagTotalNumberOfServers 8
手順 2: Manage-MCDB -ConfigureMCDBPrerequisite を実行する
このパラメーターは、DAG オブジェクトの Active Directory 状態を設定します。 すべてのサーバーで MCDB を正常に機能させるには、Active Directory 状態の完全なレプリケーションが必要です。
ParameterSetIdentifier:
- ConfigureMCDBPrerequisite
パラメーター:
パラメーター | 必須 | 説明 |
---|---|---|
DagName | True | データベース可用性グループの名前。 |
SSDSizeInBytes | True | MCDB に使用するサーバー内の各 SSD の容量 (バイト単位)。 |
SSDCountPerServer | True | 各サーバーの MCDB に使用する SSD デバイスの数。 |
スコープ:
- DAG: CONFIGUREMCDBPrerequisite は DAG オブジェクトに対して動作します。
注:
MCDB は、SSD の物理容量の最大 95% を利用します。 残りの 5% は、ファイル システムとパーティションのオーバーヘッドに加え、少量の追加バッファーと過剰プロビジョニングを考慮して自由に保持されます。
例:
Manage-MCDB -DagName TestDag1 -ConfigureMCDBPrerequisite -SSDSizeInBytes 5242880000 -SSDCountPerServer 2
手順 3: Manage-MCDB -ServerAllowMCDB を実行する
このコマンドは、MCDB の作成と読み取りアクセラレーションを許可/禁止するように、各 DAG メンバーのローカル状態を設定します。
ParameterSetIdentifier:
- ServerAllowMCDB
パラメーター:
パラメーター | 必須 | 説明 |
---|---|---|
DagName | True | データベース可用性グループの名前。 |
ServerName | True | MetaCacheDatabase を有効にするサーバーを指定します。 |
ForceFailover | 省略可能 | このブール値スイッチを使用して、サーバー上のすべてのデータベースをフェールオーバーさせることができます。 これは、すべての構成変更を有効にし、 ステップ 4: Manage-MCDB -ConfigureMCDBOnServer でマウント ポイントとデータベース インスタンスが正常に作成された後に MCDB の使用を開始するために必要です。 SSD アクセラレーションを無効にする必要もあります。 |
スコープ:
- サーバー: DAG 内の各 サーバーで ServerAllowMCDB を実行する必要があります。
例:
Manage-MCDB -DagName TestDag1 -ServerAllowMCDB:$true -ServerName "exhs-5046"
Manage-MCDB -DagName TestDag1 -ServerAllowMCDB:$false -ServerName "exhs-5046" -ForceFailover $true
手順 4: Manage-MCDB -ConfigureMCDBOnServer を実行する
このコマンドは、フォーマットされていない SSD デバイスを識別してフォーマットし、MCDB インスタンスをホストするために必要なマウント ポイントをサーバーに作成します。 このパラメーター セットを使用して、障害が発生した SSD を置き換えるために追加された生 SSD 上にマウント ポイントを再作成することもできます。
ParameterSetIdentifier:
- ConfigureMCDBOnServer
パラメーター:
パラメーター | 必須 | 説明 |
---|---|---|
DagName | True | データベース可用性グループの名前。 |
ServerName | True | フォーマットされていない SSD デバイスを識別し、マウント ポイントを作成するサーバーを指定します。 |
SSDSizeInBytes | True | これは、MCDB に使用されるサーバー内の各 SSD の容量 (バイト単位) です。 |
スコープ:
- サーバー: DAG 内の各サーバーで ConfigureMCDBOnServer を実行する必要があります。
例:
Manage-MCDB -DagName TestDag1 -ConfigureMCDBOnServer -ServerName "exhs-4056" -SSDSizeInBytes 5242880000
前の 3 つの手順 ( ConfigureMCDBPrerequisite、 ServerAllowMCDB、 ConfigureMCDBOnServer の構成) を実行すると、MCDB 状態は 記憶域オフラインとして表示されます。 つまり、環境は MCDB インスタンスを作成して設定する準備が整っています。 データベース インスタンスの次のフェールオーバーにより、MCDB インスタンスが作成され、高速化が有効になります。 インスタンスは 、MCDB の正常性状態に示されている正常性状態を通じて遷移します。
ServerAllowMCDB パラメーター セットを使用すると、特定のサーバーに存在するすべての DB インスタンスのフェールオーバーを引き起こすことができます。 または、 Move-ActiveMailboxDatabase コマンドレットを使用して、個々のデータベースをフェールオーバーすることもできます。
Manage-MCDB -DagName TestDag1 -ServerAllowMCDB:$true -ServerName "exhs-5046" -ForceFailover $true
MCDB の正常性状態
GET-MailboxDatabaseCopyStatus を使用して、MCDB インスタンスの状態を照会します。 次の表に示すように、MCDB インスタンスを使用できる状態は 5 つあります。
状態 | 説明 |
---|---|
無効 | MCDB がオフになっています。 |
StorageOffline | マウント ポイントやファイル パスなど、基本的なインフラストラクチャが見つからないか、アクセスできません。 これは、SSD 障害に続く MCDB の状態です。 |
オフライン | 論理レベルのエラー (MCDB インスタンスが見つからないなど)。 |
Initializing | 一時的な状態では、システムは他の状態を決定しています。 |
Healthy | 要求を処理する準備ができました。 |