linux LVM镜像与MD镜像


11

我想我记得几年前使用LVM制作了一些镜像,而且我也不记得这个“日志”的东西。或者,也许我使用mdadm制作了镜像并将LVM放在顶部。一定是这样。

  1. 如果LVM日志只是镜像,该怎么办?那里存储了什么?目的是什么?使用“ --mirrorlog核心”不好吗?缺点是什么?如果不需要,我不需要为日志分配另一个分区。

  2. 关于使用这两种技术的任何建议?即使我使用mdadm制作镜像,也要在其上使用LVM。因此,在那种情况下,也许最好是用LVM构建整个设置……?这会对性能造成更大的影响还是更少?

磁盘用于存储Xen domU“磁盘”。

对复杂的非重点“问题”感到抱歉。

欢迎提出想法,建议和链接。谢谢!


与lvm相比,md对于镜像操作似乎表现更好。参见serverfault.com/questions/80134/linux-md-vs-lvm-performance
Zoredache

1
LVM镜像的目的是不同的。尽管您可以使用它来“镜像” MD的方式,但实际上它是用于克隆卷的。请参阅serverfault.com/questions/97845/lvm-mirroring-vs-raid1
艾利·佩恩

1
如果要用于克隆,那么为什么需要三个卷?
d -_- b 2010年

Answers:


9

我个人总是去MD + LVM。它速度更快(MD可以在RAID1中进行并行读取),并且仅需要2个磁盘(如果您不想在每次重新启动后重建镜像),而MD的设计只是为了进行RAID,它做得很好。它也更加灵活。

我也被LVM烧死了。在一种情况下,这是HP-UX上的LVM条带化(在Linux中不应该在LVM2上发生),并且我无法扩展LV,因为扩展名必须具有完全相同的条带数。似乎合理,但有时...

还有一次是使用镜像(这次是Linux中的LVM2),但是现在我不记得LVM是拒绝为镜像的LV拍摄快照还是对其进行扩展,从而实际上抵消了拥有LVM的好处(我们做到了)最后,但涉及来回使用lvconvert)。


谢谢!我想我将在MD之上使用LVM。MD的自动检测似乎存在一些问题。(raid.wiki.kernel.org/index.php/RAID_Boot)我有点想镜像我的整个系统(交换,引导,/,var,home,usr)。因此,除了自动检测之外,我还需要研究其他问题。
d -_- b

是的,原则上自动检测是一个不错的主意,但它带来了各种各样的麻烦。我已经设置了iSCSI + multipath + MD + LVM ...,自动检测很有趣,但是在这种情况下没有用。
Dan Andreatta 2010年

4

当镜像对突然关闭时,在任何系统中,可能有一些块已写入一个设备,但尚未写入另一设备。可以想像,通过对IO路径进行重新排序,有一些块已写入A,但尚未写入B,有些已写入B,但尚未写入A。

机器重新启动时,需要使设备保持一致。仅仅拥有两个设备是不够的:它不知道哪个块不一致,也不知道哪个版本是最新的。

因此,镜像软件需要存储一些元数据来对此进行跟踪。这称为“写意图日志”。

md通常将其存储在设备本身内部的某些保留空间中,尽管您也可以选择将其存储在单独的设备上。(这是md镜像比基本设备略小的原因之一。

LVM镜像只能在外部存储扩展日志,正如您所注意到的,这对于您只有两个物理磁盘的典型情况有些烦人。我相信您仍然可以选择将其存储在同一物理设备上的不同分区上,但这仍然很不方便。

据我了解,LVM镜像日志的目的是跟踪已写入一个设备但尚未写入另一设备的块。


2

这是两个不同的概念:

  • LVM顾名思义就是用于卷管理。可以将其视为将多个卷组合为一个的机制(是的,可以说它就像raid0),调整它们的大小,实时调整大小,创建快照。
  • MD用于RAID管理。将多个设备添加到一个元设备中,使用raid1、5、10等使该元设备高度可用...

LVM在元设备或RAID控制器提供的设备(或仅普通磁盘)上的存储设备上运行。

MD在磁盘上运行(是的,您也可以使用RAID控制器提供的磁盘,但是有什么意义呢?

LVM不能使您的存储高度可用。同样,MD也不适用于卷管理...

希望这可以帮助 :)


1
我明白他们是什么。但是,如果您阅读lvcreate的手册页,它说它可以创建镜像。我想这现在有点玩具吗?
d -_- b

1
恕我直言 至少目前我看不出有什么用。它不仅是卷(而不是设备)级别上的镜像,还有点“有趣”如何创建它,例如,如果您需要2路镜像(如原始+副本),则需要3个卷-每个卷一个镜像端+日志量。但话又说回来-恕我直言 :)
rytis

1

LVM来自其他UNIX系统类型。10年前,我在没有Linux的MD层的HPUX上使用了它,现在还不确定。在那些情况下,LVM镜像在硬件RAID不可用的情况下变得很有用。


我只是发现LVM镜像需要一个以上的卷很奇怪。那是什么样的镜子?
d -_- b

1
@toor第三个卷用于存储镜像的预写日志,基本上可以跟踪突然停止后需要重新同步的内容。在MD上,通常将其存储在两个磁盘的保留部分中。
poolie 2012年

1

如果具有-mirrorlog镜像和-alloc Anywhere选项,并且具有两个磁盘,您将获得两个4M镜像日志,每个磁盘上一个。我很恼火,因为在最常见的情况下我必须重写该策略,但是哦。

Linux上的LVM与HP-UX或AIX上的事物无关,只是具有相同的用户空间命令。Linux上的LVM内部使用DM系统,因此使用与MD相同的所有代码。在这一点上,我认为LVM与MD相比没有优势。对于您想要快速且不关心备份的分区(例如,来宾VM的交换分区),LVM可以让您选择是否要进行镜像,或者是否要进行剥离。

并且,将磁盘添加到LVM比MD更加容易。

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.