18.5.5. 仮想ディスクキャッシュの設定
集中的な入出力 I/O ワークロードがある場合は、最適なキャッシュモードを選択すると、仮想マシン (VM) のパフォーマンスが大幅に向上します。
KVM ハイパーバイザーは、いくつかの仮想ディスクキャッシュモードを提供します。
writethrough- ホストのページキャッシュが読み取り専用として使用されます。データがストレージデバイスにコミットされた場合にのみ、書き込みが完了したと報告されます。このモードでは、持続的な IO パフォーマンスは低下しますが、書き込みが十分に保証されます。
writeback-
ホストのページキャッシュが読み取りと書き込みの両方に使用されます。データが物理ストレージではなくホストのメモリーキャッシュに到達したときに、書き込みが完了したと報告されます。このモードは
writethroughよりも IO パフォーマンスが高速ですが、ホスト障害時にデータが失われる可能性があります。 none- ホストのページキャッシュが完全に回避されます。このモードは物理ディスクの書き込みキューに直接依存します。そのため、予測可能な持続的な IO パフォーマンスが得られ、安定したゲスト上で書き込みが十分に保証されます。これは、仮想マシンライブマイグレーションのための安全なキャッシュモードでもあります。
手順
- 選択した仮想マシンが実行中の場合はシャットダウンします。
選択した仮想マシンの XML 設定を編集します。
# virsh edit <vm_name>ディスクデバイスを見つけて、
driverタグのcacheオプションを編集します。<domain type='kvm'> <name>testguest1</name> ... <devices> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='none' io='native' iothread='1'/> <source file='/var/lib/libvirt/images/test-disk.raw'/> <target dev='vda' bus='virtio'/> <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/> </disk> ... </devices> ... </domain>