KVM guest caching modes

kvm中host和guest各自维护自己的page caches,使得内存中有两份缓存数据。host的缓存为page cache可以理解为读缓存,guest的缓存为disk write cache,可以理解为写缓存,前者优化读性能,后者优化写性能。如果disk write cache开启,那么一旦数据存在disk write cache中,写操作认为已经完成,即使真正的数据尚未在物理磁盘上。因此如果掉电,则存在数据丢失风险,数据完整性得不到保障。除非用户手动指定fsync(同步内存中所有已修改的文件数据到储存设备),或者disk wriet cache中的内容发生了变化,才会把数据写到物理磁盘上。

kvm/qemu支持以下缓存模式:

1.writethrough

qemu-kvm1.2版本下为默认缓存模式,the host page cache is enabled, but the disk write cache is disabled,数据完整性得到保障(不经过写缓存,而是直接写到物理磁盘),读操作性能较好,写操作性能较差。

2.writeback

qemu-kvm1.2版本以上为默认缓存模式,both the host page cache and the disk write cache are enabled,读写操作性能都很优异,唯一的缺点就是写操作的数据掉电可能丢失,无法保证数据完整性。

3.none

the host page cache is disabled, but the disk write cache is enabled. 读操作性能较差,写操作性能较好,同样数据完整性得不到保障。

4.unsafe

Caching mode of unsafe ignores cache transfer operations completely. 应该是guest发出的刷新缓存指令被忽视,意味着以牺牲数据的完整性来换取性能的提升。

5.directsync

两种缓存均关闭,读写操作性能较差。

cache modehost page cachedisk write cache
writethroughonoff
writebackonon
noneoffon
unsafeonignore
directsyncoffoff

reference:

https://www.suse.com/documentation/sles11/book_kvm/data/sect1_1_chapter_book_kvm.html

http://www.bubuko.com/infodetail-1070877.html

http://blog.chinaunix.net/uid-26000137-id-3957726.html

http://www-01.ibm.com/support/knowledgecenter/linuxonibm/liaat/liaatbpkvmguestcache.htm

http://blog.csdn.net/jollyjumper/article/details/12374415

转载于:https://www.cnblogs.com/lunachy/p/5051398.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值