第5章 ストレージ
XenServer 7. 5 Licensing FAQを参照してください。
2. プライベートデスクトップモード
5.5.1.3. 仮想マシンの起動設定
仮想マシン起動時のVDIの動作として、以下の2つのモードがあります。
問︓
キャッシュ⽤のストレージリポジトリを指定するには?答︓
ローカルストレージリポジトリは、hostオブジェクトのlocal-cache-srフィールドで⽰されま す。このフィールドの値を表⽰するには、次のコマンドを実⾏します。xe sr-list params=local-cache-sr,uuid,name-label
この値を設定するには、以下のいずれかを⾏います。
• XenServerをホストにインストールするときに、<guilabel>[Enable thin provisioning]
</guilabel>オプションを選択する。
• 既存のXenServerホストで、
xe host-enable-local-storage-caching host=<hostname> sr-uuid=<sr>
を実⾏する。このコマンドを実⾏するには、指定された ホストが無効になっており、仮想マシンがシャットダウン状態である必要があります。1つ⽬のオプションでは、ホストのインストール時に種類がEXTのローカルストレージリポジト リが作成されます。2つ⽬のオプションでは、コマンドラインで指定したストレージリポジトリ が使⽤されます。
警告︓
これらの⼿順が必要になるのは、複数のローカルストレージリポジトリを設定した 場合のみです。
問︓
ローカルキャッシュはいつ削除されますか?答︓
VDIのキャッシュファイルが削除されるのは、そのVDI⾃体を削除したときのみです。VDIが仮 想マシンに接続されると(仮想マシンの起動時など)、キャッシュがリセットされます。VDI を削除したときにホストがオフラインだった場合は、そのホストの起動時に実⾏されるスト レージリポジトリ同期によりキャッシュファイルが削除されます。注︓
仮想マシンをほかのホストに移⾏したとき、および仮想マシンをシャットダウンし たときは、ホスト上のキャッシュファイルは削除されません。
5.6. ストレージ読み取りキャッシュ
読み取りキャッシュでは、外部ディスクからの最初の読み取り後、データがホストの空きメモリに キャッシュされるので、仮想マシンのディスクパフォーマンスが向上します。たとえ
ば、XenDesktopのMachine Creation Service(MCS)環境などで、単⼀のベース仮想マシンから多 数の仮想マシンが複製されている状況では、ディスクからの読み取りブロック数が⼤幅に削減される ため、パフォーマンスが格段に向上します。
データがメモリにキャッシュされるため、ディスクから複数回読み取る必要がある場合には常にパ フォーマンスが向上します。最も顕著な例は、負荷の⾼いI/O処理によりサービス速度が低下してい る場合です。たとえば、多数のエンドユーザーが、⾮常に短時間の間に⼀⻫に起動したり(ブートス トーム)、多数の仮想マシンが同時刻にマルウェアスキャンを実⾏するようにスケジュール指定され ている場合(アンチウイルスストーム)などです。適切なライセンスの種類がある場合は、読み取り キャッシュはデフォルトで有効です。
注︓
ストレージ読み取りキャッシュ機能は、 XenServer Enterprise Editionユーザー、
またはXenDesktop/XenApp権限によりXenServerにアクセスするユーザーが使⽤
できます。XenServerの各エディションおよびエディション間のアップグレードに ついては、Citrix
Webサイトを参照してください。ライセンスについて詳しく
は、XenServer 7.5 Licensing FAQを参照してください。5.6.1. 有効化と無効化
NFSやEXT3ストレージリポジトリなど、ファイルベースのストレージリポジトリの場合、読み取り キャッシュはデフォルトでオンになっています。ほかのストレージリポジトリの場合はすべてデフォ ルトでオフです。
特定のストレージリポジトリで読み取りキャッシュを無効にするには、次のように⼊⼒します。
xe sr-param-set uuid=<sr-uuid> other-config:o_direct=true
5.6.2. 制限事項
• 読み取りキャッシュは、NFSおよびEXT3ストレージリポジトリの場合にのみ使⽤できます。その ほかの種類のストレージリポジトリでは使⽤できません。
• 読み取りキャッシュは、読み取り専⽤のVDIおよび親VDIに対してのみ適⽤されます。これらは、
「⾼速複製」またはスナップショットディスクから作成された仮想マシン上に存在します。最もパ フォーマンスが向上するのは、多数の仮想マシンが単⼀の「ゴールドイメージ」から複製されてい る場合です。
• パフォーマンスが向上する度合いは、ホストのコントロールドメイン(dom0)で使⽤可能な空き メモリ量に応じて異なります。dom0のメモリ量を増やすと、読み取りキャッシュに割り当てられ るメモリ量も増加します。dom0のメモリ量の設定について詳しくは、CTX134951 - How to Configure dom0 Memory in XenServer 6.1.0 and Laterを参照してください。
5.6.3. IntelliCacheとの⽐較
IntelliCacheおよびメモリベースの読み取りキャッシュは、ある意味において相補的で
す。IntelliCacheは、別の階層でキャッシュするだけではなく、読み取りおよび書き込みの両⽅を キャッシュします。主な相違点は、IntelliCacheがネットワークからの読み取りをローカルディスク にキャッシュするのに対して、インメモリ読み取りキャッシュはネットワークまたはディスクからの 読み取りをホストメモリにキャッシュする点です。インメモリ読み取りキャッシュの利点は、メモリ の⽅がSolid-State Disk(SSD)よりも速度が10倍速いということです。このため、ブートストーム や負荷の⾼いI/O処理の状況でも、パフォーマンスが向上する可能性があります。
読み取りキャッシュとIntelliCacheは、同時に有効にすることができます。この場合、ネットワーク からの読み取りをIntelliCacheがローカルディスクにキャッシュし、そのローカルディスクからの読 み取りを読み取りキャッシュがメモリにキャッシュします。
5.6.4. 読み取りキャッシュサイズを設定するには
読み取りキャッシュのパフォーマンスを最適化するには、XenServerのコントロールドメイン
(dom0)のメモリ量を増やします。
重要︓
この場合、読み取りキャッシュサイズは、プール内のすべてのホストで個別に設定 する必要があります。読み取りキャッシュサイズに変更を加える場合は、プール内 のすべてのホストに対して設定する必要があります。
XenServerホストのローカルシェルを開き、ルートユーザーとしてログオンします。
読み取りキャッシュサイズを設定するには、次のコマンドを実⾏します。
/opt/xensource/libexec/xen-cmdline --set-xen dom0_mem=<nn>M,max:<nn>M
初期値と最⼤値は、同じ値に設定する必要があります。たとえば、dom0のメモリを2048MBに設定 します。
/opt/xensource/libexec/xen-cmdline --set-xen dom0_mem=20480M,max:20480M 重要︓
読み取りキャッシュサイズに変更を加えたら、すべてのホストを再起動します。
5.6.4.1. 現在のdom0のメモリ割り当てを表⽰する
現在のdom0のメモリ設定を表⽰するには、次のように⼊⼒します。
free -m
free -m
の出⼒は、現在のdom0のメモリ設定を⽰しています。この値は、さまざまなオーバーヘッ ドにより想定された値よりも⼩さくなっている場合があります。次の表は、dom0を752MBに設定 した場合のホストの出⼒例です。合計 使⽤ 空き 共有 バッファ キャッシュ
Mem 594 486 108 0 149 78
-/+buffers/
cache
258 336
Swap 511 49 462