記憶域スペースダイレクト(
S2D
)を活用したハイパ
ーコンバージドインフラ
技術解説ガイド
概要
本ドキュメントは、Windows Server 2016で構築したハイパーコンバージドインフ ラ(Hyper-Converged Infrastructure:HCI)を技術的な観点から解説したガイドで す。主にシステム構成、「記憶域スペースダイレクト(Storage Spaces Direct:S2D)」 を含めたHCIの操作、ライブマイグレーションやフェールオーバーなどの動作につ いて解説しています。
HCIの活用についてのポイント解説
HCIのメリットや、Windows Server 2008/2008 R2からの移行など、HCIを構築・活 用するために知っておきたいポイントは「記憶域スペースダイレクト(S2D)を活 用したハイパーコンバージドインフラ 構築・活用ガイド」にて解説しています。 そちらも合わせてご覧ください。
S2Dの展開オプションについて
S2Dは複数のノードにローカル接続されたストレージを束ねて、スケーラブルでパ フォーマンスの高いストレージを構成する技術です。その展開オプションには、 コンバージドとハイパーコンバージドの2種類が存在します。コンバージドなS2Dの展開オプション
コンバージドなS2Dの展開オプションでは、記憶域とコンピューティングは別々に 存在します。S2D上でスケールアウトファイルサーバーによるSMB3共有を構成 し、Hyper-V上で動作する仮想マシンに対するストレージを提供します。記憶域と コンピューティングを別々にスケールアウトさせることができるので、大規模な 展開が必要なシステムに適しています。ハイパーコンバージドなS2Dの展開オプション
ハイパーコンバージドなS2Dの展開オプションでは、記憶域とコンピューティング は1つのクラスターとして構成します。より少ない台数のハードウェアでシンプル に構成できるので、規模の小さなシステムに適しています。本ドキュメントの対象とするS2D
S2Dはこのように2つの展開オプションを選択できますが、本ドキュメントはハイ パーコンバージドな展開オプションについて解説しています。以後、S2Dと記述し た場合、ハイパーコンバージドな展開オプションによるS2Dのことを指します。
S2D環境構築の条件について
Windows Server 2016でHCIを構築するには、ハードウェアやソフトウェアに必要な 条件があります。以下は特に考慮が必要な点について解説しています。
全体の構成
S2Dは共有型ストレージを使用しない、いわゆる「シェアードナッシング」な構成 を取っています。構成する要素は、ローカルストレージを備えてクラスターを構 成する「ノード」と、ノード間を接続する「ネットワーク」が基本となります。 また、クラスターを構成するために必要となるActive Directoryドメインのコントロ ーラーが別途必要になります。ノードのハードウェア構成
S2Dを構成する各ノードには、ローカル接続されたストレージが必要となります。 多くのサーバーハードウェアはローカル接続されたストレージのためにハードウ ェアRAIDコントローラーが備えられていますが、S2Dでは各ストレージデバイス をWindowsがソフトウエア的に直接コントロールするので、HBA(Host Bus Adapter)で各ストレージデバイスが接続される必要があります。多くのHBAが SAS接続をサポートしています。ストレージデバイスの種類
ストレージデバイスは、SATA、SASで接続されたハードディスク、またはSSDが サポートされています。またPCI Expressで接続されたNVMeデバイスもサポートさ れます。ネットワークの構成
ノード間を接続するネットワークは、別のノードに存在するデータを読み込んだ り、あるノードに書き込まれたデータを別のノードにも書き込んだりするための データ転送に使用されます。S2Dでは頻繁にノード間でデータがやり取りされるの で、10Gイーサネット以上の帯域が確保されることが望ましいでしょう。 接続障害に備えて2つ以上の接続経路が必要となります。スイッチ障害を考慮する と、スイッチは2台以上で構成する必要があります。 ノード間のデータ転送以外に、管理用や仮想マシンのサービス用のネットワーク なども別途必要となります。 準備するスイッチは、S2D構築後のノード追加拡張も考慮してポート数を決定する 必要があるでしょう。Windows Server フェールオーバー クラスタリング
(WSFC)
S2DはWindows Server フェールオーバー クラスタリング(WSFC)の機能として 提供されます。各ノードはWSFCのクラスターに参加させる必要があります。Hyper-V
クラスター上で仮想マシンを動作させる必要があるので、各ノードでHyper-Vを導 入します。Active Directoryドメイン
WSFCのクラスターを構成し、各ノードを管理するためのActive Directoryドメイン が必要となります。 Active Directoryドメインのコントローラーは、HCI環境と別に用意する方法と、ク ラスターを構成するノードのうちのいずれかに追加のローカルストレージを増設 して仮想マシンとして動作させる方法があります。 Active Directoryの構築については本ガイドでは触れませんので、別途適切なドキュ メント等を参照して構築を行ってください。検証環境について
本ドキュメントを作成するにあたり、デル株式会社 東日本支社内デル ソリュー ションセンターにおいて、以下の環境で検証を行っています。
サーバー
Dell EMC PowerEdge R640を使用し、3ノードによるクラスターを構成していま す。
ストレージ
各ノードに接続されたSSDとHDDのハイブリッド構成です。
各ストレージデバイスの接続は、HBA330 12Gbps SAS HBA コントローラーを使 用し、RAIDを構成せず、直接SAS接続されています。
ノード間はRDMAを利用してS2Dを構成しています。
ネットワーク
ノード間はMellanox ConnectX-4 Lx Dual Port 25GbEによる接続を行っています。
S2Dの操作について
S2Dを使って、仮想マシンを動作させるための領域を確保する手順を確認してみま しょう。 操作を行う環境は、事前にWSFCのクラスターが構成されており、各ノードのスト レージをS2Dの記憶域プールとして構成されている状態を想定しています。操作のための準備
いずれかのノードにWSFCの管理権限を持つドメインユーザーでログオンします。 操作を行うツールとして「フェールオーバークラスターマネージャー」を起動 し、S2Dの操作を行いたいフェールオーバークラスターに接続します。S2Dを使用可能にするための手順
記憶域プールからS2DをHCI環境で使用可能にするためには、以下の手順が必要で す。 1. 仮想ディスクの新規作成 2. ボリュームの作成 3. クラスタシェアードボリューム(CSV)の設定これらの手順を実行することで、S2Dの記憶域上に仮想マシンを作成できるように なります。
仮想ディスクの新規作成
まず、ノード間で共有するための仮想ディスクを作成します。この仮想ディスク は次の段階で「クラスタシェアードボリューム(CSV)」として設定します。 1. フェールオーバークラスターマネージャーで「記憶域」→「プール」を選択 し、「操作」ペインで「仮想ディスクの新規作成」を選択します。 2. 「記憶域プールの選択」ダイアログで仮想ディスクの作成を行いたい記憶域プ ールを選択します。 3. 「仮想ディスクの新規作成ウィザード(記憶域スペースダイレクト)」が表示 されます。 4. 「開始する前に」の説明を確認し、「次へ」ボタンをクリックします。5. 「仮想ディスクのサイズの指定」で、仮想ディスクのサイズ等のパラメータを 指定します。サイズの指定は「パフォーマンス層」と「キャパシティ」層の2 つの階層について行います。作成される仮想ディスクのサイズは、パフォーマ ンス層とキャパシティ層、それぞれ指定したサイズの合計になります。
パフォーマンス層とキャパシティ層について
データはまずキャパシティ層に書き込まれますが、アクセス頻度に応じてパフォ ーマンス層に移動され、高速にアクセス可能になります。 今回の構成の例では、パフォーマンス層は高速にアクセス可能なSSDを使用し、 耐障害性を高めるために3方向ミラーを行って、SSDが2台まで同時に故障しても データを保持できるようにしています。 キャパシティ層は、容量が多いHDDを使用し、デュアルパリティでデータを保護 することで容量を確保しながらHDDが2台まで同時に故障してもデータを保持でき るようにしています。デュアルパリティは、RAID 6相当と考えると分かりやすい でしょう。ボリュームの作成
作成した仮想ディスクを使って、ボリュームを作成します。ボリュームの作成 は、ファイルシステム形式を指定してフォーマットを行うことに相当すると考えると分かりやすいでしょう。
1. 「仮想ディスクの新規作成ウィザード」は、終了する際に「このウィザードを 閉じる時にボリュームを作成します」にチェックが入っていると、自動的に 「新しいボリュームウィザード」を起動します。
3. 「サーバーとディスクの選択」が表示されます。「サーバー」では、クラスタ ー(クラスターの役割が「クラスター名」になっているもの)を選択します。 「ディスク」では、前の作業で作成したディスクを選択します。「次へ」ボタ ンをクリックします。
4. 「ボリュームサイズの指定」が表示されます。作成した仮想ディスクは記憶階 層域を使用しているため、ボリュームサイズを指定できません。ボリュームサ イズを確認して、「次へ」ボタンをクリックします。
5. 「ドライブ文字またはフォルダーへの割り当て」が表示されます。作成したボ リュームは、後ほどクラスタシェアードボリューム(CSV)としてクラスター を構成する各ノードから共有できるように設定します。そのため、この段階で は「ドライブ文字またはフォルダーに割り当てません」を選択して、「次へ」 ボタンをクリックします。
6. 「ファイルシステム形式の選択」が表示されます。ボリュームのファイルシス テムを選択します。ここでは「ReFS」を選択し、適当なボリュームラベルを入 力して、「次へ」ボタンをクリックします。
7. 「選択内容の確認」で、ボリューム作成の各設定が正しいことを確認して、 「作成」ボタンをクリックします。
ReFSについて
ReFS(Resilient File System)は、Windows Server 2012から導入されたファイルシス テムです。特長として「回復性」や「パフォーマンス」、「スケーラビリティ」 などが挙げられます。今回構築しているような、S2Dを活用したHCI環境構築に適 したファイルシステムとして利用が推奨されています。
クラスタシェアードボリューム(CSV)
の設定
作成したボリュームを、クラスターの各ノードから参照できるよう、クラスタシ ェアードボリューム(CSV)として設定します。再度、フェールオーバークラス ターマネージャーで操作を行います。 1. 左ペインから、「記憶域」→「ディスク」を選択します。 2. 「ディスク」から、前の作業で作成したクラスター仮想ディスクを選択します。この段階では「適用先」が「使用可能記憶域」になっていることを確認し ます。 3. 「操作」ペインから、「クラスターの共有ボリュームへの追加」を選択しま す。 4. クラスター仮想ディスクの「適用先」が「クラスターの共有ボリューム」に変 更されたことを確認します。
5. 作成されたクラスタシェアードボリュームは、各ノードの
「C:¥ClusterStorage」としてアクセス可能になります。Explorerを起動して、確 認します。
フェールオーバークラスターマネージャーから、仮想マシンを作成します。作成 の作業自体は、通常のHyper-V上で仮想マシンを作成する手順と変わりません。 1. 左ペインから「役割」を右クリックし、「仮想マシン」→「仮想マシンの新規 作成」を選択します。 2. 仮想マシンを作成するクラスターノードを選択した後、「仮想マシンの新規作 成ウィザード」が起動しますので、指示に従って仮想マシンを作成します。
役割としての仮想マシン
Hyper-Vマネージャーなど、別のツールを使って作成した仮想マシンは、フェール オーバークラスターの「役割」として登録されていないため、後述するライブマ イグレーションやフェールオーバーの対象外となってしまう場合があります。 そのような仮想マシンをクラスターの役割として登録したい場合には、仮想マシ ンを停止し、関連するファイルをフォルダーごとクラスタシェアードボリューム にコピーします。 フェールオーバークラスターマネージャーの左ペインから「役割」を右クリック し、「役割の構成」を選択します。その後起動されるウィザードに従い、該当す る仮想マシンを役割として構成します。仮想マシンのライブマイグレーション
S2Dを使用したHCI環境上で動作する仮想マシンは、仮想マシンを停止せずに動作 しているノードを変更する「ライブマイグレーション」を実行可能です。ライブマイグレーションの実行
フェールオーバークラスターマネージャーから、仮想マシンのライブマイグレー ションの操作を行います。 1. 左ペインで「役割」を選択し、真ん中のペインでライブマイグレーションを行 いたい仮想マシンを右クリックします。 2. 表示されるポップアップメニューから、「操作」→「移動」→「ライブマイグ レーション」→「ノードの選択」を選択します。 3. 移動可能なノードが表示されるので、仮想マシンを移動させたいノードを選択 します。4. 仮想マシンの動作しているノードが変わったことを確認します。