我有三个磁盘:
/dev/sda 慢速硬盘 /dev/sdb 慢速硬盘 /dev/sdc fast ssd /dev/vg0 卷组/dev/sd{a,b,c} 每个逻辑卷(lv)应该被raid1镜像和ssdcaching。
使用以下命令,我可以在vg0上创build一个名为test的镜像raid1 lv。
lvcreate --type raid1 -m 1 -L 1G -n test vg0
@hdd, @ssd )吗? 基于lvmcache手册页 ,看起来好像caching完全是一个逻辑卷的事情,而不是你可以在卷组级别上实现的东西。 看起来很烦人,不能caching整个VG,但这似乎是一个架构限制。
关于强制仅使用特定的PV创buildLV,可以在lvcreate命令的末尾指定PV。
以下是手册页中的摘要,删除了无关的选项:
lvcreate <...> [VolumeGroup{Name|Path} [/ExternalOrigin | Origin | Pool}LogicalVolumeName] [PhysicalVolumePath[:PE[-PE]]...]
我想很多人都很想念这个故事,因为这个故事大概是“涉及到的”。 但是,创buildcaching时,此function实际上是必需的,因为您需要能够将cachingLV强制置于SSD PV上。
旁注: 快速search显示,LVM镜像通常被认为比Linux软件RAID慢得多。 但我认为你可以通过一些调整来恢复一些失去的性能。
一个有趣的项目是bcache: https ://bcache.evilpiepirate.org/
使用bcache,您可以将ssd设置为缓慢(旋转)更大的磁盘的快速caching。 通过这种方式,访问最多的块将从较快的ssd读取(并且如果这样configuration则写入),同时在较慢的磁盘上保留较大的文件系统。