lvm2
如果不同的池physical volumes
具有不同的速度属性,这将如何影响整个池的性能?
我首先讲的是上下文AWS/EC2
。如果我有一个physical volume
1TB(3000 IOps),另一个是 100GB(300 IOps),这会将整个 LVM 降级volume group
到只有 300 IOps 吗?
基于此回答看来 LVM 是:
实际上只是在一个相当小的表中进行表查找,块 X 实际上是设备 Z 上的块 Y。
因此,如果我写入一堆小文件,而这些小文件恰好被映射到速度更快的physical volume
驱动器上,那么整个交易一定比映射到速度较慢的驱动器上更快吗?
它一般是如何运作的?
答案1
不要这样做。性能将变得不可预测,这比速度慢更糟糕。具有相同大小和速度的 PV 更容易理解。
此外,在线性卷上,它每次将使用一个 PV。一旦扩展开始向慢速 PV 写入数据,该数据块就会变慢。
有多种方法可以在 Linux 存储堆栈上分层或缓存。例如,lvmcache 和 bcache。
全快速磁盘是最简单的,可实现一致的性能,但成本较高。