こんにちは。SB C&Sの湯村です。「基礎から学ぶ!Hyper-V 仮想化入門」シリーズ第5回は、「クラスター共有ボリュームの作成」です。今回は、クラスター共有ボリュームの元になるiSCSIストレージを作成するところからご紹介しますので、是非参考にしてください。
1. クラスター共有ボリュームとは?
1.1. クラスター共有ボリューム(Cluster Shared Volume)
クラスター共有ボリューム(以下、CSV)は、その名の通り「フェールオーバークラスター環境における共有ストレージの役割」を担います。前回の記事で構築したフェールオーバークラスターにCSVを割り当てることで、クラスターに属する複数のHyper-Vホストが、同じディスクにアクセスできるようになります。これにより、仮想マシンを電源オンにしたまま別のホストに移動する、ライブマイグレーションが実行可能になります。
CSVのディスクには、iSCSIやファイバーチャネル等のストレージが使用されます。本環境では一般的で導入しやすいiSCSIストレージ(iSCSIターゲット)を構築し、CSVに割り当てる方法をご紹介します。
1.2. iSCSI ターゲット と iSCSI イニシエーター
iSCSIストレージを構築する際は、「iSCSIターゲット」と「iSCSIイニシエーター」について学ぶ必要がありますが、難しいことはありません。iSCSIディスクを提供する側のことをiSCSIターゲット、iSCSIディスクを利用する側のことを「iSCSIイニシエーター」と呼びます。
今回構築する環境に当てはめると、以下のようになります。
- iSCSIターゲット:iSCSIストレージ(ディスクを提供する側)
- iSCSIイニシエーター:Hyper-Vホスト(ディスクを利用する側)
iSCSIターゲットを構築する選択肢はいくつかありますが、Windows Serverの機能として実装されている「iSCSIターゲットサーバー」をインストールすることで簡単に利用できます。一般的に、仮想化環境における共有ストレージには、ハードウェアメーカーが販売しているストレージ専用の筐体が利用されます。しかし、今回のように構築手順の検証で利用したい場合等には、仮想マシンにWindows Serverをインストールすれば簡単にiSCSIターゲットを構築することができますので、是非参考にしてください。
2. 本記事での構築対象
今回使用した環境については、「第1回 Hyper-Vのインストール」に記載していますので、こちらの記事をご覧ください。
本記事では下図の赤枠部分を構築します。iSCSIターゲットをHyper-Vホストにマウントする手順は「Hyper-Vホスト1」と「Hyper-Vホスト2」でそれぞれ実施し、CSV の作成はフェールオーバークラスター単位ですべてのホストに対して同時に実施します。
3. iSCSI ターゲットの構築
まずは、クラスター共有ボリュームのディスクを提供するiSCSIターゲットを構築します。
3.1. iSCSI ターゲットサーバーのインストール
今回の環境では、別の仮想環境に事前に仮想マシン「hv-iscsi-target」を作成し、ゲストOSとしてWindows Server 2022 Datacenterをインストールしてあります。ゲストOSのインストール部分は割愛し、iSCSIターゲットサーバーをインストールする手順からご紹介します。
1. サーバーマネージャーからiSCSIターゲットサーバーの役割を追加します。
- サーバーマネージャーで [管理] をクリックします。
- [役割と機能の追加] をクリックします。
2.「開始する前に」ページでは [次へ] をクリックします。
3.「インストールの種類の選択」ページでは以下の手順を実行します。
- [役割ベースまたは機能ベースのインストール] を選択します。
- [次へ] をクリックします。
4.「対象サーバーの選択」ページでは以下の手順を実行します。
- [サーバー プールからサーバーを選択] を選択します。
- サーバープールのリストから、[hv-iscsi-target.hv.lab] を選択します。
- [次へ] をクリックします。
5.「サーバーの役割の選択」ページでは以下の手順を実行します。
- [ファイル サービスと記憶域サービス] を選択して開きます。
- [ファイル サービスおよび iSCSI サービス] を選択して開きます。
- [iSCSI ターゲット サーバー] にチェックを入れます。
- [次へ] をクリックします。
6.「機能の選択」ページでは、そのまま [次へ] をクリックします。
7.「インストール オプションの確認」ページで、[インストール] をクリックします。
8. [閉じる] をクリックしてウィザードを閉じます。
3.2. iSCSI ターゲット用 仮想ディスクの作成
iSCSIターゲットサーバーをインストールできたら、iSCSIターゲット用の仮想ディスクを作成します。
1. サーバーマネージャーの左ペインから、[ファイル サービスと記憶域サービス] をクリックします。
2.「新しいiSCSI仮想ディスクウィザード」を起動します。
- [iSCSI] をクリックします。
- [タスク] をクリックします。
- [新しい iSCSI 仮想ディスク...] をクリックします。
3.「iSCSI 仮想ディスクの場所を選択」ページでは以下の手順を実行します。
- [ボリュームで選択] を選択します。
- 表示されているボリュームを選択します。
※今回は、iSCSIターゲット用に1TBのボリュームを使用しています。 - [次へ] をクリックします。
4.「iSCSI 仮想ディスク名の指定」ページでは以下の手順を実行します。
- 「名前」欄に任意の仮想ディスク名を入力します。
※今回は、仮想ディスク名として [hv-disk] を入力しています。 - [次へ] をクリックします。
5.「iSCSI 仮想ディスクのサイズを指定」ページでは以下の手順を実行します。
- 「サイズ」欄に、手順3で指定したボリュームサイズの範囲内で容量を入力します。
※今回は半分の [500] GBを入力しています。 - 今回は仮想ディスクの種類はデフォルトのまま、[次へ] をクリックします。
※仮想ディスクのデフォルトは [容量可変] ディスクです。
6.「iSCSI ターゲットの割り当て」ページでは以下の手順を実行します。
- [新しい iSCSI ターゲット] を選択します。
- [次へ] をクリックします。
7.「ターゲット名の指定」ページでは以下の手順を実行します。
- 「名前」欄に任意のターゲット名を入力します。
※今回は、ターゲット名として [hv-target] を入力しています。 - [次へ] をクリックします。
8.「アクセス サーバーの指定」ページで [追加] をクリックします。
9. iSCSIイニシエーター(Hyper-Vホスト)の情報を設定します。
- [選択した種類の値の入力] を選択します。
- 「種類」から [IP アドレス] を選択します。
- 「値」欄にHyper-Vホスト1の管理OSに設定したIPアドレス [10.1.5.111] を入力します。
※今回構築する環境は、管理OS接続用とiSCSIターゲット接続用のネットワークをひとつの物理NICで共有して使用していますが、本来は物理NICを分けて、ネットワークの単一障害点を無くすように構成しましょう。 - [OK] をクリックします。
10. 同様に、クラスターに属する全てのHyper-Vホストの情報(Hyper-Vホスト2のIPアドレスである [10.1.5.112 ]) を指定したら、[次へ] をクリックします。
11.「認証を有効にする」ページでは以下の手順を実行します。
- [CHAP を有効にする] にチェックを入れます。
※CHAP認証(Challenge Handshake Authentication Protocol)はオプションなので設定しなくても構いません。 - 「ユーザー名」に任意のユーザー名を入力します。
※今回は、[chapuser] を入力しています。 - [パスワード] および [パスワードの確認入力] に任意のパスワードを入力します。
- [次へ] をクリックします。
12.「選択内容の確認」ページでは [作成] をクリックします。
13.「結果の表示」ページでiSCSI仮想ディスクが作成されたことを確認し、[閉じる] をクリックします。
4. iSCSI イニシエーターの設定
続いて、iSCSIイニシエーター(Hyper-Vホスト)の設定を行います。クラスターに属する全てのホストに対して行いましょう。
4.1. iSCSI ターゲットへの接続
iSCSIイニシエーターからiSCSIターゲットへの接続を行います。
1. Hyper-Vホスト1のサーバーマネージャーからiSCSIイニシエーターを起動します。
- サーバーマネージャーで [ツール] をクリックします。
- [iSCSI イニシエーター] をクリックします。
2. Microsoft iSCSIサービスに関する情報が表示されたら、[はい] をクリックします。
※次回以降は表示されません。
3.「iSCSI イニシエーターのプロパティ」で以下の手順を実行します。
- 「ターゲット」欄にiSCSIターゲットのIPアドレス [10.1.5.114] を入力します。
- [クイック接続] をクリックします。
4.「検出されたターゲット」欄にiSCSIターゲットのIQNが表示されていることを確認し、[完了] をクリックします。
※IQN(iSCSI Qualified Name)はiSCSIターゲットとして切り出されたボリュームに割り当たる一意な名前です。この時点では状態が [非アクティブ] になっていて問題ありません。
5.「iSCSI イニシエーターのプロパティ」で以下の手順を実行します。
- 「検出されたターゲット」に表示されているIQNを選択します。
- [接続] をクリックします。
6.「ターゲットへの接続」画面で、[詳細設定] をクリックします。
7.「詳細設定」画面では以下の手順を実行します。
- [CHAP ログオンを有効にする] にチェックを入れます。
- 「名前」にはiSCSIターゲットで設定したCHAP認証用のユーザー名を入力します。
- 「ターゲット シークレット」にはiSCSIターゲットで設定したCHAP認証用のパスワードを入力します。
- [OK] をクリックします。
8. [OK] をクリックします。
9.「iSCSI イニシエーターのプロパティ」で以下の手順を実行します。
- 「検出されたターゲット」に表示されているIQNの状態が [接続完了] になっていることを確認します。
- [OK] をクリックします。
10. Hyper-Vホスト2でも同じ手順を繰り返して、クラスターに参加するすべてのホストでiSCSIターゲットに接続しておきます。
4.2. ボリュームのマウントおよび初期化
iSCSIイニシエーターで接続した、iSCSIターゲットのボリュームをNTFSでフォーマットしてマウントします。 この手順は、クラスターに参加しているホストのうち、いずれか1台のみ(今回はHyper-Vホスト1)で実施します。
1. Hyper-Vホスト1のOSでディスクの管理を起動します。
- [Windowsマーク] を右クリックします。
- [ディスクの管理] をクリックします。
2. 接続したボリュームをオンラインにします。
- 接続した未割り当てのボリュームが表示されていることを確認し、[ディスク名] を右クリックします。
※今回はiSCSIターゲットから500GBをボリュームとして切り出しています。 - [オンライン] をクリックします。
3. オンラインにしたボリュームを初期化します。
- [ディスク名] を右クリックします。
- [ディスクの初期化] をクリックします。
4. [OK] をクリックし、初期化を行います。
5. 新しいシンプルボリュームウィザードを起動します。
- 初期化後、未割り当てのボリューム上で右クリックします。
- [新しいシンプル ボリューム] をクリックします。
6.「新しいシンプル ボリューム ウィザードの開始」画面では [次へ] をクリックします。
7.「ボリューム サイズの指定」画面では、そのまま [次へ] をクリックします。
8.「ドライブ文字またはパスの割り当て」画面では、そのまま [次へ] をクリックします。
9.「パーティションのフォーマット」画面では、そのまま [次へ] をクリックします。
※クラスター共有ボリュームでサポートされているファイルシステムはNTFSまたはReFSです。
10. [完了] をクリックしてウィザードを終了します。
11. ディスクの管理で、未割り当て状態だったボリュームが割り当たったことを確認します。
※残りのホストにもボリュームが割り当たりますが、「ディスクのオンライン化」だけ行っておく必要がありますので忘れずに行いましょう。
5. クラスター共有ボリュームの作成
フェールオーバークラスターマネージャーからクラスター共有ボリュームを作成します。
1. サーバーマネージャーからフェールオーバークラスターマネージャーを起動します。
- サーバーマネージャーで [ツール] をクリックします。
- [フェールオーバー クラスター マネージャー] をクリックします。
2. マウントしたボリュームをクラスターのディスクとして追加します。
- [hv-cluster.hv.lab] を選択して開きます。
- [記憶域] を選択して開きます。
- [ディスク] を右クリックします。
- [ディスクの追加] をクリックします。
3. ディスクを追加します。
- 「利用可能なディスク」欄に表示されているディスクを選択します。
※表示されているディスク [クラスター ディスク1] はHyper-Vホストにマウントしたボリューム(500GB)です。 - [OK] をクリックします。
4. クラスター共有ボリュームへ追加します。
- 追加したディスクを右クリックします。
- [クラスター共有ボリュームへの追加] をクリックします。
5. 状態が [オンライン]、適用先が [クラスターの共有ボリューム] になっていることを確認します。
※クラスター共有ボリュームを追加する前は、Hyper-Vホストが認識ているボリュームは「NTFS」でしたが、追加後は「CSVFS」という名称に変わります。
また、CSVのボリュームは各ホストの「C:¥ClusterStorage¥Volume1」にマウントされます。
以下のように、各Hyper-VホストからCSVへアクセスできるようになります。
<Hyper-Vホスト1(hv-host1)>
<Hyper-Vホスト2(hv-host2)>
今回は、クラスター共有ボリュームの作成方法についてご紹介しました。次回の記事では、構築したフェールオーバークラスター環境に仮想マシンを作成し、ライブマイグレーションおよびフェールオーバーの動作を確認します。
他のおすすめ記事はこちら
著者紹介
SB C&S株式会社
ICT事業本部 技術本部 技術統括部 第1技術部 2課
湯村 成一 - Seiichi Yumura -
Dell Technologies社製品のプリセールス業務を行うエンジニア。
主にVxRail・Azure Stack HCIといったHCI製品を担当している。