サーバをオールフラッシュストレージ!…で組めないのでVVALUTでSSDキャッシュ構成を組む

サーバをオールフラッシュストレージ!…で組めないのでVVALUTでSSDキャッシュ構成を組む

新Ryzen&B550に組み替えたリビングサーバも大分落ち着きました。
次なる目標はストレージの高速化です。

SSDによるストレージキャッシュ

理想は2TB NVMe SSDを3本積んだオールフラッシュストレージ!

それも10万円くらいかければ実現可能です。
でも優先順位はそこまで高くない。予算があるならまずネットワークに投資したいわけです。

そこで「SSDによるHDDストレージの高速化」に目をつけました。
SSDをキャッシュ(高速な一時領域)にして、HDDのデータでもSSD並の速度でアクセスできるようにする手法です。

もちろん最初の一回はHDDから読み込まれるため低速。
データの利用頻度が上がるとSSDに配置され、次回からはSSDから読み込まれる仕組み。

AMDのStoreMIが使いたい

これを実現するツールは何個かあります。

中でも専用のキャッシュSSDを使うインテル® Optane™ メモリーが有名。
ただし、1万円程度の出費と、Intelチップセットが必要。
今回は除外です。

この点だけはIntelいいなーと思っていたら、AMDのにもその仕組があるらしい。

StoreMI Technology for Socket AM4 motherboard | AMD

AMD Ryzen™プロセッサーを搭載したデスクトップPCのストレージを、迅速かつ簡単に拡張および高速化することができます。

これだ!と思って飛びついて入れたらOSが起動しなくなりました。
マジか・・・

原因はStoreMiがX570しか対応していなかったため!
セキュアブートを切れとか、CSMを確認しろ、とか色々確認しても駄目。
導入前の通り、フルバックアップをしておいたので、リストアして事なきを得ました。

ストレージ管理ツールVVALUT

ティアリングとキャッシング

という事で本題です。
昔WHS2011の頃に、ストレージ管理ソフトである”VVAULT“を試しました。

http://dolls.tokyo/vvault2-0%e3%81%afwhs2011%e3%83%90%e3%83%83%e3%82%af%e3%82%a2%e3%83%83%e3%83%97%e3%81%a7%e4%bd%bf%e3%81%88%e3%82%8b%e3%81%ae%e3%81%8b

このときは、HDD仮想化を目的として使用しました。
複数のHDDを一本の大きなドライブに見せる機能です。

VVAULTは大きなドライブを作る際、構成ディスクを速度ごとに4種類(ティア)に分けます。
そしてデータの利用頻度に合わせ、自動的に頻度の高いデータを高速ディスクへ、
頻度の低いデータを低速ディスクへ再配置します。

これを”ティアリング(ストレージ階層化)”といい、本格的なNASでも使われている手法です。
対してOpaneやStoreMIは”キャッシング”方式。動作は前述の通り。

それぞれ別物であり、一長一短あります。
しかし「よく使うデータが高速ディスク=高速SSDから読まれる」という点に差はありません。

じゃあ試してみよう!
というわけで今回は久しぶりにVVAULTを使ってみます。

ライセンス

個人向けのライセンスには、無登録で使えるBasicと、登録制無料のPersonalがあります。
どちらもティアリングは利用可能。

今回は過去の登録があったため、再度ライセンスを発行しPersonal版でセットアップしました。
これにより「2台/2TBまで」という接続ストレージの制限が外れます。

セットアップ

具体的な手順は詳しいマニュアルPDFがあるのでそれを参照してください。
今や企業向けミドルウェアとなっているため、非常に丁寧なドキュメントが公開されています。

今回は構成ディスク3本で1つの仮想ディスク=インスタンスV:を構成しました。

  • 最速ストレージ:NVMeSSDの256GBパーティション
  • 高速ストレージ:SATA接続のSSD(Crucial C300 120GB)
  • 中速ストレージ:SATA接続のWD Red 4TB

一つ注意点がありました。
それは「仮想ディスクに組み込んだ構成ディスクはドライブレターを変更できない」という仕様。

最終的に仮想ディスクに使いたいドライブレターは、構成前に予め空けておく必要があります。
自分はまんまとはまり、全く新しいドライブレターを割り当てる事になりました。

念の為、mklinkコマンドにてディレクトリシンボリックリンクを作成。
Dドライブのサーバフォルダにアクセスがあった場合、Vドライブに回送します。

mklink /D "D:\ServerFolders\" "V:\ServerFolders\"

Dropboxの様に、そもそも仮想ディスク上にインストールできないアプリもあります。
そういう場合は構成ディスクに直接ファイルを置くことも可能。
仮想ディスクの管理領域は各構成ディスクのサブフォルダに配置されます。

実際速くなったの?投稿一覧

正直なところ、「データ領域へのアクセスが速くなった!」という体感はまだありません。

ティアリングの最適化とやらに果たしてどのくらいかかるのか。
今のモヤッとした印象がすでに本来のスペックなのか。

試しにネットワーク経由でサーバの領域に対しベンチマークを取ってみました。

  1. 構成ディスク(HDD)の直接アクセス領域
  2. 実際にファイルサーバとして使う仮想ドライブ領域

1.のランダムが極端に遅いのが気になるものの、2.はHDD単体とはまた違った結果を示しました。
ちゃんとSSDを高速領域として使用している模様。

構成直後の測定ではシーケンシャルが275MB/sとNICの論理上限近くまで伸びていました。
おそらくティアリングが進み容量が一杯になった結果、現在はこの値が最大速度になっているようです。

StoreMIがB550に対応

最後に大事な事を書きます。
自分もこの記事を書いてる途中に気づきました。

StoreMI Technology for Socket AM4 motherboard | AMD

AMD X570またはB550マザーボードをお持ちのユーザーは、無料でAMD StoreMIをダウンロードできます。
AMD 400シリーズ、X399およびTRX40チップセットに対するStoreMIのサポートは、2020年第3四半期に予定されています。

エエエエエエエ!!!
今(2020/08/18)見たらStoreMIがB550に正式対応してる!

ほんの1週間の差ですよ???
もっと遅くに試せば良かった・・・。

とりあえず暫くVVAULT使ってみます。
体感が今ひとつだったらStoreMIも試してみようと思います。

コメントを残す