IntelliCache™

最終公開日 : Oct 07, 2026
XenServer® と IntelliCache を使用すると、共有ストレージとローカルストレージの組み合わせを使用できるようになるため、ホスト型仮想デスクトップインフラストラクチャの展開をより費用対効果の高いものにします。これは、多数の仮想マシン (VM) がすべて共通の OS イメージ (プライマリイメージ) を共有する場合に特に役立ちます。ストレージアレイへの負荷が軽減され、パフォーマンスが向上します。さらに、ローカルストレージが共有ストレージからプライマリイメージをキャッシュするため、共有ストレージとの間のネットワークトラフィックが削減されます。
IntelliCache は、VM ホスト上のローカルストレージに VM のデータをキャッシュすることで機能します。このローカルキャッシュデータには以下が含まれます。
  • プライマリイメージ (VM の親 VDI) のキャッシュされたコピー。このファイルはシンプロビジョニングされており、読み取り専用です。共有ストレージ上のプライマリイメージ VDI からデータが読み取られると、このファイルにデータが格納されます。多数の VM が共通のプライマリイメージ VDI を共有している場合、ある VM は別の VM からキャッシュに読み込まれたデータを使用できます。共有ストレージ上のプライマリイメージへのそれ以上のアクセスは必要ありません。
  • VDI ごとのデルタディスクのキャッシュされたコピー。変更はこのローカルデルタディスクに書き込むことができます。非永続 VM の場合、ローカルキャッシュされたデルタディスク内のデータは VM の起動時に破棄されます。永続 VM の場合、ローカルキャッシュされたデルタディスク内のデータは、VM の起動時に共有ストレージ上のデルタディスクに書き戻されます。
<iframe src="https://www.youtube.com/embed/CcAcKXgcSdU" width="720px" height="480px" frameborder="0" title="YouTube video player" allowfullscreen=""> </iframe>

前提条件

IntelliCache 機能には、次の要件があります。
  • Premium Edition ライセンス: IntelliCache は、Citrix Virtual Desktops で XenServer Premium Edition を使用している場合にのみサポートされます。
  • ストレージ: IntelliCache を使用するには、キャッシュデータ用のローカル SR と、ソース仮想ディスクイメージ (VDI) 用の共有 SR の両方が必要です。これらの SR は IntelliCache VM のみに使用してください。従来の仮想マシンと IntelliCache VM を同じ SR 上で混在させないでください。
    • 共有ストレージ: ソース VDI をホストするために使用される共有ストレージは、次のいずれかのタイプである必要があります。
      • NFS
      • SMB3
      • 共有 LVM (iSCSI または HBA)
    • ローカルストレージ: 可能な限り最速のデータ転送を確保するために、高性能なローカルストレージデバイスを使用することをお勧めします。たとえば、ソリッドステートディスクまたは高性能 RAID アレイを使用します。ローカルディスクのサイズを決定する際には、データスループットとストレージ容量の両方を考慮してください。
      IntelliCacheには、シンプロビジョニングされたEXT3/EXT4ローカルSRが必要です。Citrix Virtual Desktopsのローカルキャッシュが適切に機能するためには、シンプロビジョニングを有効にする必要があります。シンプロビジョニングは、XenServerのインストール時、または後でコマンドラインから有効にできます。シンプロビジョニングは、ホストのデフォルトのローカルストレージタイプをLVMからEXT4に変更します。詳細については、「IntelliCacheの展開」を参照してください。
      シンプロビジョニングは、利用可能なストレージの使用を最適化する方法です。このアプローチにより、共有ストレージではなくローカルストレージをより多く使用できます。これは、データブロックのオンデマンド割り当てに依存します。他のアプローチでは、すべてのブロックが事前に割り当てられます。シンプロビジョニングを使用すると、管理者はストレージリポジトリ(SR)に接続するVMに対して、SRで利用可能な容量よりも多くのストレージスペースを提示できます。スペースの保証はなく、LUNの割り当ては、VMがデータを書き込むまでデータブロックを要求しません。
      シンプロビジョニングされたSRは、内部のVMがオンデマンドでディスク容量を消費するために、物理スペースが不足する可能性があります。IntelliCache VMは、ローカルSRキャッシュがいっぱいになると自動的に共有ストレージにフォールバックすることで、この状態を処理します。IntelliCache VMはサイズが急速に大きくなる可能性があるため、従来の仮想マシンとIntelliCache VMを同じSRで混在させないでください。

IntelliCacheの展開

IntelliCache機能を使用するには、XenServerとCitrix Virtual Apps and Desktops™の両方で有効にする必要があります。

XenServerの場合

IntelliCacheを使用するには、ローカルSRのシンプロビジョニングをホストのインストール中に有効にするか、CLIを使用して実行中のホストで手動で有効にする必要があります。シンプロビジョニングは、ホストのデフォルトのローカルストレージタイプをLVMからEXT4に変更します。

ホストインストール時に有効にする

ホストのインストール中にシンプロビジョニングを有効にするには、仮想マシンストレージ画面で、シンプロビジョニングを有効にするを選択します。このオプションは、VM VDIのローカルキャッシュに使用されるホストのローカルSRを選択します。

既存のホストをシンプロビジョニングを使用するように変換する

既存のLVMローカルSRを削除し、シンプロビジョニングされたEXT3/EXT4 SRに置き換えるには、次のコマンドを入力します。
警告:
これらのコマンドは既存のローカルSRを削除し、SR上のVMは完全に削除されます。
localsr=`xe sr-list type=lvm host=hostname params=uuid --minimal`
    echo localsr=$localsr
    pbd=`xe pbd-list sr-uuid=$localsr params=uuid --minimal`
    echo pbd=$pbd
    xe pbd-unplug uuid=$pbd
    xe pbd-destroy uuid=$pbd
    xe sr-forget uuid=$localsr
    sed -i "s/'lvm'/'ext'/" /etc/firstboot.d/data/default-storage.conf
    rm -f /var/lib/misc/ran-storage-init
    systemctl restart storage-init.service
    xe sr-list type=ext
ローカルキャッシュを有効にするには、次のコマンドを入力します。
xe host-disable host=hostname
    localsr=`xe sr-list type=ext host=hostname params=uuid --minimal`
    xe host-enable-local-storage-caching host=hostname sr-uuid=$localsr
    xe host-enable host=hostname

シトリックス バーチャル アプリおよびデスクトップでの

Citrix Virtual Apps and DesktopsからCitrix StudioでXenServerに接続する際、IntelliCacheを使用するように選択します。XenServerでローカルSRのシンプロビジョニングが有効になっている場合、Citrix StudioはXenServerへの接続を作成する際に、共有ストレージデバイスの負荷を軽減するためにIntelliCacheを使用するというオプションを表示します。
詳細については、Citrix Virtual Apps and Desktops製品ドキュメントを参照してください。

IntelliCacheでのVMの動作

VDIフラグon-bootはVMの起動時のVM VDIの動作を決定し、VDIフラグallow-cachingはキャッシュ動作を決定します。
これらのパラメーターに使用する値は、作成するVMの種類とその意図された用途によって異なります。
  • 共有またはランダムに割り当てられたマシン向け:
    • on-bootパラメーターをresetに設定します。
    • allow-cachingパラメーターをtrueに設定します
    例:
    xe vdi-param-set uuid=vdi_uuid on-boot=reset allow-caching=true
    VMの起動時、VDIは前回の起動時の状態に戻されます。VMの実行中のすべての変更は、次回のVM起動時に失われます。新しいVMデータはローカルストレージにのみ書き込まれます。共有ストレージへの書き込みはありません。このアプローチは、共有ストレージの負荷を軽減することを意味します。ただし、VMはホスト間で移行できません。
    ユーザーが永続的な変更を加えることができない標準化されたデスクトップを提供する予定がある場合は、このオプションを選択してください。
  • 静的または専用マシン向け:
    • on-bootパラメーターをpersistに設定します。
    • allow-cachingパラメーターをtrueに設定します
    例:
    xe vdi-param-set uuid=vdi_uuid on-boot=persist allow-caching=true
    VM起動時、VDIは前回のシャットダウン時の状態になります。新しいVMデータは、ローカルストレージと共有ストレージの両方に書き込まれます。キャッシュされたデータの読み取りは、共有ストレージへのI/Oトラフィックを必要としないため、共有ストレージの負荷が軽減されます。別のホストへのVM移行が許可され、データが読み取られると、新しいホスト上のローカルキャッシュが設定されます。
    ユーザーがデスクトップに永続的な変更を加えることを許可する予定がある場合は、このオプションを選択します。
注:
VDIがGFS2 SR上にあるVMの場合、VMの起動時の動作は、他の種類のSR上にVDIがあるVMとは異なります。GFS2 SR上のVDIの場合、起動時のオプションはVM起動時ではなく、VMシャットダウン時に適用されます。

実装の詳細とトラブルシューティング

Q: IntelliCacheはライブマイグレーションおよび高可用性と互換性がありますか?
A: 仮想デスクトップがプライベートモードの場合、つまりon-boot=persistの場合、IntelliCacheでライブマイグレーションと高可用性を使用できます。
警告:
いずれかのVDIのキャッシュ動作フラグがon-boot=resetおよびallow-caching=trueに設定されている場合、VMを移行することはできません。これらのプロパティを持つVMの移行試行は失敗します。
Q: ローカルキャッシュはローカルディスクのどこにありますか?
A: キャッシュはストレージリポジトリ (SR) に存在します。各ホストには、キャッシュファイルに使用する (ローカル) SRを示す構成パラメーター (local-cache-sr と呼ばれる) があります。通常、このSRはEXT3/EXT4タイプのSRです。IntelliCacheでVMを実行すると、SR内にuuid.vhdcacheという名前のファイルが表示されます。このファイルは、指定されたUUIDを持つVDIのキャッシュファイルです。これらのファイルはXenCenterには表示されません。それらを表示する唯一の方法は、dom0にログインして/var/run/sr-mount/sr-uuidの内容を一覧表示することです。
Q: キャッシュとして使用する特定のSRを指定するにはどうすればよいですか?
A: ホストオブジェクトフィールドlocal-cache-srはローカルSRを参照します。その値は、次のコマンドを実行して表示できます。
xe sr-list params=local-cache-sr,uuid,name-label
このフィールドは、次のいずれかの方法で設定されます。
  • ホストのインストール後、ホストインストーラーで「シンプロビジョニングを有効にする」オプションを選択した場合、または
  • xe host-enable-local-storage-caching host=host sr-uuid=sr を実行して。このコマンドは、指定されたホストが無効になっている必要があります。このコマンドを使用する際は、VM をシャットダウンしてください。
最初のオプションは EXT3/EXT4 タイプのローカル SR を使用し、ホストのインストール中に作成されます。2番目のオプションは、コマンドラインで指定された EXT3/EXT4 タイプの SR を使用します。
警告:
これらの手順は、複数のローカル SR を構成しているユーザーにのみ必要です。
Q: ローカルキャッシュはいつ削除されますか?
A: ローカルキャッシュには、次の2種類の情報が含まれます。
  • プライマリイメージディスク用の共有キャッシュ。この共有キャッシュファイルは、共有ストレージからの読み取り専用 VDI をミラーリングし、個々の VDI に対してアクションが実行されても削除またはリセットされません。
  • 各 VDI の VDI ごとのデルタディスクキャッシュ。非永続 VM の場合、VDI が VM にアタッチされると(たとえば、VM の起動時)、デルタディスクキャッシュはリセットされます。このキャッシュファイルは、VDI 自体が削除された場合にのみ削除されます。VDI を削除するときにホストがオフラインの場合、起動時に実行される SR 同期によってキャッシュファイルがガベージコレクションされます。
    注:
    VM が別のホストに移行したりシャットダウンされたりしても、デルタディスクキャッシュファイルはホストから削除されません。