Citrix Hypervisor

ストレージリポジトリ(SR)の管理

ここでは、さまざまな種類のストレージリポジトリを作成して、Citrix Hypervisorサーバーから使用できるようにする設定例について説明します。また、ライブVDIマイグレーション機能を含め、ストレージリポジトリの管理に必要なさまざまな操作についても説明します。

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

ここでは、さまざまな種類のストレージリポジトリ(SR)を作成して、Citrix Hypervisorサーバーから使用できるようにする設定例について説明します。これらの例では、CLIを使用してストレージリポジトリを作成します。XenCenterでストレージリポジトリを追加するための新規ストレージリポジトリウィザードの使い方について詳しくは、XenCenterドキュメントを参照してください。

注:

lvmおよびextの種類のローカルストレージリポジトリは、xe CLIを使用してのみ作成できます。ただし、作成後のすべての種類のストレージリポジトリは、XenCenterおよびxe CLIで管理できます。

ホストで使用するストレージリポジトリをCLIで作成するには、以下の2つの基本手順があります:

  1. 必要なパラメーターの値を確認するためにストレージリポジトリをプローブする。

  2. ストレージリポジトリを作成してSRオブジェクトとそれに関連付けられたPBDオブジェクトを初期化し、そのPBDオブジェクトをプラグしてストレージリポジトリをアクティブ化する。

これらの手順の詳細は、作成されるストレージリポジトリのタイプによって異なります。いずれの場合でも、sr-createコマンドによる作成に成功すると、そのストレージリポジトリのUUIDが返されます。

物理デバイスを解放するために不要なストレージリポジトリを破棄できます。また、Citrix Hypervisorサーバーからストレージリポジトリを消去して接続を解除したり、さらにそれを別のホストに接続したりできます。詳しくは、次のセクションの「ストレージリポジトリを削除する」を参照してください。

ストレージリポジトリをプローブする

次の目的で、sr-probeコマンドを実行できます:

  • ストレージリポジトリ作成時に必要なパラメーターを確認する
  • 既存のストレージリポジトリの一覧を表示する

これらのいずれの場合でも、ストレージリポジトリの種類と、その種類に応じたいくつかのdevice-configパラメーターを指定してsr-probeコマンドを実行します。必要なパラメーターを指定せずに sr-probeコマンドを実行すると、必要なパラメーターと指定可能なオプションを示すエラーメッセージが表示されます。必要なパラメーターを正しく指定した場合は、既存のストレージリポジトリの一覧が表示されます。sr-probeコマンドによる出力は、すべてXML形式で返されます。

たとえば、既知のiSCSIターゲットがある場合は、その名前またはIPアドレスを指定してプローブできます。これにより、そのターゲット上で使用可能なすべてのIQNが以下のように返されます:

    xe sr-probe type=lvmoiscsi device-config:target=192.168.1.10

    Error code: SR_BACKEND_FAILURE_96
    Error parameters: , The request is missing or has an incorrect target IQN parameter, \
    <?xml version="1.0" ?>
    <iscsi-target-iqns>
        <TGT>
            <Index>
                0
            </Index>
            <IPAddress>
                192.168.1.10
            </IPAddress>
            <TargetIQN>
                iqn.192.168.1.10:filer1
            </TargetIQN>
        </TGT>
    </iscsi-target-iqns>
<!--NeedCopy-->

次に、このターゲットの名前またはIPアドレスと、特定のIQNを指定してプローブを実行すると、そのIQN上で使用可能なすべてのSCSIids(LUN)が以下のように返されます。

    xe sr-probe type=lvmoiscsi device-config:target=192.168.1.10  \
    device-config:targetIQN=iqn.192.168.1.10:filer1

    Error code: SR_BACKEND_FAILURE_107
    Error parameters: , The SCSIid parameter is missing or incorrect, \
    <?xml version="1.0" ?>
    <iscsi-target>
        <LUN>
            <vendor>
                IET
            </vendor>
            <LUNid>
                0
            </LUNid>
            <size>
                42949672960
            </size>
            <SCSIid>
                149455400000000000000000002000000b70200000f000000
            </SCSIid>
        </LUN>
    </iscsi-target>
<!--NeedCopy-->

最後に、これら3つのパラメーター(ターゲットの名前またはIPアドレス、IQN、およびSCSIid)を指定してプローブを実行すると、そのLUN上に存在するストレージリポジトリの一覧が以下のように返されます。

    xe sr-probe type=lvmoiscsi device-config:target=192.168.1.10  \
    device-config:targetIQN=192.168.1.10:filer1 \
    device-config:SCSIid=149455400000000000000000002000000b70200000f000000

    <?xml version="1.0" ?>
    <SRlist>
        <SR>
            <UUID>
                3f6e1ebd-8687-0315-f9d3-b02ab3adc4a6
            </UUID>
            <Devlist>
                /dev/disk/by-id/scsi-149455400000000000000000002000000b70200000f000000
            </Devlist>
        </SR>
    </SRlist>
<!--NeedCopy-->

次の表は、ストレージリポジトリの各種類に対して、プローブ可能なパラメーターの一覧です。

SRの種類 device-configパラメーター(依存順) プローブの可否 sr-createに必要か
lvmoiscsi target いいえ はい
  chapuser いいえ いいえ
  chappassword いいえ いいえ
  targetIQN はい はい
  SCSIid はい はい
lvmohba SCSIid はい はい
NetApp target いいえ はい
  username いいえ はい
  password いいえ はい
  chapuser いいえ いいえ
  chappassword いいえ いいえ
  aggregate いいえ(注1参照) はい
  FlexVols いいえ いいえ
  allocation いいえ いいえ
  asis いいえ いいえ
nfs server いいえ はい
  serverpath はい はい
lvm device いいえ はい
ext device いいえ はい
EqualLogic target いいえ はい
  username いいえ はい
  password いいえ はい
  chapuser いいえ いいえ
  chappassword いいえ いいえ
  storagepool いいえ(注2参照) はい

注:

  • アグリゲートのプローブはsr-createの実行時のみ可能です。
  • ストレージプールのプローブはsr-createの実行時のみ可能です。

ストレージリポジトリを削除する

ストレージリポジトリ(SR)は、一時的または永続的に削除できます。

detach: ストレージデバイスとプールまたはホストの間の関連付けを削除します(pbd-unplug)。ストレージリポジトリ(およびその仮想ディスクイメージ)にはアクセスできなくなります。仮想ディスクイメージの内容と、仮想ディスクイメージにアクセスするために仮想マシンで使用されるメタ情報は保持されます。保守などのためにストレージリポジトリを一時的にオフラインにするときに、このコマンドを使用します。接続を解除したストレージリポジトリは後で再接続できます。

forget: 物理ディスク上のストレージリポジトリの内容は保持されますが、仮想マシンを仮想ディスクイメージに接続するのに使用した情報は永続的に削除されます。たとえば、ストレージリポジトリの内容を削除せずに、ストレージリポジトリを別のCitrix Hypervisorサーバーに再接続できます。

destroy: 物理ディスクからストレージリポジトリの内容を削除します。

注:

SMBストレージを使用する場合は、SMBストレージリポジトリを切り離す前にストレージから共有を削除しないでください。

destroyまたはforgetの場合、ストレージリポジトリに接続されているPBDをホストからアンプラグする必要があります。

  1. 次のコマンドを実行して、物理ブロックデバイス(PBD)をアンプラグします。これにより、Citrix Hypervisorサーバーからストレージリポジトリが接続解除されます:

    xe pbd-unplug uuid=pbd_uuid
    <!--NeedCopy-->
    
  2. sr-destroyコマンドを使用してストレージリポジトリを削除します。このコマンドにより、ストレージリポジトリが破棄されます。これにより、Citrix HypervisorサーバーのデータベースからストレージリポジトリおよびそのPBDが削除され、そのストレージリポジトリの内容が物理ディスクから削除されます:

    xe sr-destroy uuid=sr_uuid
    <!--NeedCopy-->
    
  3. sr-forgetコマンドを使用してストレージリポジトリを消去します。このコマンドにより、Citrix HypervisorサーバーのデータベースからストレージリポジトリおよびそのPBDが削除されますが、ストレージリポジトリのコンテンツ自体は物理メディア上に残ります:

    xe sr-forget uuid=sr_uuid
    <!--NeedCopy-->
    

注:

対象のストレージリポジトリのソフトウェアオブジェクトでガベージコレクション処理が完了するまで、時間がかかる場合があります。

ストレージリポジトリをイントロデュースする

以前に接続を消去したストレージリポジトリを再度イントロデュースするには、PBDを作成します。このPBDを適切なCitrix Hypervisorサーバーに手動でプラグし、ストレージリポジトリをアクティブ化します。

以下の例では、lvmoiscsiストレージリポジトリを接続します。

  1. 次のコマンドを実行して、既存のストレージリポジトリのUUIDを確認します。

    xe sr-probe type=lvmoiscsi device-config:target=192.168.1.10 \
        device-config:targetIQN=192.168.1.10:filer1 \
        device-config:SCSIid=149455400000000000000000002000000b70200000f000000
    <!--NeedCopy-->
    
  2. 次のコマンドを実行して、sr-probeで返された既存のストレージリポジトリのUUIDをイントロデュースします。これにより、新規SRのUUIDが返されます。

    xe sr-introduce content-type=user name-label="Example Shared LVM over iSCSI SR" \
        shared=true uuid=valid_sr_uuid type=lvmoiscsi
    <!--NeedCopy-->
    
  3. 次のコマンドを実行して、ストレージリポジトリに添付するPBDを作成します。これにより、新規PBDのUUIDが返されます。

    xe pbd-create type=lvmoiscsi host-uuid=valid_uuid sr-uuid=valid_sr_uuid \
        device-config:target=192.168.0.1 \
        device-config:targetIQN=192.168.1.10:filer1 \
        device-config:SCSIid=149455400000000000000000002000000b70200000f000000
    <!--NeedCopy-->
    
  4. 次のコマンドを実行して、PBDをプラグします。これにより、ストレージリポジトリが接続されます。

    xe pbd-plug uuid=pbd_uuid
    <!--NeedCopy-->
    
  5. 次のコマンドを実行して、PBDプラグの状態を確認します。PBDが正しくプラグされている場合、currently-attachedプロパティがtrueになります:

    xe pbd-list sr-uuid=sr_uuid
    <!--NeedCopy-->
    

注:

リソースプール内の各サーバーに対して、手順3〜手順5を実行します。これらの手順は、XenCenterの[ストレージ]>[修復]コマンドでも実行できます。

LUNのライブ拡張

ストレージの要件に応じてストレージアレイにキャパシティを追加して、Citrix HypervisorサーバーにプロビジョニングされるLUNのサイズを増やすことができます。LUNのライブ拡張機能を使用すると、仮想マシンを停止せずにLUNのサイズを増やすことができます。

ストレージアレイの容量を増やしたら、次のように入力します。

xe sr-scan sr-uuid=sr_uuid
<!--NeedCopy-->

これにより、ストレージリポジトリが再スキャンされ、追加されたストレージ領域が使用可能になります。

この操作は、XenCenterでも使用できます。ストレージリポジトリを選択してサイズを変更し、[再スキャン] をクリックします。

警告:

  • 既存のLUNのサイズを小さくすることはできません。ストレージアレイ上のLUNのサイズを小さくすると、データが失われることがあります。

ライブVDIマイグレーション

ストレージXenMotionのライブVDIマイグレーション機能を使用すると、仮想マシンの仮想ディスクイメージ(VDI)を仮想マシンを停止せずに再配置できます。これにより、管理者は以下のタスクを実行できます:

  • 安価なローカルストレージに格納されている仮想マシンを、高速で耐障害性の高いストレージアレイに移動する。
  • 仮想マシンを開発環境から実稼働環境に移動する。
  • ストレージ容量による制限がある場合に、仮想マシンをストレージ階層間で移動する。
  • ストレージアレイをアップグレードする。

制限事項

ライブVDIマイグレーションには、以下の制限事項があります。

  • 移動先のリポジトリ上に十分な空きディスク容量が必要です。

XenCenterを使用して仮想ディスクを移動するには

  1. リソースペインで、仮想ディスクが格納されているストレージリポジトリを選択して[ストレージ]タブをクリックします。

  2. [仮想ディスク]の一覧で、移動する仮想ディスクを選択して[移動]をクリックします。

  3. [仮想ディスクの移動]ダイアログボックスで、移動先のストレージリポジトリを選択します。

    注:

    一覧には、各ストレージリポジトリの空き容量が表示されます。移動先のストレージリポジトリ上に十分なディスク容量があることを確認してください。

  4. [移動]をクリックして仮想ディスクを移動します。

xe CLIリファレンスについては、vdi-pool-migrateを参照してください。

停止した仮想マシンのVDIをほかのストレージリポジトリに移行する(オフラインマイグレーション)

メンテナンス時または階層ストレージを使用する場合は、仮想マシンに関連付けられた仮想ディスクイメージ(VDI)をほかのストレージリポジトリに移動することができます。XenCenterを使用すると、仮想マシンおよびすべてのそのVDIを、同一または異なるストレージリポジトリにコピーできます。個々のVDIをコピーするには、XenCenterとxe CLIを使用します。

xe CLIリファレンスについては、vm-migrateを参照してください。

仮想マシンのすべての仮想ディスクイメージをほかのストレージリポジトリにコピーする

XenCenterの[VMのコピー]コマンドでは、選択した仮想マシンのすべてのVDIを同一または異なるストレージリポジトリ上にコピーできます。このとき、デフォルトでは、元の仮想マシンおよびVDIは変更されません。コピーを作成するのではなく、選択したストレージリポジトリに仮想マシンを移動するには、[VMのコピー]ダイアログボックスで[元のVMの削除]オプションを選択します。

  1. 仮想マシンをシャットダウンします。
  2. XenCenterで仮想マシンを選択し、[VM] > [VMのコピー] を選択します。
  3. コピー先のストレージリポジトリを選択します。

個々の仮想ディスクイメージをほかのストレージリポジトリにコピーする

個々のVDIをストレージリポジトリ間でコピーするには、xe CLIとXenCenterを使用します。

  1. 仮想マシンをシャットダウンします。

  2. xe CLIを使用して、移行するVDIのUUIDを指定します。仮想マシンにDVDドライブがある場合、そのvdi-uuidnot in databaseで示され、無視できます。

    xe vbd-list vm-uuid=valid_vm_uuid
    <!--NeedCopy-->
    

    注:

    vbd-listコマンドにより、VBD UUIDおよびVDI UUIDが表示されます。ここでは、VBD UUIDではなくVDI UUIDを使用することに注意してください。

  3. XenCenterで、仮想マシンの[ストレージ]タブを選択します。コピーするVDIを選択して、[接続解除]をクリックします。この操作は、vbd-destroyコマンドでも実行できます。

    注:

    vbd-destroyコマンドでVDI UUIDを「接続解除」する場合は、そのVBDのother-config:ownerパラメーターがtrueに設定されていないことを確認してください。このパラメーターをfalseに設定します。VDIを「破棄」する場合は、vbd-destroyコマンドにother-config:owner=trueを指定して実行することもできます。

  4. 次のvdi-copyコマンドを実行して、仮想マシンの各VDIを指定したストレージリポジトリにコピーします。

    xe vdi-copy uuid=valid_vdi_uuid sr-uuid=valid_sr_uuid
    <!--NeedCopy-->
    
  5. XenCenterで、仮想マシンの[ストレージ]タブを選択します。[接続]をクリックして、新しいストレージリポジトリのVDIを選択します。この操作は、vbd-createコマンドでも実行できます。

  6. 元のVDIを削除するには、XenCenterで元のストレージリポジトリの[ストレージ]タブを選択します。元のVDIは、一覧の[仮想マシン]列が空白になっています。そのVDIを選択して、[削除] をクリックするとVDIが削除されます。

ローカルのファイバチャネルストレージリポジトリを共有ストレージリポジトリに変換する

xe CLIおよびXenCenterの [ストレージ]>[修復] を使用して、ローカルのファイバチャネルストレージリポジトリを共有ファイバチャネルストレージリポジトリに変換します:

  1. リソースプール内のすべてのホストを、Citrix Hypervisor 8.2にアップグレードします。

  2. すべてのホストで、ストレージリポジトリのLUNが適切にゾーン設定されていることを確認します。各ホストでLUNが存在するかどうかをsr-probeコマンドで確認する方法について詳しくは、「ストレージリポジトリをプローブする」を参照してください。

  3. 次のコマンドを実行して、共有ストレージリポジトリに変換します。

    xe sr-param-set shared=true uuid=local_fc_sr
    <!--NeedCopy-->
    
  4. 共有されたストレージリポジトリは、XenCenterのツリー表示でホストレベルからプールレベルに移動します。このリポジトリには赤い感嘆符「!」が付き、プール内のすべてのホストに接続されていないことを示します。

  5. ストレージリポジトリを選択し、[ストレージ] > [ストレージリポジトリの修復] を選択します。

  6. [修復]をクリックすると、プール内のホストごとにPBDが作成され、プラグされます。

バッキングアレイ上で破棄操作によってブロックベースストレージの領域を解放する

領域の解放を使用すると、シンプロビジョニングされたLUN上で、未使用のブロックを解放できます。解放された領域は、ストレージアレイでの再利用が可能になります。

注:

領域の解放は、一部のストレージアレイでのみ使用できます。現在のアレイがこの機能をサポートしているかどうか、および操作に特別な設定が必要かどうかを判断するには、ハードウェア互換性リスト(HCL)およびストレージベンダー固有のドキュメントを参照してください。

XenCenterを使用して領域を解放するには:

  1. [インフラストラクチャ] ビューで、ストレージリポジトリに接続されているサーバーまたはリソースプールを選択します。

  2. [ストレージ]タブをクリックします。

  3. 一覧でストレージリポジトリを選択して、[空き領域の解放] をクリックします。

  4. [はい]をクリックして操作を確定します。

  5. [通知][イベント] の順にクリックして、操作の状態を表示します。

詳しくは、XenCenterでF1キーを押してオンラインヘルプを参照してください。

xe CLIを使用して領域を解放するには、次のコマンドを使用できます:

xe host-call-plugin host-uuid=host_uuid \
    plugin=trim fn=do_trim args:sr_uuid=sr_uuid

注:

  • この操作は、アレイ上でシンプロビジョニングされたLUNに基づいた、LVMベースのストレージリポジトリでのみ使用できます。ローカルSSDの場合も、領域を解放できます。
  • 領域の解放は、NFSやEXT3/EXT4などのファイルベースのストレージリポジトリでは必要ありません。これらのタイプのストレージリポジトリでは、XenCenterで [空き領域の解放] を使用できません。
  • ファイルベースのストレージリポジトリまたはシックプロビジョニングされたLVMベースのストレージリポジトリに対して領域を解放するxeコマンドを実行すると、コマンドはエラーを返します。
  • 領域の解放は負荷の高い操作であり、ストレージアレイのパフォーマンスが低下する場合があります。このため、領域の解放はアレイで必要なときにのみ行うようにしてください。アレイ要求度の低いオフピーク時にこの操作を行うことをお勧めします。

スナップショット削除時にディスクスペースを自動解放する

Citrix Hypervisorでは、スナップショットを削除するときに、LVMベースのストレージリポジトリに割り当てられていたディスクスペースが自動的に解放されます。仮想マシンを再起動する必要はありません。この操作は「オンライン結合(online coalescing)」と呼ばれます。オンライン結合は、すべての種類のストレージリポジトリに適用されます。ただし、GFS2 SRはリーフ結合を実行できません。つまり、VMが書き込み先のVDIをGFS2 SR上の親と結合できません。

オンライン結合が意図したとおりに実行されない場合があります。以下のシナリオでは、オフライン結合ツールを使用することをお勧めします:

  • 仮想マシンによる入出力スループットが大きい場合
  • いつまでも領域が解放されない場合

注:

  • オフライン結合ツールを使用すると、仮想マシンの一時停止および再開によるダウンタイムが発生します。
  • オフライン結合ツールを使用する前に、不要なスナップショットや複製をすべて削除しておきます。これにより、より多くの領域が解放されます。すべての領域を解放するには、すべてのスナップショットおよび複製を削除しておきます。
  • 仮想マシンのディスクが、共有ストレージ上か、単一ホストのローカルストレージ上に格納されている必要があります。共有ストレージとローカルストレージ上の複数のディスクを持つ仮想マシンでは、結合を実行できません。

オフライン結合ツールでディスクスペースを解放する

XenCenterで、隠しオブジェクトを表示します。[表示] > [隠しオブジェクト] をクリックします。[リソース]ペインで仮想マシンを選択します。[全般] タブにUUIDが表示されます。

[リソース] ペインで、リソースプールのマスター(一覧の最初のホスト)を選択します。[全般] タブにUUIDが表示されます。スタンドアロンサーバー環境の場合は、仮想マシンのホストを選択します。

  1. ホスト上でコンソールを開き、以下のコマンドを実行します。

    xe host-call-plugin host-uuid=host-UUID \
        plugin=coalesce-leaf fn=leaf-coalesce args:vm_uuid=VM-UUID
    <!--NeedCopy-->
    

    たとえば、仮想マシンのUUIDが9bad4022-2c2d-dee6-abf5-1b6195b1dad5、ホストのUUIDがb8722062-de95-4d95-9baa-a5fe343898eaの場合は、次のコマンドを実行します:

    xe host-call-plugin host-uuid=b8722062-de95-4d95-9baa-a5fe343898ea \
        plugin=coalesce-leaf fn=leaf-coalesce args:vm_uuid=9bad4022-2c2d-dee6-abf5-1b6195b1dad5
    <!--NeedCopy-->
    
  2. このコマンドにより、仮想マシンが実行中の場合はサスペンドされ、ディスクスペースが解放された後で仮想マシンが再開されます。

注:

オフライン結合ツールを実行する前に、仮想マシンを手動でシャットダウンまたは一時停止しておくことをお勧めします。仮想マシンをシャットダウンまたは一時停止するには、XenCenterまたはCitrix Hypervisor CLIコマンドを使用します。実行中の仮想マシンに対してこのツールを実行した場合、仮想マシンがサスペンドされ、VDI結合が行われた後で仮想マシンが再開されます。アジャイルVMは別のホストで再起動する場合があります。

結合する仮想ディスクイメージ(VDI)が共有ストレージ上にある場合は、プールマスター上でオフライン結合ツールを実行する必要があります。

VDIがローカルストレージ上にある場合は、そのストレージが接続されているサーバー上でオフライン結合ツールを実行します。

ディスク入出力の操作

ディスク入出力スケジューラおよびディスク入出力優先度設定を構成して、ディスクのパフォーマンスを変更できます。

注:

このセクションで説明するディスク入出力機能は、EqualLogic、NetApp、またはNFSストレージには適用されません。

ディスク入出力スケジューラを変更する

通常、すべての種類の新規ストレージリポジトリに、デフォルトのディスクスケジューラnoopが適用されます。noopスケジューラでは、同一デバイスにアクセスする複数の仮想マシンによる競合に対して、適切なパフォーマンスが提供されます。

  1. 次のコマンドを使用して、ディスク スケジューラを調整します:

    xe sr-param-set other-config:scheduler=<option> uuid=<sr_uuid>
    <!--NeedCopy-->
    

    <option>の値は、noopcfq、またはdeadlineのいずれかになります。

  2. スケジューラのパラメーターを有効にするには、PBDを接続解除して再接続してください。

    xe pbd-unplug uuid=<pbd_uuid>
    xe pbd-plug uuid=<pbd_uuid>
    <!--NeedCopy-->
    

ディスク入出力要求の優先順位付けを適用するには、このデフォルト設定を上書きして、cfqディスクスケジューラをストレージリポジトリに割り当てます。

仮想ディスク入出力要求の優先順位付け

仮想ディスクにはオプションで入出力要求の優先順位付け設定があります。これらの設定を使用して、特定の仮想マシンのディスクに対する入出力を他のディスクより優先することができます。

VBDに対するディスクの入出力要求の優先度パラメーターを設定する前に、そのストレージリポジトリのディスクスケジューラが正しく設定されていることを確認してください。ストレージリポジトリおよび関連するPBDの接続解除と再接続では、スケジューラパラメーターをcfqに設定する必要があります。スケジューラを調整する方法については、「ディスク入出力スケジューラの変更」を参照してください。

複数のホストが同一LUNにアクセスするような共有ストレージリポジトリの場合、各ホストからLUNにアクセスするVBDに優先度設定が適用されます。これらの設定は、リソースプール内のホスト全体には適用されません。

ホストはリモートストレージに要求を発行しますが、要求の優先順位付けはリモートストレージによって行われます。

ディスク入出力要求パラメーター

これらの設定は、次のパラメーターを指定してxe vbd-param-setコマンドを使用することで、既存の仮想ディスクに適用できます:

  • qos_algorithm_type - このパラメーターは、仮想ディスクのアルゴリズムを指定するもので、唯一サポートされるioniceを値として設定する必要があります。

  • qos_algorithm_param - このパラメーターを使用してキー/値ペアを設定します。仮想ディスクの場合、qos_algorithm_paramschedキーを指定し、そのキーの値によってはclassキーを指定します。

    qos_algorithm_param:schedキーには、次のいずれかの値を指定できます:

    • sched=rtまたはsched=real-time - この値によって、スケジューリングのパラメーターが「real time」に設定されます。この場合は、classパラメーターに値を設定する必要があります。

    • sched=idle - この値によって、スケジューリングのパラメーターが「idle」に設定されます。この場合は、classパラメーターに値を設定する必要はありません。

    • sched=anything - この値によって、スケジューリングのパラメーターが「best-effort」に設定されます。この場合は、classパラメーターに値を設定する必要があります。

    キーqos_algorithm_param:classには、次のいずれかの値を指定できます:

    • キーワードhighesthighnormallowlowestのうち1つ。

    • 0から7までの整数。7が最高で0が最低の優先度を示します。たとえば、優先度5のI/O要求は、優先度2のI/O要求よりも優先されます。

たとえば、次のコマンドを実行すると、仮想ディスクのVBDが使用するリアルタイム優先度が5に設定されます:

xe vbd-param-set uuid=<vbd_uuid> qos_algorithm_type=ionice
xe vbd-param-set uuid=<vbd_uuid> qos_algorithm_params:sched=rt
xe vbd-param-set uuid=<vbd_uuid> qos_algorithm_params:class=5
xe sr-param-set uuid=<sr_uuid> other-config:scheduler=cfq
xe pbd-unplug uuid=<pbd_uuid>
xe pbd-plug uuid=<pbd_uuid>
<!--NeedCopy-->