第5章 Windows 8を支える機能たち - Drive Extenderを彷彿させる「記憶域」

本特集をご覧の中には、Microsoftの家庭向けサーバーOSであるWindows Home Serverを使っていた方も少なくないだろう。各媒体で報じているように、同シリーズは終了してしまったが、思い出すのがファーストバージョンに搭載されていた複数のディスクを一つのボリュームにまとめるDrive Extenderという機能だ。

一般的には複数のディスクを束にするJBOD(Just a Bunch Of Disks)や、RAID 0(ストライピング)などを用いて単一のボリュームとして使用する方法が用いられがちだが、以前からストレージに関する研究を行ってきた同社(正しくはMicrosoft Researchが研究)は、前述の独自機能を実装している。なお、HDDの大容量化を理由にWindows Home Server 2011では、Drive Extenderの実装を見送った。

このような背景がある中でWindows 8に搭載されたのが「記憶域」という機能。言葉尻を捉えると、どのような機能を備えるのか想像も付かないだろう。そもそも記憶域自体がストレージを指す単語であり、同社のWebページでも同じ意味で使用している。開発途中までは「Storage Spaces」と呼ばれていた同機能は、日本語翻訳には首をかしげたくなってしまうが、その内容は実に興味深いものだ。

同機能を簡単に説明すると、USBやシリアルATA、SAS(シリアルアタッチドSCSI)などで接続した複数の物理ディスクを、一つの論理ドライブ=ボリュームとして使用可能する仮想ストレージである。前述したWindows Home ServerのDrive Extenderを改良してWindows 8に組み込み、同機能を実現したという。RAIDと同じく複数のマージパターンを用意し、物理ディスクに障害が発生した際もファイルを失わない耐障害性を実現することを踏まえると、単なるDrive Extenderとは異なることが理解できるだろう(図346)。

図346 「記憶域」を起動し、コンピューターに接続したストレージを元に記憶域プール(仮想ボリューム)を作成する

ただし、単純にディスク容量を増やし、耐障害性を高めるだけが目的ではなく、2008年頃からストレージベンダーが実装してきた、Thin Provisioning(シン・プロビジョニング)という技術をベースにしている。同技術はボリューム容量を仮想化し、全体のディスク容量の事前設計を不要にするというものだ。必要に応じて仮想ディスクの容量を増やす機能と述べるとわかりやすいだろう。

今回は二台の2テラバイトHDDを用いて仮想ボリュームを作成してみたが、記憶域プール(仮想ボリューム)を作成する際は、回復性を高めるための種類が選択できる。各概要は図347にまとめたとおり、JBODのように各デバイスのボリュームをそのまま使用する「シンプル」に加え、複数のディスクにデータを保存し、物理ディスク障害発生時のデータ消失を防ぐ「双方向ミラー」「3方向ミラー」、冗長性情報となるパリティを一緒に保存することで、ミラーリングとは異なる耐障害性を高めた「パリティ」が選択可能(図347~348)。

図347 「記憶域」が使用できる回復性の種類

図348 「記憶域」はThin Provisioning技術を用いているため、最大サイズの制定は自由

また、作成時はThin Provisioningにのっとり、最大サイズは自由に設定できる。物理的な容量が足りなくなった場合は、HDDなどを追加することで対応すればよい(図349~350)。

図349 2テラバイトHDD×二台で作成した仮想ボリューム。図03で設定したように容量は10テラバイトとなっている

図350 容量が足りなくなった場合は「ドライブの追加」で物理ドライブを追加できる

興味深いのは本機能が低位エディションである「Windows 8」に搭載されているか否か、という点。今回筆者はTechNetから入手したWindows 8を使用しているが、付与されるライセンスは「Windows 8 Pro」のみ。もちろんWindows 8搭載マシンも発売しておらず、検証することはできなかった。

「記憶域」はロジックを理解すれば有益な機能になることは間違いないものの、コンピューター初心者にはハードルの高い機能となるだろう。デバイスの増設や管理方法を踏まえると、「Windows 8 Pro」「Windows 8 Enterprise」限定の機能になるかもしれない。