ストレージリポジトリの形式

ストレージリポジトリを作成するには、XenCenterの [新規ストレージリポジトリ] ウィザードを使用します。このウィザードには、ストレージリポジトリの設定に必要な核手順が表示されます。また、CLIのsr-createコマンドを使用することもできます。sr-createコマンドでは、ストレージサブストレート上にストレージリポジトリを作成します(既存のデータが消去されることがあります)。また、ストレージリポジトリAPIオブジェクトとそれに対応する物理ブロックデバイスレコードを作成します。これにより、仮想マシンでそのストレージリポジトリを使用できるようになります。ストレージリポジトリが作成されると、物理ブロックデバイスが自動的にプラグされます。ストレージリポジトリのshared=trueフラグを設定した場合は、物理ブロックデバイスレコードが作成され、リソースプール内のすべてのXenServerにプラグされます。

IPベースのストレージ(iSCSIまたはNFS)を作成する場合は、ストレージネットワークとして管理トラフィック用のNICを使用したり、ストレージトラフィック用のNICを作成してそれを使用したりできます。NICにIPアドレスを割り当てる方法については、「ストレージ専用NICを設定する」を参照してください。

XenServerのすべての種類のストレージリポジトリで、VDIのサイズ変更、高速複製、およびスナップショットがサポートされます。LVMタイプのストレージリポジトリ(ローカル、iSCSI、およびHBA)では、スナップショットおよび非表示親ノード用のシンプロビジョニングが提供されます。そのほかの種類のストレージリポジトリ(EXT3、NFS、GFS2)では、アクティブな仮想ディスクを含め、完全なシンプロビジョニングがサポートされます。

警告:

VDIスナップショットなど、仮想マシンに接続されていないVHD VDIは、デフォルトのシンプロビジョニングで格納されます。VDIを再接続するには、シックプロビジョニングになるのに十分なディスク容量を確保する必要があります。VDIクローンでは、シックプロビジョニングが使用されます。

次の表は、サポートされる最大VDIサイズの一覧です。

ストレージリポジトリの形式 最大VDIサイズ
EXT3 2TiB
LVM 2TiB
NFS 2TiB
LVMoFCOE 2TiB
LVMoiSCSI 2TiB
LVMoHBA 2TiB
GFS2(iSCSIまたはHBAを使用) 2TiB

ローカルのLVM

この種類のストレージリポジトリは、ローカル接続のボリュームグループ内のディスクを示します。

デフォルトで、XenServerはそれ自体がインストールされた物理ホスト上のローカルディスクを使用します。仮想マシンストレージの管理には、Linux論理ボリュームマネージャ(LVM)が使用されます。VDIは、指定されたサイズのLVM論理ボリュームにVHD形式で実装されます。

LVMのパフォーマンスについての注意事項

スナップショット機能および高速複製機能をLVMベースのストレージリポジトリで使用すると、このストレージ固有のパフォーマンス上のオーバーヘッドが生じます。パフォーマンスが重視される環境では、XenServerによって、デフォルトのVHD形式に加えて、Raw形式での仮想ディスクイメージ(VDI)作成がサポートされます。ただし、XenServerスナップショット機能は、Raw形式のVDIではサポートされません。

デフォルトのWindows VSSプロバイダによる移動不可のスナップショットは、すべての種類のVDIでサポートされます。

警告:

type=rawディスクが接続された仮想マシンのスナップショットを作成しないでください。これを行うと、一部のみのスナップショットが作成されます。この場合、snapshot-ofフィールドを確認して孤立したスナップショットを識別し、削除できます。

ローカルLVMストレージリポジトリを作成する

XenServerのインストール時に、デフォルトでLVMストレージリポジトリが作成されます。

次の表は、LVMストレージリポジトリ用のdevice-configパラメーターの一覧です:

パラメーター名 説明 必須?
デバイス ストレージリポジトリとして使用するローカルホスト上のデバイス名です。 はい

/dev/sdbにローカルLVMストレージリポジトリを作成する場合は、次のコマンドを実行します。

xe sr-create host-uuid=valid_uuid content-type=user \
name-label="Example Local LVM SR" shared=false \
device-config:device=/dev/sdb type=lvm

ローカルのEXT3

EXT3形式のストレージリポジトリでは、ローカルストレージでシンプロビジョニングが有効になります。ただし、ストレージリポジトリのデフォルトの種類はLVMです。これは、一貫した書き込みパフォーマンスが提供され、ストレージのオーバーコミットを避けることができるためです。EXT3を使用すると、次のような場合にパフォーマンスの低下が生じることがあります:

  • 仮想マシンのライフサイクル操作(仮想マシンの作成、一時停止、再開など)
  • 仮想マシン内での大規模ファイルの作成

ローカルディスクEXTストレージリポジトリの設定は、常にXenServer CLIを使用して行います。

ローカルEXT3ストレージリポジトリ(ext)を作成する

次の表は、extストレージリポジトリ用のdevice-configパラメーターの一覧です。

パラメーター名 説明 必須?
デバイス ストレージリポジトリとして使用するローカルホスト上のデバイス名です。 はい

/dev/sdbにローカルextストレージリポジトリを作成する場合は、次のコマンドを実行します:

xe sr-create host-uuid=valid_uuid content-type=user \
   name-label="Example Local EXT3 SR" shared=false \
   device-config:device=/dev/sdb type=ext

udev

udevの種類のストレージリポジトリは、udevデバイスマネージャーを使ってVDIとして接続されたデバイスを示します。

XenServerには、リムーバブルストレージであるudevとして表される、2種類のストレージリポジトリがあります。1つは、XenServerホストの物理CDまたはDVDドライブに挿入されたCDまたはDVDです。もう1つは、XenServerホストのUSBポートに接続されたUSBデバイスです。これらのメディアのVDIは、そのディスクまたはUSBデバイスの挿入/取り外しにより、接続したり接続解除したりできます。

ISO

この種類のストレージリポジトリは、ISO形式のファイルとして格納されたCDイメージを示します。このストレージリポジトリは、共有ISOライブラリの作成に便利です。ISOのライブラリを格納するストレージリポジトリのcontent-typeパラメータはisoである必要があります。

次に例を示します:

xe sr-create host-uuid=valid_uuid content-type=iso \
  type=iso name-label="Example ISO SR" \
  device-config:location=nfs server:path

Citrix SMBバージョン3.0を使用して、Windowsファイルサーバー上にISOストレージリポジトリをマウントすることをお勧めします。デフォルトではバージョン3.0が選択されています。これは、SMBバージョン1.0よりも安全で堅牢だからです。ただし、次のコマンドを使用すると、SMBバージョン1.0でISOストレージリポジトリをマウントすることができます。

 xe sr-create content-type=iso type=iso shared=true device-config:location=valid location
 device-config:username=username device-config:cifspassword=password
 device-config:type=cifs device-config:vers=Choose either 1.0 or 3.0 name-label="Example ISO SR"

ソフトウェアiSCSIのサポート

XenServer では、iSCSI LUNの共有ストレージリポジトリがサポートされます。iSCSIは、Open-iSCSIのソフトウェアiSCSIイニシエータまたはiSCSI HBA(Host Bus Adapter:ホストバスアダプタ)によりサポートされます。iSCSI HBAを使用するための手順は、ファイバチャネルHBAのものと同じです。両方の手順については、「ファイバチャネル、FCoE、iSCSI HBAまたはSASストレージリポジトリ上の共有LVMを作成する」を参照してください。

ソフトウェアiSCSIイニシエータによる共有iSCSIのサポートは、LVM(Logical Volume Manager:論理ボリュームマネージャ)により実装されています。この機能は、パフォーマンス上、ローカルディスクでLVM仮想ディスクを使用した場合と同様の長所があります。ソフトウェアベースのホストイニシエータを使用する共有iSCSIストレージリポジトリでは、XenMotionを使用して仮想マシンのアジリティをサポートできます。仮想マシンはリソースプール内のどのXenServerホストでも起動でき、サービスをほとんど停止せずに、ホスト間で仮想マシンを移行できます。

iSCSIストレージリポジトリは作成時に指定するLUN全体を使用します。複数のLUNにまたがることはできません。データパスの初期化とLUN検出のフェーズの両方で、クライアント認証のためにCHAPがサポートされます。

注:

iSCSI LUNのブロックサイズは512バイトでなければなりません。

XenServerホストでのiSCSI設定

ネットワーク上で一意に識別されるように、すべてiSCSIイニシエータおよびターゲットに固有の名前を設定する必要があります。各イニシエータは1つのiSCSIイニシエータアドレスを持ち、各ターゲットは1つのiSCSIターゲットアドレスを持ちます。これらを総称して、IQN(iSCSI Qualified Names)と呼びます。

XenServerホストでは、ホストのインストール時にランダムなIQNで自動的に作成される単一のiSCSIイニシエータがサポートされます。この単一のイニシエータを使用して、同時に複数のiSCSIターゲットに接続できます。

通常、iSCSIターゲットはiSCSIイニシエータのIQNリストに基づいてアクセス制御を提供します。このため、XenServerホストがアクセスするすべてのiSCSIターゲットおよびLUNで、ホストのイニシエータIQNからのアクセスが許可されている必要があります。同様に、共有iSCSIストレージリポジトリとして使用するターゲットおよびLUNで、リソースプール内のすべてのホストのIQNからのアクセスが許可されている必要があります。

注:

一般的に、アクセス制御を提供しないiSCSIターゲットでは、データの整合性を保証するために、LUNアクセスがデフォルトで単一イニシエータに制限されます。リソースプール内の複数のサーバーで共有されるストレージリポジトリとしてiSCSI LUNを使用する場合は、そのLUNで複数のイニシエータからのアクセスが有効になっていることを確認してください。

XenServerホストのiSCSIソフトウェアイニシエータのIQN値は、XenCenterを使用するか、次のCLIコマンドを実行することにより調整できます。

xe host-param-set uuid=valid_host_id other-config:iscsi_iqn=new_initiator_iqn

警告:

  • 各iSCSIターゲットおよびイニシエータで、固有のIQNが設定されている必要があります。IQNが重複するとデータの損傷やLUNアクセスの拒否が発生します。
  • iSCSIストレージリポジトリが接続されているXenServerホストのIQNを変更しないでください。IQNを変更すると、新規ターゲットや既存のストレージリポジトリに接続できなくなります。

ソフトウェアFCoEストレージ

ソフトウェアFCoEは、ハードウェアベンダーがFCoE対応NICを組み込み、ハードウェアベースのFCoEと同じメリットを享受することのできる標準フレームワークです。これにより、費用のかかるHBAを使用する必要がなくなります。

新しいソフトウェアFCoEストレージを作成する前に、LUNをホストに提供するために必要な設定を手動で完了してください。この設定には、FCoEファブリックの設定と、SANのパブリックワールドワイドネーム(PWWN)へのLUNの割り当てが含まれます。この設定を完了した後、使用可能なLUNがSCSIデバイスとしてホストのCNAにマウントされます。これにより、ローカルで接続されているSCSIデバイスのように、SCSIデバイスを使用してLUNにアクセスできるようになります。FCoEをサポートするための物理スイッチおよびアレイの構成について詳しくは、ベンダーが提供するドキュメントを参照してください。

注:

ソフトウェアFCoEは、ネットワークバックエンドとしてOpen vSwitchおよびLinuxブリッジを使用している場合に使用できます。

ソフトウェアFCoEストレージリポジトリを作成する

ソフトウェアFCoEストレージリポジトリの作成前に、ホストに接続されたFCoE対応NICが存在することを確認してください。

次の表は、FCoEストレージリポジトリ用のdevice-configパラメーターの一覧です。

パラメーター名 説明 必須?
SCSIid 作成先LUNのSCSIバスIDです。 はい

次のコマンドを実行して、共有FCoEストレージリポジトリを作成します。

xe sr-create type=lvmofcoe \
name-label="FCoE SR" shared=true device-config:SCSIid=SCSI_id

ハードウェアホストバスアダプタ(HBA)

ここでは、SAS、ファイバチャネル、およびiSCSIのホストバスアダプタ(HBA)を管理するために必要な、さまざまな操作について説明します。

QLogic iSCSI HBAセットアップの例

QLogicファイバチャネルHBAおよびiSCSI HBAの設定について詳しくは、Cavium社のWebサイトを参照してください。

HBAをXenServerホストに物理的にインストールしたら、以下の手順でHBAを設定します。

  1. HBAのIPネットワーク構成を設定します。この例では、DHCPとHBAポート0を使用します。特定のIPアドレスやマルチポートHBAを設定する場合は、適切な値を指定します。

    /opt/QLogic_Corporation/SANsurferiCLI/iscli -ipdhcp 0
    
  2. 永続的iSCSIターゲットをHBAのポート0に追加します。

    /opt/QLogic_Corporation/SANsurferiCLI/iscli -pa 0 iscsi_target_ip_address
    
  3. xe sr-probeコマンドを使用して、HBAコントローラを強制的に再スキャンして、使用可能なLUNを表示します。詳しくは、「ストレージリポジトリをプローブする」と「ファイバチャネル、FCoE、iSCSI HBAまたはSASストレージリポジトリ上の共有LVMを作成する」を参照してください。

HBAベースのSAS、ファイバチャネル、またはiSCSIデバイスエントリを削除する

注:

これらの手順は必須ではありません。Citrixでは、パワーユーザーが必要に応じて実行することをお勧めします。

各HBAベースのLUNには、対応するグローバルデバイスパスエントリが<SCSIid>-<adapter>:<bus>:<target>:<lun>形式で/dev/disk/by-scsibusにあり、 標準デバイスパスが/devにあります。ストレージリポジトリとして使用しなくなったLUNのデバイスエントリを削除するには、以下の手順に従います。

  1. sr-forgetまたはsr-destroyを使用して、XenServerホストデータベースからストレージリポジトリを削除します。詳しくは、「ストレージリポジトリを削除する」を参照してください。

  2. 適切なLUNおよびホストに対するSAN内のゾーン設定を削除します。

  3. sr-probeコマンドを使用して、削除するLUNのADAPTER、BUS、TARGET、およびLUN値を確認します。詳しくは、「ストレージリポジトリをプローブする」を参照してください。

  4. 次のコマンドを実行して、デバイスエントリを削除します。

    echo "1" > /sys/class/scsi_device/adapter:bus:target:lun/device/delete
    

警告:

削除するLUNを間違わないよう、十分注意してください。ホストに必要なLUN(起動用、ルートデバイス用など)を削除してしまうと、ホストが使用不能になります。

共有LVMストレージ

この種類のストレージリポジトリは、iSCSI(ファイバチャネルまたはSerial Attached SCSI)LUN上に作成されたボリュームグループ内の論理ボリュームとしてのディスクを示します。

注:

iSCSI LUNのブロックサイズは512バイトでなければなりません。

ソフトウェアイニシエータによるiSCSI経由の共有LVMストレージリポジトリを作成する

次の表は、LVMoiSCSIストレージリポジトリ用のdevice-configパラメーターの一覧です:

パラメーター名 説明 必須?
target ストレージリポジトリをホストするiSCSIファイラのIPアドレスまたはホスト名です。 はい
targetIQN ストレージリポジトリをホストするiSCSIファイラのIQNターゲットアドレスです。 はい
SCSIid 作成先LUNのSCSIバスIDです。 はい
chapuser CHAP認証に使用されるユーザー名です。
chappassword CHAP認証に使用されるパスワードです。
port ターゲットをクエリするためのネットワークポート番号です。
usediscoverynumber 使用する特定のiscsiレコードインデックスです。
incoming_chapuser iSCSIフィルタでホストでの認証に使用されるユーザー名です。
incoming_chappassword iSCSIフィルタでホストでの認証に使用されるパスワードです。

iSCSIターゲット上の特定のLUNに共有LVMoiSCSIストレージリポジトリを作成する場合は、次のコマンドを実行します。

xe sr-create host-uuid=valid_uuid content-type=user \
name-label="Example shared LVM over iSCSI SR" shared=true \
device-config:target=target_ip= device-config:targetIQN=target_iqn= \
device-config:SCSIid=scsci_id \
type=lvmoiscsi

ファイバチャネル、FCoE、iSCSI HBAまたはSASストレージリポジトリ上の共有LVMを作成する

LVMoHBAタイプのストレージリポジトリは、XenCenterまたはxe CLIで作成および管理できます。

次の表は、LVMoHBAストレージリポジトリ用のdevice-configパラメータの一覧です:

パラメータ名 説明 必須?
SCSIid デバイスのSCSI ID はい

共有LVMoHBAストレージリポジトリを作成するには、リソースプール内の各ホスト上で以下の手順を実行します:

  1. リソースプール内の各XenServerホストのLUNにゾーンを定義します。この手順は、使用するSAN機材により大きく異なるため、詳しくは、SANのドキュメントを参照してください。

  2. 必要に応じて、XenServerホストに含まれている以下のHBAコマンドを使用してHBAを設定します。

    • Emulex: /bin/sbin/ocmanager

    • QLogic FC: /opt/QLogic_Corporation/SANsurferCLI

    • QLogic iSCSI: /opt/QLogic_Corporation/SANsurferiCLI

    QLogic iSCSI HBAの設定例については、前のセクションの「ハードウェアホストバスアダプタ(HBA)」を参照してください。ファイバチャネルおよびiSCSIのHBAについて詳しくは、Broadcom社およびCavium社のWebサイトを参照してください。

  3. sr-probeコマンドを使用して、HBA LUNのグローバルデバイスパスを確認します。sr-probeコマンドを実行すると、システムにインストールされているHBAが再スキャンされます。これにより、そのホスト用に定義されている新しいLUNがすべて検出され、各LUNのプロパティが一覧表示されます。対象のホストを指定するには、host-uuidパラメータを指定します。

    <path>プロパティとして返されるグローバルデバイスパスは、リソースプール内のすべてのホストで共通です。このため、ストレージリポジトリを作成するときに、device-config:deviceパラメータの値としてこのパスを指定する必要があります。

    複数のLUNが存在する場合は、<path>プロパティに含まれているベンダ、LUNサイズ、LUNシリアル番号、またはSCSI IDを使用してLUNを指定します。

    xe sr-probe type=lvmohba \
    host-uuid=1212c7b3-f333-4a8d-a6fb-80c5b79b5b31
    Error code: SR_BACKEND_FAILURE_90
    Error parameters: , The request is missing the device parameter, \
    <?xml version="1.0" ?>
    <Devlist>
        <BlockDevice>
            <path>
                /dev/disk/by-id/scsi-360a9800068666949673446387665336f
            </path>
            <vendor>
                HITACHI
            </vendor>
            <serial>
                730157980002
            </serial>
            <size>
                80530636800
            </size>
            <adapter>
                4
            </adapter>
            <channel>
                0
            </channel>
            <id>
                4
            </id>
            <lun>
                2
            </lun>
            <hba>
                qla2xxx
            </hba>
        </BlockDevice>
        <Adapter>
            <host>
                Host4
            </host>
            <name>
                qla2xxx
            </name>
            <manufacturer>
                QLogic HBA Driver
            </manufacturer>
            <id>
                4
            </id>
        </Adapter>
    </Devlist>
    
  4. プールマスターとして動作するホスト上でストレージリポジトリを作成します。sr-probeコマンドで返された<path>プロパティのグローバルデバイスパスを指定します。PBDが作成され、自動的にプール内の各ホストにプラグされます。

    xe sr-create host-uuid=valid_uuid \
    content-type=user \
    name-label="Example shared LVM over HBA SR" shared=true \
    device-config:SCSIid=device_scsi_id type=lvmohba
    

注:

上記のsr-create処理のPBD作成とプラグ操作を再試行するには、XenCenterの[ストレージ]>[修復]機能を使用できます。ストレージリポジトリ作成時のゾーン設定がリソースプール内の一部のホストで不正な場合、この機能を使用して解決できます。ストレージリポジトリを削除してから再度作成する代わりに、この機能を使用して、影響を受けているホストのゾーン設定を修正してください。

シンプロビジョニングされた共有GFS2ブロックストレージ

シンプロビジョニングは、事前にVDIの仮想サイズすべてを割り当てるのではなく、仮想ディスクにデータが書き込まれるたびにディスクストレージ領域をVDIに割り当てることによって、ストレージ領域をよりうまく利用します。シンプロビジョニングを使用すると、共有ストレージアレイに必要な領域と総所有コスト(TCO)を大幅に削減できます。

共有ブロックストレージのシンプロビジョニングは、次の場合に特に役立ちます:

  • イメージが散在し密に割り当てられていないため、領域の使用効率を高める必要がある場合
  • ストレージアレイ上の1秒あたりの入出力操作数を減らす必要がある場合。GFS2ストレージリポジトリは、共有ブロックストレージ上のストレージ読み取りキャッシュをサポートする、一級のストレージリポジトリです。
  • 個々の仮想マシンのイメージが使用する領域が通常はより少ないため、複数の仮想マシンに共通の基本イメージを使用する場合。
  • 各スナップショットがイメージであり各イメージが散在するため、スナップショットを使用する場合。

この種類のストレージリポジトリでは、iSCSIまたはHBA LUN上に作成されたファイルシステムと同様にディスクが表示されます。共有GFS2ストレージを使用するには、XenServerのリソースプールがクラスタ化されたプールである必要があります。GFS2ストレージリポジトリを作成する前に、プールでクラスタリングを有効にしてください。詳しくは、「クラスタ化されたプール」を参照してください。

GFS2タイプのストレージリポジトリは、XenCenterまたはxe CLIで作成および管理できます。

GFS2ストレージリポジトリに保存されているVDIは、QCOW2イメージ形式で保存されます。

注:

現在、共有GFS2ストレージには次の制約があります:

  • バッキングLUNのサイズを変更することはできません。
  • VDIがGFS2ストレージリポジトリ上にある仮想マシンでは、Storage XenMotionによる仮想マシンの移行はサポートされていません。
  • FCoEプロトコルは、GFS2ストレージリポジトリではサポートされていません。
  • トリミングとマッピング解除は、GFS2ストレージリポジトリではサポートされていません。
  • GFS2ストレージリポジトリおよびこれらのストレージリポジトリ上のディスクでは、パフォーマンス測定値は利用できません。

ソフトウェアイニシエータによるiSCSI経由の共有GFS2ストレージリポジトリを作成する

次の表は、GFS2ストレージリポジトリ用のdevice-configパラメータの一覧です:

パラメーター名 説明 必須?
provider ブロックプロバイダ実装。この場合は、iscsi はい
target ホストするiSCSIファイラのIPアドレスまたはホスト名 はい
targetIQN ストレージリポジトリをホストするiSCSIファイラのIQNターゲット はい
SCSIid デバイスのSCSI ID はい

iSCSIターゲット上の特定のLUNに共有GFS2ストレージリポジトリを作成する場合は、クラスタ化されたプール内のホスト上で次のコマンドを実行します:

xe sr-create type=gfs2 name-label="Example GFS2 SR" --shared \
device-config:provider=iscsi device-config:targetIQN=target_iqns \
device-config:target=portal_address device-config:SCSIid=scsci_id

GFS2ファイルシステムのマウント時にiSCSIターゲットにアクセスできない場合、クラスタ化されたプール内の一部のホストが隔離される可能性があります。

HBAストレージリポジトリ上の共有GFS2を作成する

次の表は、GFS2ストレージリポジトリ用のdevice-configパラメータの一覧です:

パラメータ名 説明 必須?
provider ブロックプロバイダ実装。この場合は、hba はい
SCSIid デバイスのSCSI ID はい

HBAターゲット上の特定のLUNに共有GFS2ストレージリポジトリを作成する場合は、クラスタ化されたプール内のホスト上で次のコマンドを実行します:

    xe sr-create type=gfs2 name-label="Example GFS2 SR" --shared \
    device-config:provider=hba device-config:SCSIid=device_scsi_id

NFSおよびSMB

では、NFSサーバーの共有(NFSv4またはNFSv3をサポート)またはSMBサーバーの共有(SMB 3.0をサポート)を、仮想ディスクのストレージリポジトリとしてすぐに使用できます。VDIは、Microsoft VHD形式でのみ格納されます。さらに、これらのストレージリポジトリは共有できるため、共有ストレージリポジトリに格納されたVDIで次のことが可能になります。

  • リソースプール内のすべてのXenServerホストでの仮想マシンの起動

  • XenMotionを使用した、サービスをほとんど停止しない、リソースプール内のXenServerホスト間の仮想マシンの移行

重要:

  • SMB 3.0のサポートは、3.0プロトコルを使用した共有への接続機能に限定されます。Transparent Failoverなどの追加の機能は、XenServer 7.6ではサポートされておらず、アップストリームLinuxカーネルの機能を使用できるかどうかに依存します。
  • NFSv4では、AUTH_SYSの認証の種類のみがサポートされます。
  • SMBストレージは、 XenServer Enterprise Editionユーザー、またはCitrixCitrix Virtual Apps and Desktops権限によりXenServerにアクセスするユーザーが使用できます。

ファイルベースのストレージリポジトリに格納されるVDIは、シンプロビジョニングされます。仮想マシンがデータをディスクに書き込むときにイメージファイルが割り当てられます。これには、実際に仮想マシンイメージファイルに書き込まれているデータ分の領域しかストレージ上で消費されないという大きな利点があります。たとえば、100GBのVDIを仮想マシンに割り当てて、そこにオペレーティングシステムをインストールする場合、オペレーティングシステムデータのサイズがそのVDIファイルの物理サイズに反映され、100GBにはなりません。

VHDファイルをチェーン化して、2つのVDIで共通のデータを共有することもできます。ファイルベースの仮想マシンを複製する場合、複製時にディスク上に存在したデータを複製元と複製先の仮想マシンが共有します。その後、各仮想マシンは異なるコピーオンライトバージョンのVDIで個別の変更を行います。この機能により、ファイルベースの仮想マシンをテンプレートからすぐに複製できるようになり、新しい仮想マシンのプロビジョニングと展開が容易になります。

注:

サポートされるVHDチェーンは30世代までです。

XenServerのファイルベースのストレージリポジトリおよびVHDの実装では、ファイルサーバーのストレージリポジトリディレクトリを完全に制御できることが前提になっています。VDIの内容を破損する危険があるため、管理者がストレージリポジトリディレクトリの内容を変更することは避けてください。

XenServerは、障害からの高度なデータ保護を維持しながら、不揮発性のRAMを使用して書き込み要求に迅速に応答するエンタープライズクラスのストレージ用に調整されています。たとえば、XenServerでは、Network Appliance社のData ONTAP 7.3および8.1が動作するFAS2020およびFAS3210ストレージに対し、広範なテストが実施されています。

警告:

ファイルベースのストレージリポジトリ上のVDIはシンプロビジョニングで作成されるため、ファイルベースのストレージリポジトリ上にすべてのVDIに対して十分なディスクスペースがあることを確認する必要があります。XenServerホストでは、仮想ディスクの作成時にファイルベースのストレージリポジトリに必要なディスク領域があるかどうかはチェックされません。

共有NFSストレージリポジトリ(NFS)を作成する

NFSストレージリポジトリを作成するには、NFSサーバーのホスト名またはIPアドレスを指定する必要があります。任意のストレージリポジトリを作成可能なパスにストレージリポジトリを作成できます。サーバーによってエクスポートされた、ストレージリポジトリを作成可能なパスの一覧を表示するには、sr-probeコマンドを使用します。

XenServerでローエンドなストレージを使用すると、すべての書き込みの応答を待機してから仮想マシンに確認応答を渡すため、時間がかかることがあります。これにより、パフォーマンスが大きく犠牲になります。この問題は、ストレージリポジトリのマウントポイントを非同期モードでエクスポートするようにストレージを設定することで解決できる場合があります。ただし、非同期モードでのエクスポートでは実際にディスク上にない書き込みも認識されるため、障害のリスクを慎重に考慮する必要があります。

注:

指定したパスがプール内のすべてのサーバーにエクスポートされるようにNFSサーバーを設定する必要があります。この設定を行わない場合、ストレージリポジトリの作成に失敗し、物理ブロックデバイスレコードのプラグに失敗します。

XenServerのNFS実装では、デフォルトでTCPが使用されます。可能な環境であれば、UDPが使用されるように設定すると、パフォーマンスが向上する場合があります。これを行うには、ストレージリポジトリを作成するときに、device-configパラメーターuseUDP=trueを指定します。

次の表は、nfsストレージリポジトリ用のdevice-configパラメータの一覧です。

パラメーター名 説明 必須?
server NFSサーバーのIPアドレスまたはホスト名です。 はい
serverpath ストレージリポジトリを作成するNFSサーバー上の、NFSマウントポイントを含めたパスです。 はい

たとえば、192.168.1.10:/export1に共有NFSストレージリポジトリを作成する場合は、次のコマンドを実行します:

xe sr-create content-type=user \
name-label="shared NFS SR" shared=true \
device-config:server=192.168.1.10 device-config:serverpath=/export1 type=nfs \
nfsversion="3", "4"

非共有NFSストレージリポジトリを作成する場合は、次のコマンドを実行します。

xe sr-create host-uuid=host_uuid content-type=user \
name-label="Non-shared NFS SR" \
device-config:server=192.168.1.10 device-config:serverpath=/export1 type=nfs \
nfsversion="3", "4"

共有SMBストレージリポジトリ(SMB)を作成する

SMBストレージリポジトリを作成するには、SMBサーバーのホスト名またはIPアドレス、エクスポートされた共有のフルパス、および適切な資格情報を指定します。

注:

SMBストレージリポジトリは、ONTAP 8.3を実行しているNetwork ApplianceストレージおよびWindows Server 2012 R2でテストされています。

次の表は、SMBストレージリポジトリ用のdevice-configパラメーターの一覧です。

パラメーター名 説明 必須?
server サーバー上の共有へのフルパス はい
username 共有へのRWアクセスを持つユーザーアカウント オプション
password ユーザーアカウントのパスワード オプション

たとえば、192.168.1.10:/share1に共有SMBストレージリポジトリを作成する場合は、次のコマンドを実行します:

xe sr-create content-type=user \
name-label="Example shared SMB SR" shared=true \
device-config:server=//192.168.1.10/share1 \
device-config:username=valid_username device-config:password=valid_password type=smb

非共有SMBストレージリポジトリを作成する場合は、次のコマンドを実行します。

xe sr-create host-uuid=host_uuid content-type=user \
name-label="Non-shared SMB SR" \
device-config:server=//192.168.1.10/share1 \
device-config:username=valid_username device-config:password=valid_password type=smb

ハードウェアHBA上のLVM

この種類のストレージリポジトリでは、HBA LUN上に作成されたボリュームグループ内の論理ボリューム上のVHDとしてディスクが表示され、ハードウェアベースのiSCSIまたはFCのサポートが提供されます。

XenServer ホストでは、EmulexまたはQLogicのホストバスアダプタ(HBA)を使ったファイバチャネルSANがサポートされます。ファイバチャネルのLUNをホストに提供するために必要なファイバチャネルの構成は、すべて手作業で行う必要があります。この構成には、ストレージデバイス、ネットワークデバイス、およびXenServerホスト内のHBAが含まれます。すべてのFC設定が完了すると、目的のFC LUNのSCSIデバイスがHBAによりホストに提供されます。これにより、ローカルで接続されているSCSIデバイスのように、SCSIデバイスを使用してFC LUNにアクセスできるようになります。

ホスト上に存在する、LUNを持つSCSIデバイスの一覧を確認するには、sr-probeコマンドを使用します。このコマンドでは、新しく追加されたデバイスも認識されます。sr-probeで返されるSCSIデバイスのパス値は、そのLUNにアクセスするすべてのホストで同一です。このため、リソースプール内のすべてのホストからアクセスされる共有ストレージリポジトリを作成するときは、このパスを使用する必要があります。

QLogic iSCSI HBAに対しても、同じ機能を使用できます。

HBAベースのファイバチャネルおよびiSCSIの共有ストレージリポジトリを作成する手順については、「ストレージリポジトリを作成する」を参照してください。

注:

XenServerでは、ファイバチャネルのLUNを仮想マシンに直接マップすることはサポートされていません。HBAベースのLUNは、ホストにマップして、ストレージリポジトリ内でそれを指定する必要があります。ストレージリポジトリ内の仮想ディスクイメージは、標準のブロックデバイスとして仮想マシンに提供されます。