Citrix Hypervisor

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

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

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

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

警告:

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

  • Citrix Hypervisorでは、いずれの種類のストレージリポジトリでも、LUNの外部SANレベルでのスナップショットがサポートされていません。

  • 作成先LUNのLUN IDが255より大きいストレージリポジトリを作成しようとしないでください。このLUNを使用してストレージリポジトリを作成する前に、ターゲットが255以下のLUN IDを持つLUNを公開していることを確認してください。

  • ファイルベースのストレージリポジトリでシンプロビジョニングを使用する場合は、SRの空き領域を監視してください。ストレージリポジトリの使用率が100%になると、仮想マシンからのそれ以上の書き込みは失敗します。これらの失敗した書き込みにより、仮想マシンがフリーズまたはクラッシュする可能性があります。

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

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

ローカルLVM

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

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

注:

LVM LUNのブロックサイズは512バイトでなければなりません。4 KBのネイティブブロックでストレージを使用するには、ストレージが512バイトの割り当てブロックのエミュレーションもサポートしている必要があります。

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

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

警告:

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

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

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

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

パラメーター名 説明 必須?
device ストレージリポジトリとして使用するローカルホスト上のデバイス名です。名前をセミコロンで区切った一覧を作成することもできます。 はい

/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
<!--NeedCopy-->

ローカルEXT3/EXT4

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

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

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

ローカルEXTストレージリポジトリがEXT3またはEXT4を使用するかは、それを作成したCitrix Hypervisorのバージョンによって異なります。

  • 以前のバージョンのXenServerまたはCitrix HypervisorでローカルEXTストレージリポジトリを作成し、Citrix Hypervisor 8.2にアップグレードした場合は、EXT3が使用されます。
  • Citrix Hypervisor 8.2でローカルEXTストレージリポジトリを作成した場合は、EXT4が使用されます。

注:

EXT3/EXT4ディスクのブロックサイズは512バイトでなければなりません。4 KBのネイティブブロックでストレージを使用するには、ストレージが512バイトの割り当てブロックのエミュレーションもサポートしている必要があります。

ローカルEXT4ストレージリポジトリの作成(ext

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

パラメーター名 説明 必須?
device ストレージリポジトリとして使用するローカルホスト上のデバイス名です。名前をセミコロンで区切った一覧を作成することもできます。 はい

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

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

udev

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

Citrix Hypervisorには、リムーバブルストレージであるudevとして表わされる、2種類のストレージリポジトリがあります。1つは、Citrix Hypervisorサーバーの物理CDまたはDVDドライブに挿入されたCDまたはDVDです。もう1つは、Citrix HypervisorサーバーのUSBポートに接続されたUSBデバイスです。メディアを表すVDIは、ディスクまたはUSBスティックが挿入および取り外された場合に表示されます。

ISO

この種類のストレージリポジトリは、ISO形式のファイルとして格納されたCDイメージを示します。このストレージリポジトリは、共有ISOライブラリの作成に便利です。

次のISOストレージリポジトリの種類が使用可能です:

  • nfs_iso:NFS ISOストレージリポジトリは、NFS共有上のISOファイルとして格納されたCDイメージで使用します。
  • cifs: Windows File Sharing(SMB/CFS)ストレージリポジトリは、Windows(SMB/CIFS)共有上のISOファイルとして格納されたCDイメージで使用します。

ストレージリポジトリに使用するストレージの種類を指定しない場合、Citrix Hypervisorはlocationデバイス構成パラメーターを使用して種類を決定します。

ISOストレージリポジトリ用のデバイス構成パラメーター:

パラメーター名 説明 必須?
location マウント用のパス。 はい
type ストレージリポジトリに使用するストレージの種類:cifsまたはnfs_iso いいえ
nfsversion 使用するNFSのバージョンを指定します。nfsversion="4"を指定すると、ストレージリポジトリはNFS v4.0、v4.1、またはv4.2(どれが利用可能かによる)を使用します。より具体的なバージョンのNFSを選択する場合は、nfsversion="4.0"などを指定できます。nfsversionには値を1つだけ指定できます。 いいえ
vers ストレージの種類がCIFS/SMBの場合、使用するSMBのバージョン:1.0または3.0。デフォルトは3.0です。 いいえ
username ストレージの種類がCIFS/SMBの場合、Windowsファイルサーバーにユーザー名が必要なとき。 いいえ
cifspassword_secret (推奨)ストレージの種類がCIFS/SMBの場合、Windowsファイルサーバーのパスワードの代わりにシークレットを提供することができます。 いいえ
cifspassword ストレージの種類がCIFS/SMBの場合、Windowsファイルサーバーのパスワードが必要なとき。代わりにcifspassword_secretパラメーターの使用をお勧めします。 いいえ

注:

sr-createコマンドの実行時にコマンドラインでパスワードを指定する代わりに、device-config:cifspassword_secret引数を使用することをお勧めします。詳しくは、「シークレット」を参照してください。

ISOのライブラリを格納するストレージリポジトリの場合、content-typeパラメーターはisoである必要があります。例:

    xe sr-create host-uuid=valid_uuid content-type=iso  type=iso name-label="Example ISO SR" \
      device-config:location=<server:/path> device-config:type=nfs_iso
<!--NeedCopy-->

NFSまたはSMBを使用してISOストレージリポジトリをマウントできます。これらの種類のストレージリポジトリの使用について詳しくは、「NFSおよびSMB」を参照してください。

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

     xe sr-create content-type=iso type=iso shared=true device-config:location=<\IP\path>
     device-config:username=<username> device-config:cifspassword_secret=<password_secret> \
     device-config:type=cifs device-config:vers=1.0 name-label="Example ISO SR"
<!--NeedCopy-->

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

Citrix Hypervisorでは、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ストレージリポジトリでは、ライブマイグレーションを使用して仮想マシンのアジリティをサポートできます:仮想マシンはリソースプール内のどのCitrix Hypervisorサーバーでも起動でき、サービスをほとんど停止せずに、ホスト間で仮想マシンを移行できます。

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

注:

iSCSI LUNのブロックサイズは512バイトでなければなりません。4 KBのネイティブブロックでストレージを使用するには、ストレージが512バイトの割り当てブロックのエミュレーションもサポートしている必要があります。

Citrix HypervisorサーバーのiSCSI構成

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

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

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

注:

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

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

    xe host-param-set uuid=valid_host_id other-config:iscsi_iqn=new_initiator_iqn
<!--NeedCopy-->

警告:

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

ソフトウェアFCoEストレージ(廃止済み)

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

注:

ソフトウェアFCoEは廃止され、今後のリリースから削除されます。

ソフトウェア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
<!--NeedCopy-->

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

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

QLogic iSCSI HBAセットアップの例

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

HBAをCitrix Hypervisorサーバーに物理的にインストールしたら、以下の手順でHBAを設定します:

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

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

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

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

注:

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

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

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

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

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

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

    echo "1" > /sys/class/scsi_device/adapter:bus:target:lun/device/delete
    <!--NeedCopy-->
    

警告:

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

共有LVMストレージ

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

注:

iSCSI LUNのブロックサイズは512バイトでなければなりません。4 KBのネイティブブロックでストレージを使用するには、ストレージが512バイトの割り当てブロックのエミュレーションもサポートしている必要があります。

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

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

| パラメーター名 | 説明 | 必須? | |———————————-|————————————————————————————————————–|———–| | target | ストレージリポジトリをホストするiSCSIファイラのIPアドレスまたはホスト名です。コンマで区切られた値の一覧を指定することもできます。 | はい | | targetIQN | ストレージリポジトリをホストするiSCSIファイラのIQNターゲットアドレスです。 | はい | | SCSIid | 作成先LUNのSCSIバスIDです。 | はい | | chapuser | CHAP認証に使用されるユーザー名です。 | いいえ | | chappassword_secret | (推奨)CHAP認証に使用されるパスワードのシークレットIDです。パスワードの代わりにシークレットを提供します。 | いいえ | | chappassword | CHAP認証に使用されるパスワードです。代わりにchappassword_secretパラメーターを使用することをお勧めします。 | いいえ || port | ターゲットを照会するためのネットワークのポート番号です | いいえ | | usediscoverynumber | 使用する特定のiSCSIレコードインデックスです。 | いいえ | | incoming_chapuser | iSCSIフィルターでホストでの認証に使用されるユーザー名です。 | いいえ | | incoming_chappassword | iSCSIフィルターでホストでの認証に使用されるパスワードです | いいえ |

注:

sr-createコマンドの実行時にコマンドラインでパスワードを指定する代わりに、device-config:chappassword_secret引数を使用することをお勧めします。詳しくは、「シークレット」を参照してください。

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
<!--NeedCopy-->

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

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

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

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

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

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

  2. 必要に応じて、Citrix Hypervisorサーバーに含まれている以下の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>
    <!--NeedCopy-->
    
  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
    <!--NeedCopy-->
    

注:

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

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

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

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

  • 領域の使用効率を高める必要がある場合。イメージが散在し密に割り当てられていない場合。
  • ストレージアレイ上の1秒あたりの入出力操作数を減らす必要がある場合。GFS2ストレージリポジトリは、共有ブロックストレージ上のストレージ読み取りキャッシュをサポートする、一級のストレージリポジトリです。
  • 複数の仮想マシンで基本イメージを共用する場合。共用することで個々の仮想マシンのイメージは限られた領域を有効活用できます。
  • スナップショットを使用する場合で、各スナップショットがイメージであり、各イメージが散在する場合。
  • お使いのストレージはNFSをサポートしておらず、ブロックストレージのみをサポートしています。ストレージがNFSをサポートしている場合は、GFS2の代わりにNFSを使用することをお勧めします。
  • 2TiBを超えるサイズのVDIを作成する場合。GFS2ストレージリポジトリは、最大16TiBのVDIをサポートします。

この種類のストレージリポジトリでは、iSCSIまたはHBA LUN上に作成されたファイルシステムと同様にディスクが表示されます。GFS2ストレージリポジトリに保存されているVDIは、QCOW2イメージ形式で保存されます。

共有GFS2ストレージを使用するには、Citrix Hypervisorのリソースプールがクラスター化されたプールである必要があります。GFS2ストレージリポジトリを作成する前に、プールでクラスタリングを有効にしてください。詳しくは、「クラスター化プール」を参照してください。

クラスター化プールとGFS2ストレージリポジトリの間にストレージのマルチパスが設定されていることを確認してください。詳しくは、「ストレージのマルチパス」を参照してください。

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

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

iSCSIまたはHBA LUNに共有GFS2ストレージリポジトリを作成できます。

iSCSI経由の共有GFS2ストレージリポジトリを作成する

XenCenterを使用すると、iSCSIストレージリポジトリ上にGFS2を作成できます。詳しくは、XenCenter製品ドキュメントの「ソフトウェアiSCSIストレージ」を参照してください。

または、xe CLIを使用してiSCSIストレージリポジトリ上にGFS2を作成することもできます。

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

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

xe sr-probe-extコマンドを使用すると、これらのパラメーターに使用するための値を見つけることができます。

xe sr-probe-ext type=<type> host-uuid=<host_uuid> device-config:=<config> sm-config:=<sm_config>
  1. 次のコマンドを実行して起動します:

    xe sr-probe-ext type=gfs2 device-config:provider=iscsi
    

    コマンドからの出力では、追加のパラメーターを指定するように求められ、各ステップで使用できる値のリストが示されます。

  2. このコマンドを繰り返して、毎回新しいパラメーターを追加します。

  3. コマンド出力がFound the following complete configurations that can be used to create SRs:で始まる場合、xe sr-createコマンドとdevice-configパラメーターを指定、使用してストレージリポジトリを格納できます。

    出力例:

    ``` ストレージリポジトリの作成に使用できる次の完全な構成が見つかりました。 Configuration 0: SCSIid : 36001405852f77532a064687aea8a5b3f targetIQN: iqn.2009-01.example.com:iscsi192a25d6 target: 198.51.100.27 provider: iscsi

    Configuration 0 extra information: ```

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ターゲットにアクセスできない場合、クラスタ化されたプール内の一部のホストが隔離される可能性があります。

iSCSIストレージリポジトリの操作について詳しくは、「ソフトウェアiSCSIのサポート」を参照してください。

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

XenCenterを使用すると、HBAストレージリポジトリ上にGFS2を作成できます。詳しくは、XenCenter製品ドキュメントの「ハードウェアHBAストレージ」を参照してください。

または、xe CLIを使用してHBAストレージリポジトリ上にGFS2を作成することもできます。

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

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

xe sr-probe-extコマンドを使用すると、SCSIidパラメーターに使用するための値を見つけることができます。

xe sr-probe-ext type=<type> host-uuid=<host_uuid> device-config:=<config> sm-config:=<sm_config>
  1. 次のコマンドを実行して起動します:

    xe sr-probe-ext type=gfs2 device-config:provider=hba
    

    コマンドからの出力では、追加のパラメーターを指定するように求められ、各ステップで使用できる値のリストが示されます。

  2. このコマンドを繰り返して、毎回新しいパラメーターを追加します。

  3. コマンド出力がFound the following complete configurations that can be used to create SRs:で始まる場合、xe sr-createコマンドとdevice-configパラメーターを指定、使用してストレージリポジトリを格納できます。

    出力例:

    ``` ストレージリポジトリの作成に使用できる次の完全な構成が見つかりました。 Configuration 0: SCSIid : 36001405852f77532a064687aea8a5b3f targetIQN: iqn.2009-01.example.com:iscsi192a25d6 target: 198.51.100.27 provider: iscsi

    Configuration 0 extra information: ```

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

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

HBAストレージリポジトリの操作について詳しくは、「ハードウェアホストバスアダプタ」を参照してください。

制約

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

  • シンプロビジョニングされたSRと同様、GFS2 SRの使用率が100%になると、仮想マシンからのそれ以上の書き込みは失敗します。これらの書き込みの失敗は、仮想マシン内の障害、データの破損、またはその両方につながる可能性があります。

  • XenCenterは、SRの使用量が80%に増加するとアラートを表示します。GFS2 SRにこのアラートが表示されていないか監視を行い、表示された場合は適切な処置を行ってください。GFS2 SRでは、使用率が高くなるとパフォーマンスが低下します。SRの使用量を80%以下に保つことをお勧めします。

  • VDIがGFS2ストレージリポジトリ上にある仮想マシンでは、ストレージ移行(ライブまたはオフライン)による仮想マシンの移行はサポートされていません。また、VDIを別のタイプのストレージリポジトリからGFS2ストレージリポジトリに移行することもできません。

  • FCoEトランスポートは、GFS2ストレージリポジトリではサポートされていません。

  • トリミングとマッピング解除は、GFS2ストレージリポジトリではサポートされていません。

  • CHAP(Challenge Handshake Authentication Protocol:チャレンジハンドシェイク認証プロトコル)は、GFS2ストレージリポジトリではサポートされていません。

  • MCSフルクローン仮想マシンでは、GFS2ストレージリポジトリは使用できません。

  • 同じMCSカタログで複数のGFS2ストレージリポジトリを使用することはサポートされていません。

  • GFS2ストレージリポジトリおよびこれらのストレージリポジトリ上のディスクでは、パフォーマンス測定値は利用できません。

  • 変更ブロック追跡は、GFS2 SRに格納されているVDIではサポートされません。

  • 2TiBを超えるVDIをVHDまたはOVA(Open Virtual Appliance)やOVF(オープン仮想化フォーマット)でエクスポートすることはできません。ただし、VDIが2TiBを超える仮想マシンは、XVA形式でエクスポートできます。

  • GFS2でシンプロビジョニングされたLUNを使用することはお勧めしません。ただし、それでもこの構成を選択する場合は、Citrix Hypervisorが書き込むのに十分な領域がLUNにあることを常に確認する必要があります。

  • プール内に62を超えるGFS2ストレージリポジトリを含めることはできません。

  • クラスター化プールでは、プールあたり16台までのホストのみがサポートされます。
  • クラスタートラフィックの場合、少なくとも2つの異なるネットワークスイッチを使用するボンディングネットワークを使用する必要があります。このネットワークを他の目的に使用しないでください。
  • XenCenterを使用してクラスターネットワークのIPアドレスを変更するには、クラスタリングとGFS2を一時的に無効にする必要があります。
  • クラスターが稼働中で、クラスターに実行中の仮想マシンがある間は、クラスタリングネットワークのボンディングを変更しないでください。この操作により、クラスターが隔離される可能性があります。
  • クラスタリングが有効になっているホストが少なくとも1つ含まれるクラスタリングネットワークで、IPアドレスの競合(IPアドレスが同じホストが複数存在)が発生した場合、競合しているホストが隔離されないことがあります。この問題を解決するには、IPアドレスの競合を解決します。

NFSおよびSMB

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

  • リソースプール内のすべてのCitrix Hypervisorサーバーでの仮想マシンの起動

  • ライブマイグレーションを使用した、サービスをほとんど停止しない、リソースプール内のCitrix Hypervisorサーバー間の仮想マシンの移行

重要:

  • SMB3のサポートは、3プロトコルを使用して共有に接続する機能に制限を受けます。Transparent Failoverなどの追加の機能は、Citrix Hypervisor 8.2ではサポートされておらず、アップストリームLinuxカーネルの機能を使用できるかどうかに依存します。
  • クラスター化されたSMBは、Citrix Hypervisorではサポートされていません。
  • NFSv4では、AUTH_SYSの認証の種類のみがサポートされます。
  • SMBストレージは、Citrix Hypervisor Premium Editionユーザー、またはCitrix Virtual Apps and DesktopsやCitrix DaaSの利用特典によりCitrix Hypervisorにアクセスするユーザーが使用できます。
  • NFSストレージとSMBストレージの両方で、少なくとも2つのボンディングされたリンクを使用する専用のストレージネットワークを使用することを強くお勧めします。理想的には、冗長電源を備えた独立したネットワークスイッチに使用します。
  • SMBストレージを使用する場合は、SMBストレージリポジトリを切り離す前にストレージから共有を削除しないでください。

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

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

注:

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

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

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

警告:

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

ストレージリポジトリの空き領域を監視していることを確認してください。ストレージリポジトリの使用率が100%になると、仮想マシンからのそれ以上の書き込みは失敗します。これらの失敗した書き込みにより、仮想マシンがフリーズまたはクラッシュする可能性があります。

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

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

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

注:

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

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

次のdevice-configパラメーターはNFSストレージリポジトリで使用されます:

パラメーター名 説明 必須?
server NFSサーバーのIPアドレスまたはホスト名です。 はい
serverpath ストレージリポジトリを作成するNFSサーバー上の、NFSマウントポイントを含めたパスです。 はい
nfsversion 使用するNFSのバージョンを指定します。nfsversion="4"を指定すると、ストレージリポジトリはNFS v4.0、v4.1、またはv4.2(どれが利用可能かによる)を使用します。より具体的なバージョンのNFSを選択する場合は、nfsversion="4.0"などを指定できます。nfsversionには値を1つだけ指定できます。 いいえ
useUDP デフォルトのTCPではなくUDPを使用するようにストレージリポジトリを構成します。 いいえ

たとえば、ファイラによって使用可能なNFSのいずれかのバージョン4を使用して、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 \
    device-config:nfsversion="4"
<!--NeedCopy-->

特にNFSバージョン4.0を使用して、192.168.1.10:/export1に非共有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 \
    device-config:nfsversion="4.0"
<!--NeedCopy-->

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

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

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

パラメーター名 説明 必須?
server サーバー上の共有へのフルパス はい
username 共有へのRWアクセスを持つユーザーアカウント オプション
password_secret (推奨)ユーザーアカウントのパスワードのシークレットID。パスワードの代わりに使用できます。 オプション
password ユーザーアカウントのパスワード。代わりにpassword_secretパラメーターの使用をお勧めします。 オプション

注:

sr-createコマンドの実行時にコマンドラインでパスワードを指定する代わりに、device-config:password_secret引数を使用することをお勧めします。詳しくは、「シークレット」を参照してください。

たとえば、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_secret=valid_password_secret type=smb
<!--NeedCopy-->

非共有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_secret=valid_password_secret type=smb
<!--NeedCopy-->

ハードウェアHBA上のLVM

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

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

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

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

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

注:

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

HBA LUN上のLVMのブロックサイズは512バイトでなければなりません。4 KBのネイティブブロックでストレージを使用するには、ストレージが512バイトの割り当てブロックのエミュレーションもサポートしている必要があります。

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