ストレジ読み取りキャッシュ
読み取りキャッシュでは,外部ディスクからの最初の読み取り後,データがホストの空きメモリにキャッシュされるので,仮想マシンのディスクパフォーマンスが向上します。単一のベース仮想マシンから多数の仮想マシンが複製されている状況では,ディスクからの読み取りブロック数が大幅に削減されるため,パフォーマンスが向上します。たとえば,Citrix虚拟桌面のMCS (Machine Creation Service)環境などです。
データがメモリにキャッシュされるため,ディスクから複数回読み取る場合には常にパフォーマンスが向上します。最も顕著な例は,負荷の高いi / o処理によりサビス速度が低下している場合です。たとえば,次のような場合です:
- 多数のエンドユザが,非常に短時間の間に一斉に起動する場合(ブトストム)
- 多数の仮想マシンが同時刻にマルウェアスキャンを実行するようにスケジュール指定されている場合(アンチウイルスストーム)。
適切なラセンスの種類がある場合は,読み取りキャッシュはデフォルトで有効です。
注:
ストレージ読み取りキャッシュ機能は,Citrix Hypervisor溢价版ユーザーのみが利用できます。
ストレージ読み取りキャッシュ機能は,Citrix虚拟应用程序和桌面やCitrix DaaSの利用特典によりCitrix Hypervisorにアクセスするユーザーも使用できます。
読み取りキャッシュを有効または無効にする
NFSやEXT3 / EXT4ストレージリポジトリなど,ファイルベースのストレージリポジトリの場合,読み取りキャッシュはデフォルトでオンになっています。ほかのストレジリポジトリの場合はすべてデフォルトでオフです。
xe CLIを使用して,特定のストレージリポジトリで読み取りキャッシュを無効にするには,次のコマンドを実行します:
Xe sr-param-set uuid=sr-uuid other-config:o_direct=true
Citrix Hypervisor中心を使用して,特定のストレージリポジトリで読み取りキャッシュを無効にするには,そのストレージリポジトリの[プロパティ]ダ邮箱アログボックスに移動します。[読み取りキャッシュ]タブで,読み取りキャッシュを有効にするか無効にするかを選択できます。
詳しくは,”ストレジリポジトリプロパティの変更を参照してください。
制限事項
nfsおよびext3 / ext4ストレジリポジトリの場合にのみ使用できます。そのほかの種類のストレジリポジトリでは使用できません。
読み取りキャッシュは,読み取り専用のvdiおよび親vdiに対してのみ適用されます。これらのVDIは,”高速複製”またはディスクスナップショットから作成された仮想マシン上に存在します。最もパフォーマンスが向上するのは,多数の仮想マシンが単一の”ゴールドイメージ”から複製されている場合です。
パフォーマンスが向上する度合いは,ホストのコントロールドメイン(dom0))で使用可能な空きメモリ量に応じて異なります。dom0のメモリ量を増やすと,読み取りキャッシュに割り当てられるメモリ量も増加します。dom0のメモリ量の設定にいて詳しくは,CTX134951を参照してください。
IntelliCacheとの比較
IntelliCacheおよびメモリベスの読み取りキャッシュは,ある意味において相補的です。IntelliCacheは、別の階層でキャッシュするだけではなく、読み取りおよび書き込みの両方をキャッシュします。IntelliCacheは、ネットワークからの読み取りをローカルディスクにキャッシュします。インメモリ読み取りキャッシュは、ネットワークまたはディスクからの読み取りをホストメモリにキャッシュします。インメモリ読み取りキャッシュの利点は、メモリの方がSolid-State Disk(SSD)よりも速度が10倍速いということです。このため、ブートストームや負荷の高いI/O処理の状況でも、パフォーマンスが向上します。
読み取りキャッシュとIntelliCacheは,同時に有効にすることができます。この場合,ネットワークからの読み取りをIntelliCacheがローカルディスクにキャッシュし,そのローカルディスクからの読み取りを,読み取りキャッシュがメモリにキャッシュします。
読み取りキャッシュサ邮箱ズを設定する
読み取りキャッシュのパフォーマンスを最適化するには,Citrix Hypervisorのコントロールドメイン(dom0))のメモリ量を増やします。
重要:
最適化のために,読み取りキャッシュサイズは,プール内のすべてのホストで個別に設定する必要があります。読み取りキャッシュサイズに変更を加える場合は、プール内のすべてのホストに対して設定する必要があります。
Citrix Hypervisorサーバーのローカルシェルを開き,根ユーザーでログオンします。
読み取りキャッシュサ邮箱ズを設定するには,次のコマンドを実行します:
/opt/xensource/libexec/xen-cmdline——set-xen dom0_mem=nnM,max:nnM
初期値と最大値は,いずれも同じ値に設定する必要があります。たとえば,dom0メモリを2048mibに設定するには,次のように入力します:
/opt/xensource/libexec/xen-cmdline——set-xen dom0_mem=20480M,max:20480M
重要:
読み取りキャッシュサズを変更したら,すべてのホストを再起動します。
現在のdom0のメモリ割り当てを表示する
現在のdom0のメモリ設定を表示するには,次のように入力します:
自由- m < !——NeedCopy >
自由- m
の出力は,現在のdom0のメモリ設定を示しています。この値は,さまざまなオバヘッドにより想定された値よりも小さくなっている場合があります。次の表は,dom0を2.6GiBに設定した場合のホストの出力例です。
| | | | |免费使用总共享/缓存| |缓冲区可用 | |---------------------|--------|------|-------|--------|--------------|-----------| | Mem: | 2450 | 339 | 1556 | 554 | | 2019 | |交换:| 1023 | 0 | 1023年 | | | |
使用可能な値の範囲
Citrix Hypervisorコントロールドメイン(dom0))は64ビットであるので,大きい値を使用できます(たとえば,32768 mib)。ただし,コントロンに1GiB未満のメモリを割り当てることはお勧めしません。
Citrix Hypervisor Centerの表示に関する注意事項
ホストの全メモリがXenハイパーバイザー,dom0),仮想マシン,および空きメモリから構成されていることを認識する必要があります。通常,dom0)と仮想マシンのメモリのサイズは固定されていますが,Xenハイパーバイザーが使用するメモリ量は可変です。使用されるメモリの量は,さまざまな要素によって異なります。これらの要素には,常時ホストで実行中の仮想マシン数と,これらの仮想マシンの設定方法が含まれます。Xenが使用するメモリ量は制限できません。メモリ量を制限すると,Xenでメモリが不足し,ホストに空きメモリが存在する場合でも,別の仮想マシンが起動できなくなる可能性があります。
ホストに割り当てられているメモリ量を表示するには,Citrix Hypervisor中心でホストを選択してから[メモリ]タブをクリックします。
Citrix Hypervisorフィルドに,dom0に割り当てられているメモリおよびXenメモリの合計容量が表示されます。このため,表示されるメモリ量は,管理者が指定した容量よりも大きくなることがあります。また,管理者がdom0)に固定サイズを設定した場合でも,仮想マシンの起動および停止時にメモリサイズが変動することがあります。