web-dev-qa-db-ja.com

Windows Server Storage Spaces層のライトバックキャッシュ、ライトバックキャッシュで書き込みを実行するかどうかを決定するしきい値を構成するにはどうすればよいですか?

ストレージスペース機能はWindows Server 2012および今後のWindows Server 2016は仮想ディスクで構成されています。階層型ストレージの導入では、ライトバックキャッシュが作成されます(デフォルトのサイズは1GBです)。特定の書き込み操作がライトバックキャッシュに移動するかどうかを決定するしきい値が記憶域に構成されています。このしきい値は非常に小さく、書き込みの大部分がライトバックキャッシュに到達しないようにします。

例として、ライトバックキャッシュが500MB /秒を達成できるのに対し、低速層は75MB /秒でしか動作しないと仮定します。仮想ディスクを作成し、新しくフォーマットされたボリュームを作成した後、386MBファイルのコピー操作が記憶域スペース仮想ディスクで完了するのに1秒以上かかることがすぐにわかります。ライトバックキャッシュが操作を消費すると仮定すると、ファイルが1秒以内にコピーされることを期待しますが、そうではありません。代わりに、ストレージ層は、書き込みサイズがライトバックキャッシュへの書き込みの事前定義されたしきい値を超えていることを検出し、書き込みを最も遅い層に転送します。これは、完了するまでに約5秒かかります。ライトバックキャッシュがこのファイルコピー操作を加速しないのは残念です。

背景情報はここにあります:

私の目標は、サイズが非常に小さいものだけでなく、より多くの書き込み操作を高速化することです。これを達成した他のソフトウェアプロバイダーのリストは次のとおりです。

マイクロソフトが単に書き込み遅延キャッシュを許可する方法、またはライトバックキャッシュに書き込まれるもののしきい値を変更する方法がある場合、ストレージスペースの速度は20倍向上する可能性があります(これらのサードパーティが提供するベンチマークによると)ベンダー)。

2つの質問:

1)ライトバックキャッシュへの書き込みを実行するために選択するストレージスペースのデフォルトのしきい値(キロバイト単位)は何ですか?

2)PowerShellでどのコマンドを発行してしきい値を変更し、ストレージスペースにライトバックキャッシュへのより大きな書き込みを実行するように指示できますか?

2
FlashDictionary

そのための既知のしきい値はありません。 WBCを有効にすると、サイズに関係なくすべての書き込みがフラッシュされます。彼らがフラッシュをバイパスしてディスクに行く唯一のケースは、フラッシュがすでにいっぱいで、新しい書き込みを認める前にフラッシュすることは無意味です:待ち時間は屋根全体に急上昇します。

トピックに関するいくつかの良い読み物:

https://blogs.technet.Microsoft.com/larryexchange/2015/12/02/understand-storage-space-tiering-in-windows-server-2012-r2/

https://technet.Microsoft.com/en-us/library/dn789160.aspx

サードパーティのキャッシングソフトウェアは、f.e。のように、持ち込む価値のあるものがない限り、避けたいと思います。分散DRAMライトバックキャッシュ。そのためには、StarWind vSANのようなクラスターを実行する必要がありますが、単一サーバー上の巨大なDRAMキャッシュが問題を懇願しているためです。

https://www.starwindsoftware.com/caching-page

CSVキャッシュを試すことはできますが、これまでのところ読み取り専用です。

https://blogs.msdn.Microsoft.com/clustering/2013/07/19/how-to-enable-csv-cache/

今後のWindowsServer 2016には、ここでもいくつかの最適化が含まれているため、試してみる価値があります。

https://blog.cdemi.io/caching-and-storage-tiering-in-storage-spaces-direct/

3
BaronSamedi1958

ライトバックキャッシュサイズをカスタマイズする場合は、WindowsPowerShellコマンドレットと-WriteCacheSizeパラメーターを使用します。次に例を示します。

New-VirtualDisk -StoragePoolFriendlyName "My Storage Pool" -FriendlyName TieredSpace -StorageTiers @($ ssd_tier、$ hdd_tier)-StorageTierSizes @(50GB、300GB)-ResiliencySettingName Mirror -WriteCacheSize 2GB

注:仮想ディスクの作成後は、そのWriteCacheSizeを変更することはできません。

ソース: http://windowsitpro.com/windows-server-2012-r2/set-windows-server-2012-r2-storage-space-write-back-cache

一般的に言って、ストレージスペースWBCは大きなキャッシュ容量に最適化されておらず、私は個人的に、どのような場合でも5GBを超える容量を割り当てることはありません。

また、@ BaronSamedi1958が気付いたように、分散RAMキャッシュは、書き込みI/Oを高速化するためのはるかに優れた方法であり、StarWindのキャッシュ実装は間違いなく試してみる価値があります。

2
Strepsils