ウェブサイト検索

Citrix XenServer ストレージ リポジトリを作成および追加する方法 - パート 4


この XenServer シリーズの第 4 回の記事では、ストレージ ソリューションについて説明します。ネットワークと同様に、XenServer のストレージ ソリューションも最初は理解しにくいことがよくあります。構成を開始する前に、XenServer ストレージに関連する新しい用語と概念について説明する必要があります。

更新: 2016 年 5 月に、Citrix は XenServer 7 プラットフォームの新しいバージョンをリリースしました。インストール方法は次のとおりです: XenServer 7 の新規インストール。

XenServer では、従来のストレージ用語リストにいくつかの新しい用語が追加されました。 IT システムを操作する場合、概念を理解することは常に重要ですが、ストレージはネットワークの概念について説明した前の記事ほど重要ではありません。ただし、この記事では、これらのストレージの概念について説明し、明確にするために時間をかけていきます。

XenServer ストレージについて最初に覚えておくべきことは、実際の XenServer ホスト用のストレージがあり、さらに XenServer ホスト上で実行されるゲストまたは仮想マシン用のストレージもあるということです。概念的にはこれを理解するのは簡単ですが、管理者がストレージの各側面の目的に慣れていないと、その管理は困難な作業となる可能性があります。

最初の用語は「SR」 またはストレージ リポジトリ として知られています。これは、仮想マシンのディスクが保存および取得される物理メディアを表すため、おそらく XenServer ストレージで最も重要な用語です。ストレージ リポジトリには、XenServer ホストに物理的に接続されたローカル ストレージ、iSCSI/ファイバ チャネル LUN、NFS ネットワーク ファイル共有、Dell/NetApp ストレージ アプライアンスのストレージなど、さまざまなタイプのストレージ システムのいずれかを使用できます。

ストレージ リポジトリは共有または専用にすることができ、高速クローン作成、スパース割り当て (仮想マシンの必要に応じてプロビジョニングされるストレージ)、サイズ変更可能な仮想ディスク イメージなど、数多くの便利な機能をサポートできます (これらについては後で詳しく説明します)。

ストレージ リポジトリ (SR) は、いわゆる物理ブロック デバイス (一般的には「PBD」 と呼ばれます) を使用して XenServer ホストに論理的に接続されます。 PBD は、単に保管場所への参照です。これらの PBD オブジェクトを XenServer ホストに「プラグイン」すると、そのホストがそのストレージ リポジトリに対して情報を読み書きできるようになります。

ストレージ リポジトリの主な目的は、仮想マシンの仮想ディスク イメージ (VDI) ファイルを保存することです。 VDI ファイルは、XenServer ホスト上で実行される仮想マシンのオペレーティング システムおよびその他のファイルを保持するために割り当てられた SR 上のスポットです。 VDI ファイルは、いくつかの異なるタイプのいずれかになります。タイプはストレージ リポジトリのタイプによって決まります。

XenServer の一般的な VDI タイプは、論理ボリューム マネージャーによって管理される論理ボリューム (LV)、仮想ハードディスク (VHD)、または Dell または NetApp ストレージ デバイス上の論理ユニット番号 (LUN) である場合があります。 : この記事では、Dell ストレージ デバイス上の LUN を使用します。

これらの VDI ファイルは、一般に「VBD」 と呼ばれる仮想ブロック デバイス と呼ばれるオブジェクトを介して仮想マシンに論理的に接続されます。これらの VBD オブジェクトを仮想ゲストに接続すると、ゲスト マシンが各 SR 上の特定の VDI に保存されているデータにアクセスできるようになります。

XenServer のネットワークと同様に、ストレージについて読むことは別のことですが、これらの各項目間の関係を確認できると、多くの場合、概念が固まります。 XenServer ストレージの概念を表すために使用される一般的な図は、直線的に読まれることが多いため、初心者は混乱することがよくあります。以下は、Citrix から借用したそのような画像の 1 つです。

多くの人は、各部分が個別の物理デバイスであると考えて、これを左から右に直線的に読みます。これは当てはまらず、多くの場合、XenServer ストレージの仕組みについて大きな混乱が生じます。以下の図は、直線的ではありませんが、より実践的な方法で概念を説明しようとしています。

上の図が XenServer ストレージについてさらに混乱させないことを願っています。 2 番目の画像は、1 つの実際のネットワーク接続を介して XenServer とゲストをリモート ストレージに接続するために使用される論理接続 (PBD および VBD) を示しています。

概念化は終わりました。設定を開始できます。このシリーズの最初の記事を思い出してください。このガイドでは、仮想マシン (ゲスト) ディスクのストレージとして Dell PS5500E iSCSI ストレージ デバイスを使用しています。このガイドでは、Dell iSCSI デバイスの構成については説明しません。

システム構成:

  1. XenServer 6.5 のインストールとパッチ適用 (シリーズのパート 1)
  2. Dell PS5500E iSCSI デバイス (必要に応じて環境情報を置き換えるだけで他の iSCSI デバイスを使用できます)。
  3. XenServer ネットワーク インターフェイスの構成 (シリーズのパート 3)。
  4. iSCSI デバイスと XenServer は論理的に相互に認識できます (ping ユーティリティ経由)。
  5. CD ISO ファイルの共有を実行およびホストする CIFS (SAMBA) サーバー (必須ではありませんが、非常に便利です)。

Citrix XenServer ストレージ リポジトリの作成

この最初のプロセスでは、XenServer ホストから Dell PS5500E へのソフトウェア iSCSI イニシエータを作成する手順を実行します。

この特定のLUNチャレンジ ハンドシェイク認証プロトコル (CHAP) を使用して、iSCSI ボリュームへのアクセスを特定の許可された当事者に制限します。

ストレージ リポジトリを作成するには、従来の「xe」 コマンドが実行されます。 Storage Repository を作成する前に、適切な iSCSI 情報を取得する必要があります。

「sr-probe」 パラメータを 「xe」 ユーティリティに渡すと、ストレージ デバイスに iSCSI IQN (iSCSI 修飾名) をクエリするよう XenServer に指示されます。

最初のコマンドは最初は強烈に見えますが、見た目ほど悪くはありません。


xe sr-probe type=lvmoiscsi device-config:target=X.X.X.X device-config:chapuser="tecmint" device-config:chappassword="tecmint_chap"

この最初のコマンドは、ストレージ リポジトリ構成のSCSI IQNを収集するために必要です。先に進む前に、このコマンドのすべての部分を見てみましょう。

  1. sr-probe – この XenServer ホスト用に作成されたボリュームに関する情報を iSCSI デバイスにクエリするために使用されます。
  2. type= XenServer にストレージ リポジトリ タイプを伝えるために使用されます。これは、使用されているシステムによって異なります。 Dell PS5500 を使用しているため、このコマンドでは lvm over iSCSI が使用されます。ストレージデバイスのタイプに合わせて必ず変更してください。
  3. device-config:target= IP アドレスでクエリする iSCSI デバイスを XenServer に指示するために使用されます。
  4. device-config:chapuser= これは、iSCSI デバイスに対する認証に使用されます。この例では、iSCSI ボリュームがユーザー「tecmint 」用に事前に作成されています。このコマンドでユーザー名とパスワードを送信すると、iSCSI デバイスはストレージ リポジトリの作成を完了するために必要な情報を返します。
  5. device-config:chappassword= これは、上記の CHAP ユーザー名のパスワードです。

コマンドを入力して送信すると、XenServer は iSCSI デバイスへのログインを試み、この iSCSI デバイスを実際にストレージ リポジトリとして追加するために必要な情報を返します。

以下は、テスト システムがこのコマンドから返したものです。


Error code: SR_BACKEND_FAILURE_96
Error parameters: , The SCSIid parameter is missing or incorrect , <?xml version"1.0" ?>
<iscsi-target-iqns>
        <TGT>
                 <Index>
                              0
                 </Index>
                 <IPAddress>
                 </IPAddress>
                 <TargetIQN>
                              iqn.2001-05.com.equallogic:0-8a096-0d9a4ab02-46600020343560ef-xenct-xen2
                 </TargetIQN>
        </TGT>
        <TGT>
                 <Index>
                 
                 </Index>
                 <IPAddress>

                 </IPAddress>
                 <TargetIQN>

                 </TargetIQN>
        </TGT>
</iscsi-target-iqns>

ここで強調表示されている部分はiSCSI IQN として知られています。これは非常に重要であり、ストレージ リポジトリのSCSIidを決定するために必要です。この新しい情報を使用して、前のコマンドを変更してSCSIidを取得できます。


xe sr-probe type=lvmoiscsi device-config:target=X.X.X.X device-config:targetIQN=iqn.2001-05.com.equallogic:0-8a0906-0d9a4ab02-46600020343560ef-xenct-xen2 device-config:chapuser="tecmint" device-config:chappassword="tecmint_chap"

コマンドに追加されるのはtargetIQN スタンザのみです。この新しいコマンドを発行すると、システムは iSCSI ストレージ リポジトリの作成に必要な最後の情報を返します。最後の情報は SCSI ID です。


Error code: SR_BACKEND_FAILURE_107
Error parameters: , The SCSIid parameter is missing or incorrect , <?xml version"1.0" ?>
<iscsi-target>
        <LUN>
                 <vendor>
                        EQLOGIC
                 </vendor>
                 <serial>
                 </serial>
                 <LUNid>
                         0
                 </LUNid>
                 <size>
                         107379425280
                 </size>
                 <SCSIid>
                         36090a028b04a9a0def60353420006046
                 </SCSIid>
        </LUN>
</iscsi-target>

この時点から、iSCSI ストレージ リポジトリの作成に必要なすべての要素が利用可能になり、この SR をこの特定の XenServer に追加するコマンドを発行します。結合された情報からストレージ リポジトリを作成するには、次の手順を実行します。


xe sr-create name-label="Tecmint iSCSI Storage" type=lvmoiscsi content-type=user device-config:target=X.X.X.X device-config:port=3260 device-config:targetIQN=iqn.2001-05.com.equallogic:0-8a0906-0d9a4ab02-46600020343560ef-xenct-xen2 device-config:chapuser="tecmint" device-config:chappassword="tecmint_chap" device-config:SCSIid=36090a028b04a9a0def60353420006046

すべてがうまくいけば、システムは iSCSI デバイスに接続し、新しく追加されたストレージ リポジトリのUUIDを返します。


bea6caa4-ecab-8509-33a4-2cda2599fb75

UUID 出力は素晴らしい兆候です。すべてのシステム管理タスクと同様に、コマンドが成功したことを確認することを常にお勧めします。これは、別の 「xe」 コマンドで実行できます。


xe sr-list name-label="Tecmint iSCSI Storage"
サンプル出力

uuid ( RO)                 : bea6caa4-ecab-8509-33a4-2cda2599fb75
          name-label ( RW) : Tecmint iSCSI Storage
    name-description ( RW) :
                host ( RO) : xenct-xen2
                type ( RO) : lvmoiscsi
        content-type ( RO) : user

CLI 出力から、この XenServer は Dell iSCSI デバイスに正常に接続されており、ゲスト VDI ファイルを保存する準備ができています。

ISO ストレージ リポジトリの作成

次の一連の手順では、ISO ライブラリを作成するプロセスについて説明します。 ISO ファイルは通常、コンパクト ディスク (CD) インストール メディアのイメージです。

これらの ISO ファイル用に特別なストレージ リポジトリを作成することにより、新しいゲストのインストールを非常に迅速に行うことができます。管理者が新しいゲストを作成する場合、プール内の XenServer に物理的に CD を置く必要はなく、この ISO ライブラリに存在する ISO ファイルの 1 つを選択するだけで済みます。

ガイドのこの部分では、ユーザーが動作しているSAMBA サーバーを持っていることを前提としています。 SAMBA サーバーがセットアップされていない場合は、Red Hat/Fedora でこのタスクを完了する方法についてこの記事を読んでください (将来的には Debian SAMBA サーバー ガイドを作成する予定です)。

  1. ファイル共有用に Samba サーバーをセットアップする

最初のステップは、SAMBA ISO ライブラリに必要な認証情報と構成情報を収集することです。ユーザー名、パスワード、および接続情報が利用可能になったら、単純な「xe」 コマンド バリアントを使用して SAMBA ライブラリを XenServer に接続できます。


xe-mount-iso-sr //<servername>/ISO -o username=<user>,password=<password>

このコマンドは、失敗しない限り画面に何も出力しません。 SAMBA ISO 共有が実際にマウントされたことを確認するには、別の 「xe」 コマンドを発行します。


xe sr-list
サンプル出力

uuid ( RO)                 : 1fd75a51-10ee-41b9-9614-263edb3f40d6
          name-label ( RW) : Remote ISO Library on: //                  /ISO
    name-description ( RW) :
                host ( RO) : xenct-xen2
                type ( RO) : iso
        content-type ( RO) : iso

この XenServer ホストは、仮想マシン (ゲスト) のインストール メディアを保存するためのiSCSI ストレージ リポジトリCIFS ISO ライブラリの両方で構成されています。

次の手順では、仮想マシンを作成し、それらのシステムを前のネットワーク記事で説明した適切なネットワークに接続します。