将LVM与SSD和SATA驱动器一起使用


22

我在这个问题中看到,可以将SSD和标准SATA硬盘都放入单个LVM卷组(VG)中。

这如何影响性能?

当数据在单个卷组中的SATA驱动器上时,是否有办法将操作系统强制在SSD上?

关于将LVM与不同类型的驱动器一起使用是否有很好的白皮书?

为每种驱动器类型和/或速度创建一个VG是否有益?我当时正在考虑为SSD创建一个VG,为SATA创建一个(以及将来可能会添加的每种驱动器类型)。



我的直觉是,将SSD和常规硬盘放在同一卷组中将是一个非常糟糕的主意。
萨米(Samiam)2014年

@samiam是我最初的想法。我不确定是否有办法告诉LVM总是将数据往返于这样的目录中并放置到sda中,并始终将数据放置到sdb中的另一个目录中。
尼克

@Graeme谈到了很多性能,但是我没有看到与跨越不同磁盘类型相关的任何内容,而这正是我主要关心的问题。如果我错过了什么,请指出。
尼克

尼克:我无法从我的头顶回答有关LVM,但是,是的,它可以建立/etc/fstab,使/上一个SSD,但低于什么/home是传统的硬盘上。这在安装任何现代Linux系统时通常是一个选项(/home当选择某种形式的“高级选项”时将是“挂载点”)
samiam 2014年

Answers:


8

LVM不能区分快磁盘和慢磁盘。将这些磁盘放在一个LVM卷组中似乎不是一个好主意。

除此之外,将/tmp目录挂载到SSD上总是很有好处的,这可以极大地提高速度,特别是对于像编译这样使用它的应用程序。


4
穿上/tmptmpfs。更高的性能,更少的SSD(或硬盘)磨损。SSD的读取速度非常快,因此它对于读取次数比写入次数更多的数据很有用。
吉尔斯(Gilles)'“ SO-别再邪恶了”

发现此漏洞是一个漏洞,许多发行版都没有提供此漏洞。


5
嗯 我通常希望/tmp重新启动时清除其中的文件-如果要保留它们,那就是/var/tmp目的。我已经/tmp在许多机器上使用tmpfs 多年了,并且从来没有接近用完交换空间,而且我在中没有非典型的少量数据/tmp,所以这种说法是虚假的。无论如何,这都不是漏洞 -这个词意味着安全问题。
吉尔斯(Gilles)'所以

1
看来您没有任何不良用户可以服务。如果您不想将其称为漏洞,则将其称为有害的,在任何情况下都不建议这样做,除非您知道自己在做什么。

8

在最新的LVM版本中,您可以在HDD上创建一个“原始” LV,在SSD上创建一个“缓存池” LV,然后将其组合为一个“缓存” LV。它具有与“原始” LV相同的大小(即,您仅获得与HDD上一样大的空间),但是经常使用的块和元数据被缓存在SSD上以提高性能。

要点是,假设您已经具有跨两个驱动器的VG:

lvcreate -l 100%PVS -n your_name YourVG /dev/YourHDD
lvcreate --type cache-pool -l 100%PVS -n your_name_cache YourVG /dev/YourSSD
lvconvert --type cache --cachepool YourVG/your_name_cache YourVG/your_name

之后,您将拥有一个your_name可以像其他任何LV一样使用的LV,以及可以看到的多个内部LV lvs -a YourVG

例如,我使用以下命令跨SSD分区(/dev/sda3)和HDD分区(/dev/sdb1)设置了加密的根文件系统:

pvcreate /dev/sda3 /dev/sdb1
vgcreate RootVG /dev/sda3 /dev/sdb1
lvcreate -l 100%PVS -n cryptroot RootVG /dev/sdb1
lvcreate --type cache-pool -l 100%PVS -n cryptroot_cache RootVG /dev/sda3
lvconvert --type cache --cachepool RootVG/cryptroot_cache RootVG/cryptroot
cryptsetup luksFormat --type luks2 /dev/RootVG/cryptroot

您可以在此博客帖子这篇博客中找到更多详细信息。(第一个是我用作参考的,也被用作LVM Wikipedia文章的参考;第二个是我的,描述了我如何在实践中使用它。自己确定要信任的那个😉)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.