第7回 ディスクを仮想化するストレージ・プール機能次世代 新Windows「Windows 8」プレビュー(2/2 ページ)

» 2012年04月12日 00時00分 公開
[打越浩幸デジタルアドバンテージ]
前のページへ 1|2       

ストレージ・プールを作成する

 それでは実際にWindows 8 CP版でストレージ・プールを作成してみよう。ストレージ・プールを利用するには、GUIのツールで行う方法と、PowerShellで制御する方法があるが、今回はGUIで操作してみる。より進んだ使い方などについては、今後改めて取り上げる。

 ストレージ・プールを作成するには、[コントロール パネル]の[システムとセキュリティ]を開き、[記憶域]というアイコンをクリックする。

ストレージ・プールの作成
ストレージ・プールはコントロール・パネルの「記憶域」ツールで管理する。最初はストレージ・プールを作成する。
  (1)これをクリックしてプールを作成する。

 [記憶域]の管理ツールが起動するので、[Create a new pool and storage space]をクリックする。するとシステムに接続されているディスクが一覧表示されるので、プールに追加したいディスクを選択して、[Create pool]をクリックする。するとストレージ・プールが作成され、すぐに次の仮想ディスク・ボリュームの作成画面が表示される。

プールに追加するディスクの指定
ストレージ・プールには、初期化していないディスクが「Unformatted drives」セクションに、初期化されているディスクが「Formatted drives」セクションに列挙される。使用中のディスク(すでにパーティションやボリュームが割り当てられているディスク)を追加することも可能だが、確認のためのメッセージなどが表示される。ここでは、初期化されていない5台の1Tbytesのディスクを追加してみる(仮想環境で実行しているのでディスク名が「VMware〜」となっている。この名前は後で変更可能)。
  (1)追加したいディスクのチェック・ボックスをオンにする。1台のシステム中に複数のストレージ・プールを作成できるが、物理ドライブはどれか1つのストレージ・プールにしか追加できない。
  (2)これをクリックするとストレージ・プールが作成される。

 もしフォーマット済みのディスクが接続されていると、「Formatted drives」というセクションの下に警告メッセージとともに、ディスクをオフラインにしてアクセスを禁止するかどうかの選択肢が表示される。フォーマットしてもよい場合は、チェック・ボックスをオンにして先へ進めばよい。

仮想的なディスクの作成

 ストレージ・プールが作成されると、すぐに、次のような「記憶域の作成」画面が表示される。この画面では、作成する仮想的なディスクに付けるボリューム名、ドライブ文字、耐障害性機能、容量を指定する。

仮想ディスクの作成
この画面では、どのような仮想ディスクを作成するかを指定する。
  (1)ディスクに付ける名前(ボリューム名)。仮想ディスクを作成後、すぐにNTFS形式でクイック・フォーマットされ、このボリューム名が付けられる。
  (2)ボリュームに割り当てるドライブ文字。
  (3)耐障害性機能。「None」は冗長性なし、「Two-way mirror(2ウェイ・ミラー)」「Three-way mirror(3ウェイ・ミラー)」「Parity(パリティ)」のいずれかから選択する。
  (4)ストレージ・プールの実容量。
  (5)ストレージ・プールの空き容量。
  (6)仮想ディスクに割り当てるサイズ。シン・プロビジョニングを行うなら、将来を見越して大きなサイズにしておく。Windows 8 CPでは63Tbytesまで指定できる(これは現在のNTFSの最大ボリューム・サイズ)。
  (7)仮想ディスクを最大まで使用した場合に必要な物理ディスクのサイズ。Noneの場合はLogical Sizeと同じ値だが、3ウェイ・ミラーなら2倍、3ウェイ・ミラーなら3倍、パリティなら1台分多い値になる。
  (8)これをクリックすると仮想ディスクが作成・フォーマットされ、すぐに利用可能になる。なお、プール内にディスクが1台しかないのに2ウェイ・ミラーを作成しようとしたり、2台しかないのに3ウェイ・ミラーやパリティ方式を選択しようとすると、このボタンはグレー・アウトして、クリックできない。
  (9)これをクリックすると、ストレージ・プールを作成しただけで終了する。

 ここでは、冗長化なしで10Tbytesの仮想的なディスクを作成してみる。「Storage pool capacity」が作成したストレージ・プールのサイズ(物理ディスクの合計サイズ)、「使用可能な容量」が未使用の空き容量である。ここでは1Tbytesのディスクを5台使って構成しているので、合計は5Tbytesになっている。

 「Logical size」が作成したい仮想ディスクのサイズである。シン・プロビジョニングを想定して、ディスクの物理的な合計サイズを超える10Tbytesに設定している。

作成した仮想ディスク(1)
10Tbytesの仮想サイズを持つ仮想ディスクを作成したところ。
  (1)ストレージ・プールのサイズと使用済みの容量。5Tbytesのうち5Gbytesだけ使用している。
  (2)作成した仮想ディスクの一覧。
  (3)ストレージ・プールに含まれる物理ディスクの一覧。
  (4)仮想ディスクの諸元。仮想的な最大サイズと、実際に使用しているディスク上のサイズ、状態。スラブ単位で割り当てるので、0.25Gbytesの倍数になっている。仮想ディスクを作成するだけでも、最小単位の256Mbytesを消費する。
  (5)物理ディスクの諸元。実サイズと使用中のサイズ、状態。
  (6)新しいストレージ・プールを作成する場合はこれをクリックする。
  (7)ストレージ・プールに新しい物理ディスクを追加するにはこれをクリックする。ストレージ・プール上の仮想ディスクをすべて削除すると「プールの削除」というリンクが表示され、ストレージ・プールを削除できるようになる。
  (8)「View files」をクリックすると、エクスプローラが起動し、ドライブのルートが開かれる。
  (9)「Delete」をクリックすると、仮想ディスクを削除できる。

 「Storage spaces」の下に、プールに含まれるドライブが表示されている(この場合は E: ドライブ)。仮想的なドライブが作成されるだけでなく、同時にNTFS形式でフォーマットされている。

 ここではさらに[Add drives]をクリックして、ほかの種類のディスクも作成してみよう。4種類のディスクを作成したのが次の画面である。

作成した仮想ディスク(2)
4種類の冗長性を持つ仮想ディスクを1つずつ作成してみた。仮想サイズはすべて10Tbytesにしている。
  (1)使用中のストレージ・プール・サイズ。
  (2)パリティに1ドライブ割り当てる、RAID5形式の仮想ディスク。
  (3)3ウェイ・ミラーの仮想ディスク。常に3台以上のディスクに書き込むので、冗長性が高く信頼性も高いが、ディスクの利用効率は低い。
  (4)3ウェイ・ミラーの仮想ディスク。常に2台以上のディスクに書き込む。ディスク1台の障害にまで対応できる。
  (5)冗長構成なしのドライブ。

 それぞれ10Tbytesの仮想的なディスクが全部で4つ作成されている。この状態をディスク管理ツールで確認すると、次のようになっている。

ディスクの管理ツールで見た仮想ディスク
通常のディスク・ドライブと同じように見える。ただし、ローレベルな入出力などは利用できないので(VHDファイルなどと同じ扱い)、プログラムによっては(ベンチマーク・プログラムなど)正しく動作しないことがある。
  (1)作成された仮想ディスク。ストレージ・プールに追加した物理ディスクはここからは見えなくなる。
  (2)作成された仮想ディスク。
  (3)仮想ディスクはGPT形式でフォーマットされているので、2Tbytesを超えるサイズでも動作する。
  (4)容量は10Tbytesとなっている。
  (5)ディスク全体で1つのパーティションが確保される。

 10Tbytesのディスクが4台作成されている。そのプロパティ画面を見ると、各ディスクはGPT形式でフォーマットされていることが分かる。

ディスクに障害が発生すると?

 ではディスクに障害が発生したことを想定し、1台のディスクをオフラインにしてみる(環境の都合上、以下の画面はVMware Workstationで動作しているWindows 8 CP版でキャプチャしている。ディスクをオフラインにするには、仮想マシンの設定画面でディスクを1台削除するだけだが、実機でもディスクを取り外したり、USBケーブルを抜いたりすればよい)。

 ディスクを1台削除して再起動すると、記憶域の画面は次のようになる。

ディスクに障害が発生した場合の例
物理ディスクを1台未接続状態にした場合の例。冗長性のない仮想ディスクはすぐにアクセスできなくなるが、そうでないディスクは警告メッセージが出ながらも読み書きのアクセスが可能。
  (1)ストレージ・プールに問題がある場合は赤く表示される。
  (2)エラー・メッセージ。
  (3)耐障害性が失われている、というメッセージ。
  (4)耐障害性が失われている、というメッセージ。
  (5)耐障害性がない仮想ディスクは無効状態になっている(ドライブ文字が表示されていないことに注意)。
  (6)耐障害性が失われている、というメッセージ。
  (7)プールを構成する物理ディスクのうち、1台目のディスクが見つからないという警告メッセージ。

 物理ディスクを1台削除したため、各仮想ディスクにも障害が発生している。が、よくみると、まったくアクセス不可能になったのは(赤いアイコンのディスクは)、耐障害性機能が「None(冗長性なし)」のディスクだけである。プールにディスクが5台あっても、1台障害が起これば、冗長性のないディスクではこうなるのは当然であろう。ほかの3台のディスクは、黄色い警告アイコン(冗長性が失われているという意味のアイコン)が表示されているが、冗長性のおかげでアクセスすることは可能である。この状態でシャットダウンし、ディスクを元に戻して起動すれば、すべて正常に戻る。

 ところで警告やエラー・メッセージの出ている上記の各ドライブであるが、しばらくすると、次のように表示が変わる(保存されているデータが多いと時間がかかる)。

障害から自動復旧した仮想ドライブの例
ミラー・セットが失われた2ウェイ・ミラーや3ウェイ・ミラーの仮想ディスクでは、残っているディスク上に新たにミラー・セットを作成し、正常状態へと自動的に復旧している。
  (1)自動復旧した3ウェイ・ミラーのディスク。
  (2)このパリティ方式の仮想ディスクは自動復旧しない(できない)。ストレージ・プールに新しい物理ディスクを追加したら、自動で復旧した。
  (3)冗長性のないディスクはもう復旧できない。
  (4)自動復旧した2ウェイ・ミラーのディスク。

 「Three-way mirror」と「Two-way mirror」のドライブの状態が緑色のアイコンになり、正常動作状態に戻っている。これはどういうことかというと、残ったドライブからデータを取り出し、障害の起こっていないほかのディスクへミラー・セットをコピーし終えたので、正常状態に戻ったということである。2ウェイ・ミラーでは最低2台、3ウェイ・ミラーでは最低3台のディスクがあればよいので、5台のディスク中4台が稼働しているこの環境では、正常にミラー機能が動作しているようである。

 このようにWindows 8のストレージ・プールでは、自動的なスラブの割り当てや再配置などにより、ユーザーはRAIDシステムの管理のような面倒なことを行わなくても、非常にスマートにディスクを自動管理してくれる。

 ところで上の黄色いアイコンの「Parity(いわゆるRAID5)」のディスクであるが、これはいつまでたっても黄色いままである。そこで通常のディスク交換作業を想定して、新しいディスクを追加してストレージ・プールに追加してみたところ、自動的に「Repairing」作業が始まり、しばらくして緑色アイコンに変わった。RAID5では、プール内のディスク全体に分散してデータを書き込んでいるため、ディスクが1台なくなってもアクセスすることは可能だが(ただし冗長性はない)、パリティ・データを記録するディスクがない。また、すでに分散して書き込んであるデータは、ディスク5台を前提としているので、5台のディスクがない限りRAID5として運用できない。そのため、パリティ方式の仮想ディスクを復旧させるには、元と同じ台数のディスクを揃える必要がある。

ストライピングによる高速化

 ストレージ・プールを使えば、仮想ドライブに保存するべきデータが、自動的にプール内の各物理ディスクに分散して配置されるため、同時に各物理ディスクへアクセスすることで高速化できるはずだ。そこで、実際に速度を測定してみた。ディスクを4台ストレージ・プールに追加し、冗長性なしの構成(いわゆるRAID0のようなストライプ)にして、読み書き速度を測定してみた。IntelのDQ67SWというマザーボードにCore i7-2600 CPUを搭載し、64bit版のWindows 8 CP版をインストールしている。使用したディスクは、(全部同じディスクにできなかったので)2Tbytes×3台と1Tbytesを1台使用している。またストレージ・プールでは256Mbytesずつのスラブに分割してディスクに割り当てているため、4台でストライピングを行うなら、読み書きのファイル・サイズは1Gbytes以上にする必要がある。そこで最大テスト・ファイル・サイズを2Gbytesにして「ATTO Disk Benchmark」というベンチマーク・テスト・プログラムを実行してみた(Windows 8 CP版はまだ発売前のソフトウェアであり、これが最終的なWindows 8の性能となるわけではないことをあらかじめお断りしておく)。

 ストレージ・プールを使えば、仮想ドライブに保存するべきデータが、自動的にプール内の各物理ディスクに分散して配置されるため、非常に高速にアクセスできるようになる可能性がある。そこで、実際に速度を測定してみた。ディスクを4台ストレージ・プールに追加し、冗長性なしの構成(いわゆるRAID0のようなストライプ)にして、読み書き速度を測定してみた。IntelのDQ67SWというマザーボードにCore i7-2600 CPUを搭載し、64bit版のWindows 8 CP版をインストールしている。使用したディスクは、(全部同じディスクにできなかったので)2Tbytes×3台と1Tbytesを1台使用している。またストレージ・プールでは256Mbytesずつのスラブに分割してディスクに割り当てているため、4台でストライピングを行うなら、読み書きのファイル・サイズは1Gbytes以上にする必要がある。そこで最大テスト・ファイル・サイズを2Gbytesにして「ATTO disk Benchmark」を実行してみた。

 まずは単独のディスクの速度である。ストレージ・プールに1台だけ追加してテストしている。

ディスク1台のベンチマーク結果
ストレージ・プールにディスクを1台だけ追加し、仮想ディスクを作成して測定した。このベンチマーク・プログラムでは、ファイル・システム上に巨大なファイルを作成し(この例では2Gbytes)、64Kbytesとか256Kbytesといったサイズで連続して読み書きしている。このディスクは、最大で(ディスク外周部で)120Mbytes/s程度の速度で連続読み書きできるので、この結果はディスクの生の性能をほぼそのまま表している。ストレージ・プール経由ではなく、Windows OSのディスク管理ツール経由でシステムにマウントして測定した場合も、(ややばらつきが少ないが)ほぼ同じような値になっている。

 読み書きの速度はだいたい120Mbytes/s程度と、一般的なこのクラスのハードディスクの外周部の速度である。

 次はディスク4台でストレージ・プールを作成して、同じテストを実行してみた。

ディスク4台でストライプした場合の結果
ディスク4台でストレージ・プールを作成し、冗長構成なしで仮想ディスクを作成して測定した。ストレージ・プールでいったんバッファリングしているので小さいサイズの場合の結果がばらついているが(書き込みが速いのは、ディスクに対してライト・スルーしていないからだと思われる)、1Mbytesから上の結果では、ほぼディスク4台分の性能が得られている。ファイル・サーバ用途ではこれで十分だし、大きなサイズで読み書きするようなアプリケーションならストレージ・プール上の仮想ディスクでも問題なく利用できるだろう。

 読み書きのピーク速度が400Mbytes/sオーバーまで伸びていることから、ディスク4台によるストライブの効果は十分出ているといえるだろう。書き込み速度(赤いバー)は順調に伸びているが、転送サイズが256Kbytes以下だと読み出し速度が元のディスクより遅いようだが、このあたりはOSのディスク・キャッシュのアルゴリズムなどに大きく依存するところなので、ここでは特にコメントしない(ベンチマーク・プログラムからの書き込みがディスクへのライト・スルーになっておらず、途中で必ずバッファリングされていると思われる)。


 今回はWindows 8のストレージ・プールについて簡単に見てきた。PowerShellを使えば、ストレージ・プールの細かい設定変更や管理なども行えるのだが、それについては別の回に譲ることにする。またServer版のWindows 8でも同様にこの機能は利用できるのだが、それについても今後解説する。

 ストレージ・プールを使えば、複数のディスクを組み合わせて仮想的な大きなディスクを作成したり、耐障害性に優れたストレージ・システムを簡単に構築できる。物理的なディスクの容量や構成方法などに左右されず、管理の手間もほとんど不要なこの機能は非常に期待できる。システムのブート・ドライブとしては使えないとか、作成した仮想ディスクのバックアップや復元、移行などの機能はない、物理ディスク構成を意識した細かい管理(割り当て)ができないなど、いくつか機能不足は否めないが、将来に期待したい。


「[Windows 8プレビュー] Windows 8 Consumer Preview ―― 再構築された次世代Windows ―― 」のインデックス

[Windows 8プレビュー] Windows 8 Consumer Preview ―― 再構築された次世代Windows ―― 

前のページへ 1|2       

Copyright© Digital Advantage Corp. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

AI for エンジニアリング
「サプライチェーン攻撃」対策
1P情シスのための脆弱性管理/対策の現実解
OSSのサプライチェーン管理、取るべきアクションとは
Microsoft & Windows最前線2024
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。