ストレージリポジトリを管理する

最終公開日 : Oct 07, 2026
このセクションでは、ライブVDIマイグレーションを含む、ストレージリポジトリ (SR) の継続的な管理に必要なさまざまな操作について説明します。

SRを削除する

ストレージリポジトリ (SR) は、一時的または永続的に削除できます。
デタッチ: ストレージデバイスとプールまたはホスト間の関連付けを解除します (PBDのプラグを抜く)。SR (およびそのVDI) はアクセスできなくなります。VDIの内容と、VMがVDIにアクセスするために使用するメタ情報は保持されます。デタッチは、メンテナンスのためにSRを一時的にオフラインにする場合などに使用できます。デタッチされたSRは後で再アタッチできます。
忘却: 物理ディスク上のSRの内容は保持されますが、VMをそのVDIに接続する情報は完全に削除されます。たとえば、SRの内容を削除せずに、SRを別のXenServer®ホストに再アタッチできます。
破棄: 物理ディスクからSRの内容を削除します。
注:
SMBストレージを使用する場合、SMB SRをデタッチする前に、ストレージから共有を削除しないでください。
破棄または忘却の場合、SRに接続されているPBDはホストからプラグを抜く必要があります。
  1. PBDのプラグを抜いて、対応するXenServerホストからSRをデタッチします。
    xe pbd-unplug uuid=pbd_uuid
  2. sr-destroy コマンドを使用してSRを削除します。このコマンドはSRを破棄し、XenServerホストデータベースからSRと対応するPBDを削除し、物理ディスクからSRの内容を削除します。
    xe sr-destroy uuid=sr_uuid
  3. sr-forget コマンドを使用してSRを忘却します。このコマンドはXenServerホストデータベースからSRと対応するPBDを削除しますが、実際のSRの内容は物理メディア上にそのまま残します。
    xe sr-forget uuid=sr_uuid
注:
SRに対応するソフトウェアオブジェクトがガベージコレクションされるまで、時間がかかる場合があります。

SRを導入する

以前に忘れられた SRを再導入するには、PBDを作成します。SRをアクティブ化するには、PBDを適切なXenServerホストに手動で接続します。
次の例では、lvmoiscsiタイプのSRを導入します。
  1. 既存のSRをプローブして、その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
  2. sr-probeコマンドから返された既存のSRの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
  3. SRに付随する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
  4. PBDを接続してSRをアタッチします。
    xe pbd-plug uuid=pbd_uuid
  5. PBD接続のステータスを確認します。成功した場合、currently-attachedプロパティはtrueになります。
    xe pbd-list sr-uuid=sr_uuid
注:
リソースプール内の各ホストに対して、ステップ3から5を実行します。これらの手順は、XenCenterの「ストレージリポジトリの修復」機能を使用しても実行できます。

ライブLUN拡張

容量要件を満たすために、XenServerホストにプロビジョニングされたLUNのサイズを増やすために、ストレージアレイに容量を追加する必要がある場合があります。ライブLUN拡張により、VMのダウンタイムなしでLUNのサイズを増やすことができます。
ストレージアレイに容量を追加した後、次のように入力します。
xe sr-scan sr-uuid=sr_uuid
このコマンドはSRを再スキャンし、追加の容量が追加されて利用可能になります。
この操作はXenCenterでも利用できます。サイズ変更するSRを選択し、再スキャンをクリックします。
警告:
  • LUNを縮小または切り詰めることはできません。ストレージアレイでLUNサイズを縮小すると、データ損失につながる可能性があります。
  • GFS2 SRのサイズ変更には時間がかかる場合があります。サイズ変更中は、プールにホストを追加したり、他のSR操作を実行したりできない場合があります。

ライブVDI移行

ライブVDI移行により、管理者はVMをシャットダウンすることなく、VMの仮想ディスクイメージ(VDI)を再配置できます。この機能により、次のような管理操作が可能になります。
  • 安価なローカルストレージから、高速で回復力のあるアレイバックストレージへVMを移動する。
  • 開発環境から本番環境へVMを移動する。
  • VMがストレージ容量によって制限されている場合に、ストレージの階層間を移動する。
  • ストレージアレイのアップグレードを実行する。

制限事項と注意点

ライブVDI移行には、以下の制限事項と注意点があります。
  • ターゲットリポジトリに十分なディスク容量が利用可能である必要があります。

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

  1. リソースペインで、仮想ディスクが保存されているSRを選択し、ストレージタブをクリックします。
  2. 仮想ディスクリストで、移動したい仮想ディスクを選択し、移動をクリックします。
  3. 「仮想ディスクの移動」ダイアログボックスで、VDIの移動先となるターゲットSRを選択します。
    注:
    SRに別の仮想ディスクを格納するのに十分な空き容量があることを確認してください。利用可能なSRのリストに空き容量が表示されます。
  4. 仮想ディスクを移動するには、移動をクリックします。
xe CLIのリファレンスについては、vdi-pool-migrateを参照してください。

SR間でのコールドVDI移行 (オフライン移行)

VMに関連付けられたVDIは、メンテナンス要件や階層型ストレージ構成に対応するため、あるSRから別のSRにコピーできます。XenCenterを使用すると、VMとそのすべてのVDIを同じSRまたは別のSRにコピーできます。XenCenterとxe CLIを組み合わせて、個々のVDIをコピーできます。
xe CLIのリファレンスについては、vm-migrateを参照してください。

VMのすべてのVDIを別のSRにコピーする

XenCenterの「VMのコピー」機能は、選択したVMのすべてのVDIを同じSRまたは別のSRにコピーを作成します。ソースVMとVDIは、デフォルトでは影響を受けません。コピーを作成するのではなく、VMを選択したSRに移動するには、「仮想マシンのコピー」ダイアログボックスで「元のVMを削除」オプションを選択します。
  1. VMをシャットダウンします。
  2. XenCenterで、VMを選択し、次にVM > VMのコピーオプションを選択します。
  3. 目的のターゲットSRを選択します。

個々のVDIを別のSRにコピーする

xe CLIとXenCenterを組み合わせて、SR間で個々のVDIをコピーできます。
  1. VMをシャットダウンします。
  2. 移動するVDIのUUIDを特定するためにxe CLIを使用します。VMにDVDドライブがある場合、そのvdi-uuidはnot in databaseとしてリストされ、無視できます。
    xe vbd-list vm-uuid=valid_vm_uuid
    注:
    vbd-listコマンドはVBDとVDIの両方のUUIDを表示します。VBD UUIDではなく、VDI UUIDを記録するようにしてください。
  3. XenCenterで、VM Storageタブを選択します。移動する各VDIについて、VDIを選択し、Detachボタンをクリックします。この手順は、vbd-destroyコマンドを使用しても実行できます。
    注:
    VDI UUIDをデタッチするためにvbd-destroyコマンドを使用する場合、まずVBDのパラメータother-config:ownerがtrueに設定されているか確認してください。このパラメータをfalseに設定します。vbd-destroyコマンドをother-config:owner=trueとともに発行すると、関連するVDIも破棄されます。
  4. vdi-copyコマンドを使用して、移動するVM VDIを目的のSRにコピーします。
    xe vdi-copy uuid=valid_vdi_uuid sr-uuid=valid_sr_uuid
  5. XenCenterで、VM Storageタブを選択します。Attachボタンをクリックし、新しいSRからVDIを選択します。この手順は、vbd-createコマンドを使用しても実行できます。
  6. 元のVDIを削除するには、XenCenterで元のSRのStorageタブを選択します。元のVDIは、VMフィールドが空の値で表示されます。Deleteボタンを使用してVDIを削除します。

ローカルFibre Channel SRを共有SRに変換する

xe CLIとXenCenterのRepair Storage Repository機能を使用して、ローカルFC SRを共有FC SRに変換します。
  1. リソースプール内のすべてのホストをXenServer 9にアップグレードします。
  2. プール内のすべてのホストがSRのLUNを適切にゾーニングしていることを確認します。各ホストにLUNが存在することを確認するためのsr-probeコマンドの使用方法については、Probe an SRを参照してください。
  3. SRを共有に変換します。
    xe sr-param-set shared=true uuid=local_fc_sr
  4. SRはXenCenterでホストレベルからプールレベルに移動され、共有されていることを示します。SRには、現在プール内のすべてのホストに接続されていないことを示す赤い感嘆符が付けられます。
  5. SRを選択し、次にストレージ > ストレージリポジトリの修復オプションを選択します。
  6. 修復をクリックして、プール内の各ホストにPBDを作成して接続します。

ディスカードを使用して、バッキングアレイ上のブロックベースストレージの領域を再利用する

スペース再利用を使用して、シンプロビジョニングされたLUN上の未使用ブロックを解放できます。スペースが解放された後、ストレージアレイはこの再利用されたスペースを再利用できます。
注:
スペース再利用は、一部の種類のストレージアレイでのみ利用可能です。お使いのアレイがこの機能をサポートしているか、特定の構成が必要かどうかを判断するには、ハードウェア互換性リストとストレージベンダー固有のドキュメントを参照してください。
XenCenterを使用してスペースを再利用するには:
  1. インフラストラクチャビューを選択し、SRに接続されているホストまたはプールを選択します。
  2. ストレージタブをクリックします。
  3. リストからSRを選択し、解放されたスペースを再利用をクリックします。
  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ベースのSRでのみ利用可能です。ローカルSSDも領域再利用の恩恵を受けることができます。
  • 領域再利用は、NFSやEXT3/EXT4などのファイルベースのSRには必要ありません。これらのSRタイプでは、XenCenterで解放済み領域の再利用ボタンは利用できません。
  • ファイルベースのSRまたはシックプロビジョニングされたLVMベースのSRに対して領域再利用のxeコマンドを実行すると、コマンドはエラーを返します。
  • 領域再利用は負荷の高い操作であり、ストレージアレイのパフォーマンス低下につながる可能性があります。そのため、アレイで領域再利用が必要な場合にのみこの操作を開始してください。この作業は、アレイのピーク需要時間外にスケジュールすることをお勧めします。

スナップショット削除時の領域自動再利用

XenServerでスナップショットを削除すると、LVMベースのSRに割り当てられた領域は自動的に再利用され、VMの再起動は不要です。この操作は「オンライン結合」として知られています。オンライン結合は、すべての種類のSRに適用されます。
特定の状況では、自動領域再利用が進行できない場合があります。このようなシナリオでは、オフライン結合ツールを使用することをお勧めします。
  • VMのI/Oスループットが著しい状況下
  • 一定期間経過後も領域が再利用されない状況
注記:
  • オフライン結合ツールを実行すると、実行されるサスペンド/レジューム操作により、VMにいくらかのダウンタイムが発生します。
  • ツールを実行する前に、不要になったスナップショットとクローンをすべて削除してください。このツールは、残りのスナップショット/クローンを考慮して、可能な限り多くの領域を再利用します。すべての領域を再利用したい場合は、すべてのスナップショットとクローンを削除してください。
  • VMディスクは、単一ホストの共有ストレージまたはローカルストレージのいずれかにある必要があります。両方の種類のストレージにディスクがあるVMは結合できません。

オフライン結合ツールを使用した領域の再利用

XenCenter を使用して非表示のオブジェクトを有効にします。表示 > 非表示のオブジェクトをクリックします。リソースペインで、UUID を取得したい VM を選択します。UUID は全般タブに表示されます。
リソースペインで、リソースプールコーディネーター(リストの最初のホスト)を選択します。全般タブに UUID が表示されます。リソースプールを使用していない場合は、VM のホストを選択します。
  1. ホストでコンソールを開き、次のコマンドを実行します。
    xe host-call-plugin host-uuid=host-UUID \
        plugin=coalesce-leaf fn=leaf-coalesce args:vm_uuid=VM-UUID
    たとえば、VM の 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
  2. このコマンドは、VM を一時停止し(すでに電源がオフになっていない限り)、領域再利用プロセスを開始し、その後 VM を再開します。
注記:
オフラインの結合ツールを実行する前に、VM を手動でシャットダウンまたは一時停止することをお勧めします。VM のシャットダウンまたは一時停止は、XenCenter または XenServer CLI のいずれかを使用して実行できます。実行中の VM で結合ツールを実行すると、ツールは自動的に VM を一時停止し、必要な VDI 結合操作を実行し、VM を再開します。アジャイル VM は別のホストで再起動する可能性があります。
結合する仮想ディスクイメージ(VDI)が共有ストレージ上にある場合、オフラインの結合ツールをプールコーディネーターで実行する必要があります。
結合する VDI がローカルストレージ上にある場合、オフラインの結合ツールをローカルストレージが接続されているホストで実行します。

ディスク I/O の操作

ディスク I/O スケジューラーとディスク I/O 優先度設定を構成して、ディスクのパフォーマンスを変更できます。
注:
このセクションで説明するディスク I/O 機能は、GFS2、NFS、または SMB3 ストレージには適用されません。

ディスク I/O スケジューラーの調整

一般的なパフォーマンスのために、デフォルトのディスクスケジューラー none はすべての新しい SR タイプに適用されます。none スケジューラーは、同じデバイスにアクセスする競合する VM に対して最も公平なパフォーマンスを提供します。
  1. ディスクスケジューラを次のコマンドを使用して調整します。
    xe sr-param-set other-config:scheduler=<option> uuid=<sr_uuid>
    <option> の値は、次のいずれかの用語になります: none、bfq、または mq-deadline。
  2. スケジューラパラメーターを有効にするには、対応する PBD を抜き差しします。
    xe pbd-unplug uuid=<pbd_uuid>
    xe pbd-plug uuid=<pbd_uuid>
ディスク I/O 要求の優先順位付けを適用するには、デフォルト設定を上書きし、bfq ディスクスケジューラを SR に割り当てます。

仮想ディスク I/O 要求の優先順位付け

仮想ディスクには、オプションの I/O 要求優先度設定があります。これらの設定を使用して、特定の VM のディスクへの I/O を他のディスクよりも優先させることができます。
VBD のディスク I/O 要求優先度パラメーターを設定する前に、SR のディスクスケジューラが適切に設定されていることを確認してください。スケジューラパラメーターは SR で bfq に設定され、関連する PBD は抜き差しされている必要があります。スケジューラの調整方法については、「ディスク I/O スケジューラの調整」を参照してください。
複数のホストが同じ LUN にアクセスする共有 SR の場合、優先度設定は同じホストから LUN にアクセスする VBD に適用されます。これらの設定は、プール内のホスト全体には適用されません。
ホストはリモートストレージに要求を発行しますが、要求の優先順位付けはリモートストレージによって行われます。

ディスク I/O 要求パラメーターの設定

これらの設定は、次のパラメーターを指定して xe vbd-param-set コマンドを使用することで、既存の仮想ディスクに適用できます。
  • qos_algorithm_type - このパラメーターは値 ionice に設定する必要があります。これは仮想ディスクでサポートされている唯一のアルゴリズムです。
  • qos_algorithm_param - このパラメーターを使用してキーと値のペアを設定します。仮想ディスクの場合、qos_algorithm_param は sched キーを受け取り、値によっては class キーも必要とします。
    キー qos_algorithm_param:sched は次のいずれかの値を持つことができます。
    • sched=rt または sched=real-time - この値はスケジューリングパラメーターをリアルタイム優先度に設定します。これには値を設定するための class パラメーターが必要です。
    • sched=idle - この値は、スケジューリングパラメータをアイドル優先度に設定します。これは、値を設定するためのclassパラメータを必要としません。
    • sched=anything - この値は、スケジューリングパラメータをベストエフォート優先度に設定します。これは、値を設定するためのclassパラメータを必要とします。
    キーqos_algorithm_param:classは、次のいずれかの値を持つことができます。
    • 次のいずれかのキーワード: highest, high, normal, low, lowest。
    • 0から7までの整数。ここで、7が最高の優先度で、0が最低の優先度です。例えば、優先度5のI/Oリクエストは、優先度2のI/Oリクエストよりも優先されます。

例

例えば、次のCLIコマンドは、仮想ディスクの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=bfq
xe pbd-unplug uuid=<pbd_uuid>
xe pbd-plug uuid=<pbd_uuid>