Windows Server 2022 で新しく実装された「記憶域バスキャッシュ」について、実際に検証したり、考察したものを、いくつか記事として起こしました。本記事はそれらの概要をまとめたものです。
概要だけでなく詳しい内容を読みたい場合は、各項にあるリンクから詳細記事を開くことができます。
「記憶域バスキャッシュ」は、公式・非公式問わず情報が少ないこともあり、
記事内容が間違っている可能性もあります。
申し訳ありませんが、予めご了承くださいませ。
記憶域バスキャッシュとは
「記憶域バスキャッシュ」(Storage Bus Cache)は、一言でいうと「HDDの低コストさ」と「SSDの高性能さ」のいいとこ取りができる機能です。
HDDとSSDが複数混在するサーバーで記憶域バスキャッシュを使うと、HDDベースの容量が確保でき、SSDはキャッシュとして使います。もちろんSSDのみのオールフラッシュ構成が出来るならそれに越したことは無いですが、比較的低コストでこの性能に近づけることが(理論上)できるというものです。
この機能が、Windows Server 2022からスタンドアロンサーバーで構成できるようになりました。
詳しい解説は、MicrosoftのWebページに解説があります。
構成例と性能
この記憶域バスキャッシュを、検証環境で試してみましたので、その結果を紹介します。
構成例
検証環境(仮想化環境)で、記憶域バスキャッシュを構成するにあたり、次のストレージ構成としました。240GBのSSDを3台、1TB 7,200rpmのHDDを3台の合計6台、OS用のHDDも含めて合計8本です。(「なんでそんなに本数が要るの?」という点は、後で説明します)
上の図の「TestVolume」という1,000GBのボリュームが、SSDとHDDが混ざった領域(ハイブリッドストレージ)だと考えて下さい。
パフォーマンス測定結果
出来上がったボリューム「TestVolume」のI/O性能を測定しました。結果は下の図の通りで、「SSD未満 HDD以上」のパフォーマンスになっています。
信頼性
上の構成で、構成するSSD, HDDが故障したケースを想定して実験してみました。いくら性能が良くても、「HDDが1本壊れただけでボリュームが見えなくなる」のではサーバーとしては実用に値しないからです。
その結果、SSD・HDDともに同時に1本までなら故障しても継続稼働することが確認できました。サーバー機に求められる最低限の信頼性(可用性)は、問題なく確保できそうです。
詳細と構築手順
ここまでの詳しい内容と、記憶域バスキャッシュの構成手順は、以下の記事で解説しています。
設計の考察
前項では、記憶域バスキャッシュの1つの構成例を紹介しました。
では、これを新たに構成するにあたり、ボリューム容量や、ディスク本数はどのように設計すれば良いのでしょうか。前述のMicrosoftのページでは、詳しく言及していません。
筆者としては次のように考えています。
最小限のディスク本数
現実的な最小本数として、合計8本だと考えています。
内訳は上で示した構成例の通り、SSD×3本+HDD×3本に加えて、OS用HDD×2本です。
それより少ない本数だと、記憶域バスキャッシュを構成すること自体は可能ですが、信頼性(可用性)が担保できないようです。具体的には、SSDやHDDが1本故障しただけでボリュームが見えなくなりました。これだと、本番システムのサーバーでは実用に耐えられないでしょう。
ボリュームのサイズ
ボリュームの容量の考え方は、まずSSD側の容量+HDD側の容量となります。
上の構成例(SSD×3, HDD×3)の場合は次のように考えます。
- SSD側は240GB×3本ですが、3方向ミラーのため実効容量は1本分の240GB。さらに共有キャッシュの割合分15%を引いて、200GBとします。
- HDD側は1TB×3本のパリティ構成のため、実行容量は2本分の2TBです。しかし、SSD:HDDの容量比率を20:80に従って、800GBとします(1.2TBは余るけど今は置いておきます)。
- 上記のSSD側200GB+HDD側800GB= 合計1,000GBがボリュームの容量となります。
詳しい解説は以下の記事を参照して下さい。なお「必要なボリューム容量からディスク構成を考える」ケースについても、こちらの記事で解説しています。
代替方式
ここまで記憶域バスキャッシュを見てきましたが、「面倒臭そう」という印象があるのではないでしょうか。Windows Serer 2022が必要だし、構成も面倒、情報も少ないです。
HDDとSSDのハイブリッドストレージを構築するのが目的なら、他にも選択肢があります。記憶域バスキャッシュの代替方式として、ここでは次の2つを紹介します。
(1) CacheCade Pro 2.0
RAIDコントローラーの機能によって、上で説明したような構成を実現する方式です。記憶域バスキャッシュと比較すると、次のメリットとデメリットがあります。
パフォーマンスの比較結果を紹介したいところですが、実機が無く測定できませんでした。しかし、ハードウェアベンダー(富士通)が性能レポートを公開していて、それによるとHDDのみの構成と比べて格段に高いパフォーマンスになるようです。
結論としては、ハードウェアや予算の制約を受ける可能性はあるものの、簡単にハイブリッドストレージを実現できるというメリットが大きく、十分検討する価値があると思います。
詳しい内容は、以下記事を参照下さい。
記憶域スペースの階層化
「記憶域スペース」はWindows Server 2012からある機能ですが、複数のHDDやSSDを束ねて一つのボリュームを作ることも可能です。
これを使い、検証環境(仮想化)でSSDとHDDのボリュームを作ってみました。結果は次のようになりました。
- SSD×2本+HDD×2本+OS用HDD×2本=合計6本で最低限の信頼性を確保できた
- 仮想化した検証環境では、記憶域バスキャッシュと同様の性能を計測(下図)
この「記憶域スペース」の方が、少ないディスク本数で信頼性を確保でき、かつ過去のOSバージョンでも実現できます。それで性能が同等なら、記憶域バスキャッシュよりも優れていることになりそうです。しかし、あくまでも仮想化した検証環境でのベンチマーク結果であり、実運用環境のワークロードでは結果は変わってきそうです。
「記憶域バスキャッシュ」と「記憶域スペース」の違いを明確に提示できなくて申し訳ないのですが、検証結果を見る限りでは、こちらの記憶域スペースによる構成も十分検討に値すると考えられます。
これに関する詳しい内容は、以下記事を参照下さい。
補足
記憶域バスキャッシュの無効化
Microsoftのページなどでは、一度構成した記憶域バスキャッシュを無効化する手順が見つかりませんでした。検証の中で、こうすれば無効化できるという手順(経験則)が分かりましたので、こちらの記事でまとめています。
おわりに
今回の記事は以上です。不備やご意見等ありましたら、下のコメント欄やtwitterからお願いします。
Windows Server の知識をさらに深めるには、書籍もおすすめです。Windows Server は実は機能が豊富で、Webに情報がないケースも多いです。無駄に探し回らないために、良書を手元に置いておくと効率的です。おすすめの本は、以下記事にまとめています。
最後まで読んでいただきありがとうございました。
フィードバック
あなたが抱えている疑問や悩みは解決できたでしょうか?当ブログではそれを最重視しています。今後もあなたの役に立つ情報を提供するために、ぜひ教えて下さい。
コメント