Uli*_*Uli 23 ssd dm-cache flashcache bcache enhanceio
似乎有各种不同的技术可以使用 SSD 作为 HHD 的缓存。我所知道的:
各种实现中是否有任何值得注意的差异?哪一种最适合常规台式电脑使用 - 以提高网络浏览器或游戏等常用程序的性能?
Mit*_*tch 14
我真的不知道从哪里开始,因为所有这些都是很好的信息。我将从一些关于 SSD 的信息开始,然后描述所有不同的缓存方法,然后从那里开始。我希望你
优点缺点
最好有一个混合系统,两全其美(容量、可靠性、速度等)
Linux 3.9 内核(于 2013 年 4 月 28 日推出)引入了 SSD 缓存。内核的设备映射器现在包括一个名为 dm-cache 的缓存目标,它使 SSD 或其他存储设备能够用作硬盘驱动器的缓存。它本质上加快了数据写入和读取的速度,因为它允许更快的 SSD 首先缓存数据,然后将其传输到速度较慢的硬盘驱动器。
资料来源:伊万
Flashcache 是最初由 Facebook(Mohan Srinivasan、Paul Saab 和 Vadim Tkachenko)于 2010 年 4 月编写和发布的模块。它是一个内核模块,允许在另一个驱动器上的一个驱动器进行 Writethrough 缓存。出于性能原因,这最常用于在较小的固态驱动器上缓存旋转驱动器。这为您提供了 SSD 的速度和最近缓存文件的标准旋转驱动器的大小。FlashCache 是 Linux 的通用写回块缓存。
来源:ArchLinux
Bcache 是 Linux 内核块层缓存。它允许一个或多个快速磁盘驱动器(例如基于闪存的固态驱动器 (SSD))充当一个或多个较慢硬盘驱动器的缓存。
硬盘既便宜又大,SSD 速度快但又小又贵。如果您可以透明地获得两者的优势,那不是很好吗?使用 Bcache,您可以吃蛋糕也可以吃。
Linux 内核的 Bcache 补丁允许使用 SSD 来缓存其他块设备。它类似于 ZFS 的 L2Arc,但 Bcache 也进行回写缓存(除了通过缓存写入),并且它与文件系统无关。它旨在以最少的努力开启,并且无需对任何设置进行配置即可正常工作。默认情况下,它不会缓存顺序 IO,只会缓存 SSD 擅长的随机读取和写入。它旨在适用于台式机、服务器、高端存储阵列,甚至可能适用于嵌入式。
设计目标是在误差范围内与 SSD 和缓存设备(取决于缓存命中与未命中、直写与回写写入)一样快。它还没有完全到位,主要用于顺序读取。但测试表明,这绝对是可能的,甚至在某些情况下做得更好——主要是随机写入。
来源:Bcache
Bcache 有一个很大的缺点,它会从系统中占用内存来实现缓存。
EnhanceIO 是一种在应用程序层下运行的解决方案,使应用程序能够利用 SSD 的性能优势,而无需对 IT 基础架构进行重大更改。SSD 缓存可以产生从 HDD 切换到 SSD 的大部分好处,而成本只是全 SSD 系统的一小部分。缓存系统的运行功耗通常低于具有类似性能的基于 HDD 的系统,这通过降低冷却要求创造了附带好处。
SSD 缓存还可以通过增量投资来提高性能以满足不断增长的需求,而不是通过对现有系统进行大规模升级/更换,从而延长现有系统的使用寿命。
缓存还支持更快地访问数据,而无需额外的存储管理开销来获取和安装新磁盘架、配置新 LUN 以及将数据迁移到新 LUN。缓存几乎是透明的,几乎不需要停机时间。EnhanceIO 基于 Flashcache。
资料来源:Stec-Inc
bcache 是最没有价值的,因为它需要专门准备(格式化)的数据分区。这使得很难(如果可能)将缓存附加到包含数据的现有分区,因为需要 200% 的容量并执行长时间的数据移动以激活/停用缓存。
EnhanceIO 的优点在于它根本不需要中间设备,即使设备已经安装,也可以即时连接到任何块设备。另一个非常酷的事情是,您不仅可以将 EnhanceIO 缓存附加到分区,还可以附加到分区的块设备以一次缓存其所有分区。就像 flashcache enchanceio 模块是用 DKMS 构建的,可以与旧内核一起使用。
来源:Debian
DM缓存优势
DM 缓存使用简化的架构,这使它们具有适应性和易于定制的特点。用户可以根据需要处理的数据量或数据值来调整块大小和缓存容量。如果特定应用程序需要按顺序存储大量数据,用户可以为此配置缓存。如果用户想与缓存同时在数据库中记录信息,这不会干扰缓存的操作。
DM 缓存缺点
使用 DM 缓存的一个缺点是 Linux 操作系统用于存储元数据的空间有限。如果缓存很大,并且包含很多小块,那么存储信息的元数据就加起来了。为了解决这个问题,用户必须增加块大小。另一个可能的问题是,在服务器崩溃后,缓存元数据可能不再与缓存内容匹配,尽管最终有可能恢复正确的配置。
资料来源:弗雷泽谢尔曼的补充
所以从上面的信息来看,很明显 EnhanceIO 是要走的路,但在我看来,由于它基于 Flashcache,我会选择 Flash 缓存。但在做出最终决定之前,我肯定会尝试两者。
| 归档时间: |
|
| 查看次数: |
10894 次 |
| 最近记录: |