Windows10の記憶域機能で2台のHDDを使って高速な仮想ストレージを作ってみた。

0 0
最近プレイしているゲームがやたらファイルアクセスが多いゲームなので、少しでもロード時間を短縮出来ないかとソフトRAID機能で複数台のHDDを使って高速化できないかと調べてみても、基本的に内蔵ドライブ2台以上出ないとRAIDが組めないとかドライブをまるごと使わないと出来ないとか、制限が多く外付けHDDと内蔵HDDでのRAIDを組む方法が見つからなかったので、今回は外付けHDDと内蔵HDD混合の疑似RAID0環境の作り方をメモ。

今回の作業手順は
各物理ディスクにVHDファイル(仮想ディスクファイルを作成)→作成したVHDファイルをマウント→マウントした仮想ディスクを使って記憶域プールを作成→PowerShellを使用して記憶プール内に記憶域スペースを作成→VHDファイルの自動マウント関連の設定
※要約すると仮想ディスクを使って記憶域で疑似RAID0を作る。

使用するディスクはHDD、SSD、SDカード、USBメモリー、25GB以上の容量のものであればなんでも良い、ただし最も遅いディスクに合わせて処理する形になるので、使用するディスクの速度は可能な限り同じ方が良い。


まずはVHDファイルを各ディスクに作成。スタートボタン(画面左下)を右クリック→「ディスク管理」をクリック→上部の「操作」をクリック→「VHDファイルの作成」をクリック→「参照」をクリックしVHDファイルの保存先を選択→適当なファイル名を指定して保存をクリック
記憶域高速化1
今回は記憶域の構築方法にシンプルを選び2台のディスクを使用する予定なので仮想ディスクのサイズは作りたい記憶域の容量の半分の値を入力。(画像では100GBの記憶域を作るために50GBと入力)
同じ手順をもう一台の物理ディスクでも行う。


作成した仮想ディスクはコンピューターの管理ウィンドウのディスク管理の項目で、未フォーマットのパーティションとして表示されているはずなので、フォーマットする。
未フォーマットのパーティション(黒い帯の部分)の横のディスクの項目を右クリックして「ディスクの初期化」をクリック。
記憶域高速化2

フォーマットするディスクを聞かれるので記憶域に使用するディスクが選択されていることを確認して「OK」をクリック。
記憶域高速化3

スタートボタン(画面左下)をクリック→「コントロールパネル」をクリック→「システムとセキュリテ」をクリック→「記憶域」をクリック→「新しいプールと記憶域の作成」をクリック→未フォーマットのドライブの欄に先程作成した仮想ディスクがあるはずなので「プールの作成」をクリック。
記憶域高速化4

続いて記憶域スペースの作成ウィンドウが表示されるので「キャンセル」をクリック
記憶域高速化5
記憶域スペースの作成はPowerShellを使用して作成したほうが格段に速度が早くなるので記憶域の高速化のために今回はコントロールパネルからの作成はキャンセルを選択します。


PowerShellを使用した記憶域スペースの作成はこちらのページを参考にしています。

「スタートボタン」→プログラム一覧から「Windows PowerShell」を右クリックして「管理者として実行する」をクリック。
記憶域高速化6


記憶域プール内に記憶域スペースを作るために、PowerShellのコンソールに参考ページから拝借してきたコマンド(一部変更済みの物) 「New-VirtualDisk -StoragePoolFriendlyName "記憶域プール" -FriendlyName "シンプル記憶域" -ResiliencySettingName Simple -Size 100000000000 -ProvisioningType Fixed -NumberOfColumns 2 -WriteCacheSize 0」 と 「Set-StoragePool -FriendlyName "記憶域プール" -IsPowerProtected $True」
をコピペして実行(ウィンドウ上で右クリックを二回押すとペースト出来ます)
記憶域高速化7
成功するとこんな表示になります。
今回のコマンドはディスク1台に50GBずつディスク2台で作成する場合のコマンドなので容量が違う場合は各自修正する。
例:ディスク1台に100GBずつディスク2台で合計200GBの記憶域を作成する場合
「New-VirtualDisk -StoragePoolFriendlyName "記憶域プール" -FriendlyName "シンプル記憶域" -ResiliencySettingName Simple -Size 200000000000 -ProvisioningType Fixed -NumberOfColumns 2 -WriteCacheSize 0」


無事記憶域スペースが作成されているとコントロールパネル側の表示もこのように変化して記憶域という項目が出来ているはずなので、フォーマットをクリック
記憶域高速化8_2

フォーマットウィンドウは特にいじらず「記憶域のフォーマット」をクリック
記憶域高速化9

成功していればエクスプローラーに新しいディスクが表示されているはず
記憶域高速化10


このままではパソコンを再起動したときにVHDファイルが読み込まれずに記憶域を使用できないので、パソコンが起動時にVHDファイルを読み込む設定をする。
パソコン起動時のVHDファイル自動マウント設定はこちらのページを参考にしました。


先程作成したVHDファイルと同じ場所にメモ帳で新しいテキストファイルを作成し以下のコマンドを内容部分に書き込む

sel vdisk file="g:\V_HDD1.vhd"
attach vdisk

g:\V_HDD1.vhdの部分は各自の環境に合わせて書き換える、Dドライブ直下にV_HDD1というファイル名でVHDファイルを作成した場合はd:\V_HDD1.vhdに。

今回はテキストファイル名を「mount」にする。
同じ作業を他のVHDファイルが有るディスクでも行う。


新しくメモ帳を開いてファイルを作成し上記で作成したテキストファイルを起動時に読み込むためのコマンドを書き込む。
※GドライブとTドライブにmount.txtというファイル名で作成した場合の例。

diskpart -s g:\mount.txt
diskpart -s t:\mount.txt

テキストファイルの名前を「automount.bat」にして保存する。(拡張子は.batです)


保存したbatファイルをWindows10のスタートフォルダに保存する。
スタートフォルダの開き方がわからないという場合は、エクスプローラー(ファイルブラウザの方)のアドレスバーに下記のアドレスをコピペで開けます
%UserProfile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup




今回テストで使ったディスクの速度はこんな感じ
記憶域高速化11

記憶域スペースをコントロールパネルから作成した場合とPowerShellで作成した場合の速度比較。
記憶域高速化12
コントロールパネルから作成した場合はもとのディスクとほぼ同じ性能になり、PowerShellで作成した場合はディスクの台数に比例して速度が上がって行くようです。


記憶域はなかなかおもしろい機能だと思っていたものの、速度的に通常のソフトRAIDを選択することが多かったのですが、このくらいの速度が出るのであれば、活用の幅が広がりそうです。ドライブの一部のスペースのみを使って比較的小容量の高速なスペースを作ることも出来るので、高速なUSBを数本使って超高速な仮想ドライブを作れたりもするんでしょうか。応用次第で色々おもしろいことができそう。






関連記事
ページトップ