关于这一点,我有以下问题:
>这甚至会起作用吗? flashcache适用于块设备,但这些都是具有自己设置的虚拟机.
>我期望提高性能多少钱?大多数虚拟机运行网站和一些主机游戏.
> SSD需要多大?拥有更大的SSD会增加性能,因为它能够缓存更多文件吗?
>如果SSD死了怎么办? flashcache会从传统硬盘中检索文件,我可以简单地更换SSD吗?
>与writethrough和writearound相比,回写的速度会快多少?
遗憾的是我无法访问测试系统,所以我可以在没有卸载磁盘的情况下在实时服务器上安装flashcache吗?我找到了一个很棒的教程here,我将使用它.
Will this even work?
这应该. Linux块缓存通过缓存访问的块而不是文件来工作.只要您没有让KVM机器直接访问块设备(您不是),Linux Block Cache就会发挥作用.但是,如果你给KVM机器直接阻止设备访问,那么答案就不那么明确了.
如果您使用的是LV支持的虚拟磁盘,我不知道.
How much would I expect to increase performance?
这是我们无法回答的问题.这取决于各种各样的事情.在摘要中,您将获得最佳性能,以便将SSD的大小调整为大于活动块的大小.如果您获得完美的缓存,您的性能将类似于在SSD上运行整个系统.你将有效地做什么.
How big does the SSD needs to be?
找出你需要的确切尺寸是我们无法帮助的.显然,越多越好,但找到cache-SSD和主存储之间的确切比例并不是一件简单的事情.
使这一点复杂化的是立即刷新的写入,例如某些文件系统操作和某些数据库配置.这些写入只会被简单地缓存,并且它们的性能不会受到flashcache存在与否的任何影响.
What happens if the SSD dies?
当你告诉Linux drop-caches但有一点麻烦时,会发生同样的事情.使用drop-caches,块缓存中的任何未刷新的写入都将刷新到磁盘. SSD消失后会发生什么取决于caching mode:
Writethrough:所有写入都被并行写入缓存和主存储,因此突然SSD丢失导致VM出错的可能性非常小.
写入:所有写入都写入主存储,只在读取时缓存.虚拟机中没有错误的可能性.
回写:所有写入首先进入缓存,并在后台写入主存储.如果SSD出现故障,最有可能导致VM出错的地方,我不会在生产中使用此模式.
How much faster would writeback be in comparison with writethrough and writearound?
取决于你正在做多少写作.如果您的写入周期性地使您的主存储饱和,则性能提升可能相当显着.如果你大部分时间都在阅读,你就不会注意到改进.
此外,回写对于您正在做的事情是一个糟糕的政策,所以不要使用它.