XenServer

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

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

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

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

警告:

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

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

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

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

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

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

ローカルLVM

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

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

注:

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

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

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

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

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

注:

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

ローカルXFS

XFS形式のストレージリポジトリでは、ローカルストレージでシンプロビジョニングが有効になります。種類がローカルXFSのストレージリポジトリによって、512バイトの論理ブロックサイズを必要とせずに、4KBの物理ブロックでローカルストレージデバイスを作成することもできます。

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

XFSストレージリポジトリ用のdevice-configパラメーター:

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

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

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

udev

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

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

ISO

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

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

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

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

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

パラメーター名 説明 必須?
location マウント用のパス。 はい
type ストレージリポジトリに使用するストレージの種類:cifsまたはnfs_iso いいえ
nfsversion ストレージの種類がNFSの場合に使用するNFSプロトコルのバージョン:3、4、4.0、または4.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=<path_to_mount> 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=<path_to_mount>
     device-config:username=<username> device-config:cifspassword=<password> \
     device-config:type=cifs device-config:vers=1.0 name-label="Example ISO SR"
<!--NeedCopy-->

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

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

注:

iSCSI LUNのブロックサイズは512バイトでなければなりません。4KBの物理ブロックでストレージを使用するには、ストレージが512バイトの割り当てブロックのエミュレーションもサポートしている必要があります(論理ブロックサイズは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
<!--NeedCopy-->

警告:

  • 各iSCSIターゲットおよびイニシエータで、固有のIQNが設定されている必要があります。IQNが重複するとデータの損傷やLUNアクセスの拒否が発生します。
  • iSCSIストレージリポジトリが接続されているXenServerホストの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をXenServerホストに物理的にインストールしたら、以下の手順で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を使用して、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
    <!--NeedCopy-->
    

警告:

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

共有LVMストレージ

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

注:

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

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

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

パラメーター名 説明 必須?
target ストレージリポジトリをホストするSAN上のiSCSIターゲットのIPアドレスまたはホスト名です。複数のターゲットに接続するために、コンマで区切られた値の一覧を指定することもできます。 はい
targetIQN ストレージリポジトリをホストするiSCSI SAN上のターゲットのIQN(iSCSI Qualified Name)、またはすべてのIQNに接続する場合は * はい
SCSIid 作成先LUNのSCSIバスIDです。 はい
multihomed このターゲットへのマルチホームサーバーを有効にする いいえ(デフォルトはhost.other_config:multipathingと同じ値)
chapuser CHAP認証に使用されるユーザー名です いいえ
chappassword_secret (推奨)CHAP認証に使用されるパスワードのシークレットIDです。パスワードの代わりにシークレットを提供します。 いいえ
chappassword CHAP認証に使用されるパスワードです。代わりにchappassword_secretパラメーターの使用をお勧めします。 いいえ
port ターゲットをクエリするためのネットワークポート番号です。 いいえ
usediscoverynumber 使用する特定のiscsiレコードインデックスです。 いいえ
incoming_chapuser iSCSIフィルターでホストでの認証に使用されるユーザー名です。 いいえ
incoming_chappassword_secret (推奨)iSCSIフィルターがホストの認証に使用するパスワードのシークレットIDです。 いいえ
incoming_chappassword iSCSIフィルターがホストでの認証に使用するパスワードです。代わりにincoming_chappassword_secretパラメーターの使用をお勧めします。 いいえ

注:

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. リソースプール内の各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>
    <!--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をサポートします。

注:

クラスター化ネットワークが非管理VLAN上にある場合、クラスター化プール上でホストを追加または削除できないという既知の問題があるため、GFS2ストレージリポジトリをVLANで使用しないことをお勧めします。

GFS2の共有タイプのストレージリポジトリは、iSCSIまたはHBA LUN上にGFS2ファイルシステムを作成します。VDIは、QCOW2イメージ形式のファイルとしてGFS2ストレージリポジトリに保存されます。

GFS2ストレージの使用について詳しくは、「シンプロビジョニングされた共有GFS2ブロックストレージ」を参照してください。

NFSおよびSMB

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

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

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

重要:

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

ファイルベースのストレージリポジトリに格納される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ホストでは、仮想ディスクの作成時にファイルベースのストレージリポジトリに必要なディスク領域があるかどうかはチェックされません。

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

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

注:

読み取り専用のNFSストレージリポジトリを接続しようとすると、次のエラーメッセージが表示されてこのアクションは失敗します。「SR_BACKEND_FAILURE_461 - The file system for SR cannot be written to.(SRのファイル システムに書き込むことができません。)」

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

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

注:

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

XenServerの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のサポートが提供されます。

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は、ホストにマップして、ストレージリポジトリ内でそれを指定する必要があります。ストレージリポジトリ内の仮想ディスクイメージは、標準のブロックデバイスとして仮想マシンに提供されます。

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

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