LVMCache:为什么使用缓存池而不是缓存卷?

LVMCache:为什么使用缓存池而不是缓存卷?

我知道 acachepool和之间的区别cachevol

Cachepool将缓存数据和元数据分成两个单独的卷,而 aCachevol对两者使用单个卷。

cachepool我的问题是,使用 a而不是仅使用 a有什么好处cachevol?我能想到的唯一最有意义的情况是,如果您想将单个设备(或一组设备)专用于缓存的元数据,并将一个单独的设备(或一组设备)用于实际缓存数据。但这似乎是一个非常具体的场景,而且它也没有解决以下问题:Why?

为什么大多数人默认使用 acachepool而不是 a cachevol,尤其是。当一台设备用于缓存时?

cachepool使用vs 的动机/利弊是什么cachevol

编辑就上下文而言,这个问题背后的动机来自于cachepool保守设置(如家庭服务器和台式机)中使用的假设,仅仅是因为人们遵循的指南和教程是从企业用例中汲取的。

除了工具支持之外,并且仅基于cachepoolvs的优点cachevol,是否有任何具体原因(性能、实施等...)来激励人们提倡cachepool呢?或者它只是企业涓滴现象的受害者?

如果后者是正确的,那么考虑更保守的设置可能是合理的,cachevol而不是考虑cachepool是否不需要cachepool设置的灵活性和复杂性。

答案1

使用cachepool而不是cachevol的具体原因是,截至2024年初,dm-cache的维护工具不理解cachevol。lvconvert --repair在损坏的cachevol上将打印一条奇怪的错误消息,说明不知道如何处理“线性”LV,以及来自的较低级程序自动精简配置工具坚持提供单独的数据和元数据设备。

答案2

从我有限的角度来看,确实没有理由让每个人都使用cachepool,这是盲目遵循企业教程的结果。

除了使用单独的物理驱动器存储元数据和单独的物理驱动器存储数据之外,为了提高吞吐量,我找不到使用cachepool.如果您仅使用单个 SSD 进行缓存(我认为这是绝大多数桌面用户),那么 a 似乎cachevol就足够了。

而且,它有可能最大化您的缓存能力。您可以将其留给 LVM 并将整个设备分配为cachevol.

似乎唯一的原因cachepool是使用两个或更多 SSD 进行缓存。

相关内容