はじめに
この記事は、Nutanix Volumesに関する記事の第3回となります。Nutanix Volumesの記事は以下のように連載しております。
第1回: Nutanix Volumes とは
第2回: Nutanix Volumes を触ってみよう -前編("Internal")
第3回: Nutanix Volumes を触ってみよう -後編("External")←今回の記事
今回の「Nutanix Volumes を触ってみよう -後編」では、第1回の記事で紹介したNutanix Volumes "External" の操作方法について解説したいと思います。
今回ご紹介する内容
・Volumes "External" のおさらい
・iSCSIデータサービスIPの設定
・ボリュームグループの作成とイニシエーターIQN/IPアドレスの登録
・ゲストOS/外部サーバからボリュームグループにiSCSI接続
・接続したvDISKをゲストOS/外部サーバから確認
・おまけトピック 〜仮想ディスク単位でiSCSI接続を分散
・まとめ
Volumes "External" のおさらい
第1回の記事では、"Internal" と "External" という言葉を用いてNutanix Volumesの2通りの提供方式を紹介しました。その際に解説した通り、Volumes "External" では、ゲストOSのiSCSIイニシエーター機能を利用して接続を確立します。また、Volumes "External" では「iSCSIデータサービスIP」というターゲットの初期接続ポイントとなる仮想IPアドレスを設定します。
ゲストOSのイニシエーターはこの「iSCSIデータサービスIP」を指定して、ボリュームグループの仮想ディスクに接続します。このように、Volumes "External" では一般的なOSのiSCSIイニシエーター機能を利用して接続しており、接続先のターゲットとなるボリュームグループに対して、イニシエーターのIQNやIPアドレスを登録する必要があります。このVolumes "External" で作成したボリュームは、Nutanixクラスター内の仮想マシンだけでなく、外部のサーバへも提供することができます。
そのことを踏まえて、Volumes "External" には以下のような特徴があります。
・Nutanixクラスター内のゲストOSだけでなく、外部サーバからもiSCSI接続できる
・IQNやIPアドレスの管理が必要
・iSCSIターゲットの初期接続ポイントとしてiSCSIデータサービスIPを設定する
・AHVだけでなく、ESXiやHyper-V上の仮想マシンからでも利用可能
・Acropolis Proライセンスが必要
ここからは、Prism画面をお見せしながらVolumes "External" の操作をしたいと思います。
iSCSIデータサービスIPの設定
iSCSIイニシエーターがターゲットのボリュームグループとiSCSI接続をするための初期接続ポイントとなる「iSCSIデータサービスIP」を指定します。Prism画面で「Settings」→「Cluster Details」の順に選択し、設定したい「iSCSIデータサービスIP」を入力して「Save」を押下します。
ちなみに、iSCSIデータサービスIPはCVMと同一セグメントに設定することが必須となります。また、Nutanixの公開情報では、Volumesを使用するクライアントとなるホストはiSCSIデータサービスIPと同じセグメント上に設置することが推奨されています。
ボリュームグループの作成とイニシエーターIQN/IPアドレスの登録
ボリュームグループの作成はPrism画面の「Storage」から行います。
Prism画面の左上プルダウンから「Storage」を選択します。
Storage画面が表示されたら「Table」→「+ Volume Group」の順に選択します。
ボリュームグループの作成画面が表示されたら、ボリュームグループ名を入力し「+ Add New Disk」を選択します。今回は「test-volume」という名前で作成します。「+ Add New Disk」では、ボリュームグループに追加するvDISKの数やサイズを指定することができます。
vDISKを作成するストレージコンテナを選択し、vDISKのサイズを指定します。今回は、100GiBのvDISKを3つ追加します。vDISKの追加は1つずつしか行えないため、この作業を3回繰り返します。
※ストレージコンテナとはvDISKを格納する、共有ストレージプール内の論理的なストレージのことです。
作成中のボリュームグループにvDISKが3つ追加されました。
ボリュームグループの作成画面で、下にスクロールします。Access Settingsで「Enable external client access」にチェックを入れます。これでiSCSIデータサービスIPを利用したVolumes "External"が有効になります。
さらに下にスクロールします。
「CHAP Authentication」にチェックを入れると、iSCSIターゲットにCHAP(Challenge-Handshake Authentication Protocol)を用いた認証パスワードを設定することができます。これは、クライアント側(iSCSIイニシエーター側)のなりすましを防止するもので、Nutanixでは少なくとも一方向CHAP認証を推奨していますが、今回は特に設定せずに進めます。
Clientの項目で「+ Add New Client」を押下し、クライアント(iSCSIイニシエーター)の登録画面を開きます。
クライアントの登録画面が表示されたら「Client IQN/IP Address」の項目にクライアント(ISCSIイニシエーター)のIQN、またはIPアドレスを入力します。今回はIQNを入力します。入力が完了したら「Save」を押下します。ここの「CHAP Authentication」の項目では、クライアント側で設定した認証パスワードを入力できます。今回は、特に設定しませんが、先ほどのCHAP認証の項目と併せて使用することで、双方向のCHAP認証を行うこともできます。
ボリュームグループの作成画面に戻ったら、登録したクライアントのIQNまたはIPアドレスが表示されていることを確認して「Save」を押下します。(今回はIQNを登録しています。)「Enable Flash Mode」にチェックを入れると、作成するボリュームグループの仮想ディスク領域を優先的にSSD上に配置することができます。今回はチェックを入れずに進めます。
ストレージ画面で、仮想DISKが3つ追加されたボリュームグループが作成されていることが確認できます。ちなみに、作成したボリュームグループを選択すると、画面左下で先ほど登録したクライアント(ISCSIイニシエーター)のIQNを確認できます。
余談 〜Windows OSでのイニシエーターIQNの確認方法〜
ご存知の方も多いかもしれませんが、Windows ServerでのiSCSIイニシーターIQNは以下のように確認することができます。今回はWindows Server 2016を例として、イニシエーターIQNを確認します。
① スタートメニューから「Windows 管理ツール」→「iSCSI イニシエーター」の順に選択
② iSCSI イニシエーターのプロパティの画面で「構成」タブを選択
③ 「イニシエーター名」の項目で、IQNを確認することができます
ゲストOS/外部サーバからボリュームグループにiSCSI接続
ここからは、作成したボリュームグループに対して、ゲストOSや外部のサーバからiSCSI接続する方法を解説します。今回は、ボリュームグループを作成したNutanixクラスターの外部のサーバからボリュームグループにiSCSI接続してみます。具体的には、別のクラスター上にあるWindows Server 2016からiSCSI接続します。(ネットワークはiSCSIデータサービスIPと同一セグメント)
Windows Server 2016のiSCSI イニシエーターのプロパティ画面を開いて以下を実施します。
①「ターゲット」タブを選択
②Prismで設定した「iSCSIデータサービスIP」を入力
③「クイック接続」を押下
→「クイック接続」の画面が表示される
④vDISKを選択して「接続」を押下
⑤接続したいvDISKの接続が完了したら「完了」で閉じる
Prismで今回作成したボリュームグループである「test-volume」に追加した3つのvDISKが全て「接続完了」となりました。
接続したvDISKをゲストOS/外部サーバから確認
接続されたvDISKはクライアントOS(イニシエーター側)からは未フォーマットのRawデバイスとして確認することができます。今回は、クライアントOSがWindows Server 2016である仮想マシンにボリュームグループを接続しましたので、Windowsの画面から確認したいと思います。
Windows Server 2016にログインして「ディスクの管理」画面を表示すると、ボリュームグループに追加した3つのvDISKがフォーマットされていない状態で認識されていることが確認できます。
このvDISKをNTFSなどでフォーマットすることで、ローカルドライブとして使用することが可能となります。
おまけトピック 〜仮想ディスク単位でiSCSI接続を分散
Nutanix Volumesでは、イニシエーターはvDISK単位でiSCSI接続していますが、それぞれのiSCSI接続はボリュームグループのI/O負荷分散の目的で、クラスター内で分散されています。Nutanix VolumesでiSCSIブロックアクセスをする際に、初期接続ポイントとして「iSCSIデータサービスIP」を指定しますが、これはクラスター内の1つのCVMが所有する仮想IPアドレスです。はじめに「iSCSIデータサービスIP」を指定して、ターゲットへの接続を確立すると、それぞれのvDISK(仮想ターゲット)に接続するために、システムは各vDISKをホストしているCVMへログオンリダイレクトします。ログオンリダイレクトは仮想ターゲット(vDISK)ごとに発生するため、ボリュームグループに追加したvDISKごとにiSCSI接続が確立されるということになります。
そこで、ボリュームグループのそれぞれのiSCSI接続がノード内で分散されていることをお見せするために、先ほど作成したボリュームグループである「test-volume」に、さらに7つのvDISKを追加し、合計で10のvDISKを追加したボリュームグループを作成しました。そして、今回クライアントとして使用したWindows Server 2016から、それぞれのvDISKに接続しました。(tgt0-tgt9まで合計10 vDISK)
Windows Server 2016のPower Shellから合計10のiSCSI接続が確認でき、それぞれの接続が3台のCVMで分散されていることがわかります。わかりやすくするために、図も作成しました。
iSCSIデータサービスIP: 172.22.1.51
接続元: 172.22.1.52(iSCSI イニシエーター/Windows Server 2016)
接続先: 172.22.1.141/172.22.1.142/172.22.1.143(ターゲット/各CVMの外部管理アドレス)
まとめ
今回紹介したVolumes "External" では、Nutanixクラスターの外部からボリュームグループにiSCSI接続してみました。Volumes "External" は利用例として、第1回の記事で紹介したOracle RAC(Oracle Real Application Cluster)のデータベース領域の可用性などに加えて、WSFC(Windows Server Failover Clustering)の共有ディスクなどにも使用することが可能です。データの可用性においても、VolumesはNutanixのストレージコンテナのポリシーを引き継いでおり、複製や圧縮なども標準でサポートされています。
今回Nutanix Volumesで投稿した3部構成の記事では、Volumesの紹介から、"Internal" や "External"という言葉を用いてそれぞれの特徴や操作方法を紹介しました。これら記事を読んでいただき、Nutanix Volumesに少しでも興味を持っていただければと思います。
書籍紹介
おわりに、Nutanix製品に関する最新の書籍を紹介します。こちらは当社のエンジニアチームと、ニュータニックス・ジャパン合同会社のエンジニアの方々が共同執筆したもので、AHVをはじめとするNutanixの技術やサービスを詳しく学ぶことができます。ご興味のある方やこれからNutanixを勉強したい方は、ぜひ参考にしてみてください。
|
Nutanixに関する他の記事はこちら
著者紹介
SB C&S株式会社
ICT事業本部 技術本部 技術統括部 第1技術部 3課
友松 桂吾 - Keigo Tomomatsu -
DC運用や留学などの経験を経て2019年にSB C&S入社。好きなことは料理とお酒。嫌いなことは睡眠不足。