NVDIMM-N ライトバック キャッシュを使った記憶域スペースの構成
適用対象: SQL Server
Windows Server 2016 では、超高速の入出力 (I/O) 操作を可能にする NVDIMM-N デバイスのサポートが導入されました。 そのようなデバイスを使用する魅力的な方法の 1 つは、書き込みの低待機時間を実現するためのライトバック キャッシュです。 このトピックでは、ミラー化された NVDIMM-N ライトバック キャッシュを使用して、SQL Server トランザクション ログを格納するための仮想ドライブとしてミラー化された記憶域スペースをセットアップする方法について説明します。 この記憶域スペースをデータ テーブルまたは他のデータを格納するためにも活用する場合は、記憶域プールにディスクを追加するか、分離が重要な場合は複数のプールを作成します。
適切なディスクを識別する
特に高度な機能 (ライトバック キャッシュなど) を使用した Windows Server 2016 の記憶域スペースのセットアップは、PowerShell で最も簡単に達成できます。 最初の手順として、仮想ディスクが作成される記憶域スペース プールの一部とする必要のあるディスクを識別します。 NVDIMM-N には、メディア型とバス型の SCM (記憶域クラス メモリ) があります。これらについては、Get-PhysicalDisk
PowerShell コマンドレットを使用してクエリを実行できます。
Get-PhysicalDisk | Select FriendlyName, MediaType, BusType
Note
NVDIMM-N デバイスを使用すると、ライトバック キャッシュの対象になるデバイスを具体的に選択する必要がなくなります。
ミラー化されたライトバック キャッシュを使用してミラー化された仮想ディスクを構築するには、少なくとも 2 つの NVDIMM-N に加えて他の 2 つのディスクが必要です。 プールの構築前に、必要な物理ディスクを変数に割り当てることによって、処理が簡単になります。
$pd = Get-PhysicalDisk | Select FriendlyName, MediaType, BusType | WHere-Object {$_.FriendlyName -like 'MK0*' -or $_.FriendlyName -like '2c80*'}
このスクリーンショットには、$pd 変数と、2 つの SSD および 2 つの NVDIMM-N が示されています。これらは、次の PowerShell コマンドレットを使用して戻り値に割り当てられます。
$pd | Select FriendlyName, MediaType, BusType
記憶域プールを作成する
PhysicalDisks を含む $pd 変数を使用すると、New-StoragePool
PowerShell コマンドレットを使用して記憶域プールを構築するのが容易になります。
New-StoragePool -StorageSubSystemFriendlyName "Windows Storage*" -FriendlyName NVDIMM_Pool -PhysicalDisks $pd
仮想ディスクとボリュームを作成する
プールが作成されたら、次に仮想ディスクを切り出して、書式設定します。 次のケースでは、仮想ディスクは 1 つだけ作成され、New-Volume
PowerShell コマンドレットを使用してこのプロセスを効率化することができます。
New-Volume -StoragePool (Get-StoragePool -FriendlyName NVDIMM_Pool) -FriendlyName Log_Space -Size 300GB -FileSystem NTFS -AccessPath S: -ResiliencySettingName Mirror
仮想ディスクが作成、初期化され、NTFS でフォーマットされます。 次の画面キャプチャは、サイズが 300 GB で、書き込みキャッシュが 1 GB であり、NVDIMM-N でホストされることを示しています。
サーバーで表示されるこの新しいボリュームが確認できるようになりました。 SQL Server トランザクション ログに対してこのドライブを使用できます。