記憶域スペースの新機能「記憶域スペースダイレクト」を理解する(後編)vNextに備えよ! 次期Windows Serverのココに注目(20)

前回はWindows Server 2012 R2以前の「記憶域スペース」の機能をおさらいしました。今回は、いよいよ本題となるWindows Server 2016の「記憶域スペースダイレクト」の話に入ります。

» 2015年07月15日 05時00分 公開
[山市良テクニカルライター]
「vNextに備えよ! 次期Windows Serverのココに注目」のインデックス

連載目次

記憶域スペースダイレクトはローカルディスクをクラスターディスクに変える

 Windows Server 2016に追加される新機能「記憶域スペースダイレクト(Storage Spaces Direct)」は、簡単に言ってしまえば、クラスターの各ノードのローカルディスクを使用して構成された、“クラスター化された記憶域スペース”です。記憶域スペースダイレクトを使用すると、通常のローカルディスクがクラスター向けの信頼性の高いストレージに変わります。

 これまでのクラスター化された記憶域スペースにはSAS(Serial Attached SCSI)接続の共有ストレージ装置が必要でしたが、記憶域スペースダイレクトは共有ストレージを必要としません。

 クラスターの各ノードのローカルにSASやSATA(Serial ATA)で直結された標準的な物理ディスクをクラスターレベルで束ねて、1つの記憶域スペースを作成できます。クラスターの全てのノードは、別のノードに直結された物理ディスクにネットワーク経由でSMB(Server Message Block)3.xプロトコルでアクセスすることで、データの読み書きを行います(図1)。

図1 図1 Windows Server 2016の記憶域スペースダイレクトのイメージ

 記憶域スペースダイレクトは「Windows Server Technical Preview 2」で初めて実装され、実際に評価できるようになりました。具体的な手順は、以下のMSDN(Microsoft Developer Network)のドキュメントで解説されているので、ここでは詳しく触れません。実際に評価してみようという場合には、プレビュー版の制約事項がいくつかあることに注意してください。

 例えば、Windows Server Technical Preview 2では、記憶域スペースダイレクトの構成、仮想ディスクの作成、記憶域スペースダイレクトの管理(物理ディスクの追加/削除/最適化など)をWindows PowerShellで行う必要があります(画面1)。それ以外のクラスターの作成や「スケールアウトファイルサーバー(Scale-Out File Server:SOFS)」の構成、共有フォルダーの作成、ノードの追加/削除は「フェイルオーバークラスターマネージャー」から実行しても問題ありませんでした(画面2)。

画面1 画面1 後述する画面6の記憶域スペースダイレクトを構成する前の各ノードのローカルディスクの状態。4つのノードの各ノードに接続された2台の未構成(Partition:Unknown)の物理ディスクを使用して記憶域スペースダイレクトを構成する
画面2 画面2 4ノード×2台の物理ディスクで記憶域スペースダイレクトを構成し、1つの記憶域プールを作成したところ。この後、仮想ディスクを作成し、「クラスターの共有ボリューム(CSV)」として構成する

 記憶域スペースダイレクトを構成し、「クラスターの共有ボリューム(Cluster Shared Volume:CSV)」を作成すると、スケールアウトファイルサーバーやHyper-Vホストクラスターの記憶域として利用できるようになります。仮想ディスクは、既定で「双方向ミラー」または「3方向ミラー」で構成されます。また、ソリッドステートディスク(SSD)を利用できる場合には、SSDを「ジャーナルディスク」として構成することでパフォーマンスを最適化できます。

 記憶域スペースダイレクトのクラスターの共有ボリューム(CSV)に保存されるデータは、細かいエクステントに分割され、2つまたは3つのコピーがクラスターの各ノードに分散配置されます。

 2つのコピーを持つ双方向ミラーの場合は1台のディスク故障、3つのコピーを持つ3方向ミラーの場合は2台のディスク故障からデータを保護します。例えば、4ノード×2台のローカルディスクで構成した場合は3方向ミラーになるので、1つのノードがダウンして2台のディスクにアクセス不能になった場合でも、クラスターの共有ボリューム(CSV)上のデータへのアクセスは維持されます(画面3)。

画面3 画面3 4ノードのうち1ノードをシャットダウンして2台のディスクが利用不能になっても、クラスターの共有ボリューム(CSV)へのアクセスは継続できる

 ディスクが故障した場合には、自動的に記憶域プールから除外され、ディスク上の配置が再調整されます。また、ノードが再起動した場合は、ノードの復帰後にオフラインだったディスクの状態が更新されます。故障したディスクを新しいディスクに交換する場合は、手動による作業が必要です。

ノードとディスクの入れ替えに挑戦してみました

 前述の「Storage Spaces Direct in Windows Server Technical Preview」のドキュメントでは説明されていませんが、試しに1つのノードをクラスターから削除し、新しいディスクを持つノードを新たに追加して、記憶域プールを正常な状態まで回復する操作を試行錯誤で実行してみました。正しい操作手順とは限りませんので、詳しい手順は省略します。

 まず、フェイルオーバークラスターマネージャーで1つのノードをクラスターから削除(Evict)して、新しいノードを追加します。このとき、記憶域スペース用のローカルディスクは、まだクラスターディスクとしては追加しません。

 続いて、Windows PowerShellの「Add-PhysicalDisk」コマンドレットを使用して、プール可能な状態の新しい物理ディスクを記憶域プールに追加します(画面4)。

画面4 画面4 「Add-PhysicalDisk」コマンドレットを実行して、新しいノードの新しいディスクを記憶域プールに追加する

 次に、「Repair-VirtualDisk」コマンドレットを使用して、ヘルス状態が「Warning」となっている仮想ディスクを修復します。また、ノードが削除されたことでアクセスできなくなった(Lost Communication状態)の物理ディスクを記憶域プールから削除します(画面5)。

画面5 画面5 仮想ディスクを修復してから、利用できなくなったディスクを削除する

 最後に、「Optimize-StoragePool」コマンドレットを実行して、最適化と再配置のジョブを開始します(画面6)。これには数時間を要しました。なお、この操作の間、クラスターの共有ボリューム(CSV)へのアクセスは維持されたままでした。

画面6 画面6 「Optimize-StoragePool」コマンドレットを実行して、最適化と再配置のジョブを開始する

 前回も触れましたが、記憶域スペースダイレクトは前提知識がないと理解や評価は難しいでしょう。今回は、記憶域スペースダイレクトが実際に動いている様子、修復する操作を画面で見ていただきました。これから評価してみようという人にとって、参考になればと思います。

「vNextに備えよ! 次期Windows Serverのココに注目」バックナンバー

筆者紹介

山市 良(やまいち りょう)

岩手県花巻市在住。Microsoft MVP:Hyper-V(Oct 2008 - Sep 2015)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。マイクロソフト製品、テクノロジを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手がける。個人ブログは『山市良のえぬなんとかわーるど』。


Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

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

メールマガジン登録

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