是否有可能同时安装2个LVM卷(相同的UUID)?

我已经(使用dd)将现场系统中的硬盘克隆到多个备份硬盘上。 实时系统中的根分区是一个LVM卷。 备份副本旨在作为原始插件replace,这意味着他们需要具有与主站相同的UUID。

快速的问题:是否有可能在实时系统上安装一个备份硬盘? 当我尝试这样做时,由于相同的UUID和卷组名称,LVM可以理解为此困惑。 在[本答案] [1]中发现的提示首先重命名原来的LVM组,我试过了:

  1. 将外部备份HD连接到USB端口

  2. 运行(注意string“test”是这个系统上的组名)

# vgrename test test-live Volume group "test" successfully renamed to "test-live" vgscan --mknodes Reading all physical volumes. This may take a while... Found duplicate PV qWUadGaM2MU1UAJ5Spp8upD6fbddk7Zb: using /dev/dm-3 not /dev/dm-0 Found volume group "test" using metadata type lvm2 # vgchange -ay Found duplicate PV qWUadGaM2MU1UAJ5Spp8upD6fbddk7Zb: using /dev/dm-3 not /dev/dm-0 2 logical volume(s) in volume group "test" now active 

在这一点上,我预料会能够访问/dev/test/下的单个逻辑卷。 运行lvdisplay产生。

 Found duplicate PV qWUadGaM2MU1UAJ5Spp8upD6fbddk7Zb: using /dev/dm-3 not /dev/dm-0 --- Logical volume --- LV Name /dev/test/root VG Name test LV UUID UuKUH3-yzPo-CbOz-tU4B-W6om-qdMn-0XSNZU LV Write Access read/write LV Status available # open 1 LV Size 126.48 GiB Current LE 32378 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 252:1 --- Logical volume --- LV Name /dev/test/swap_1 VG Name test LV UUID OGJhJu-QByo-6AzG-sk1x-jh3e-dU9L-sHk91t LV Write Access read/write LV Status available # open 2 LV Size 3.90 GiB Current LE 999 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 252:2 

但是, /dev/test/完全不存在,因此我无法像lvdisplaybuild议的那样访问/dev/test/root/dev/test/swap_1中的逻辑卷。

UUID的全部重点是唯一标识一些东西,而你想要做的事情使得它们不是唯一的。 我非常怀疑这是可能的。 我使用pvchange -u来改变重复PV的UUID,但操作总是失败。

如果你真的需要在现场主机上安装备份,我build议你单独备份LV(即在备份设备上创build一个新的PV,VG和LV,并分别对每个LV进行DD操作)。

如果你想从一个克隆磁盘挂载lv,我在这里find了这个有用的方法:http://www.linuxquestions.org/questions/linux-hardware-18/unable-to-change-uuid-of-cloned-drive-设备左开4175470893 /

 vgimportclone -n orignalvgname_clone /dev/sdx [/dev/sdy....] 

sdx,sdy ..是组成vg的克隆磁盘。

 vgchange -ay orignalvgname_clone 

在此之后,您应该能够从克隆的磁盘上挂载lvs。

trekkerboy / modonnell @ linuxquestions的答案是最直接的,使用vgimportclone

还要注意,创build克隆后,必须使用vgchange -ay newvgname激活它,并且必须使用dmsetup remove /dev/oldvgname/* oldvgname的设备节点。

作为参考,接下来是一个更手动的方法,它显然类似于vgimportclone源代码中的一个子集。


如果您能够通过在lvm.confdevicesfilter中添加与原始文件相匹配的模式,暂时停用原始副本的pipe理,则可以执行此操作。 例如,如果将/dev/sdx克隆到/dev/sdy ,则必须临时将/dev/sdx添加到devices { ... }部分的filter中。

原始设备将保持联机,但LVM工具将忽略它们。 在它们上面挂载的文件系统将保持安装并运行,这与LVMpipe理不紧密结合。

filter到位后,执行新的vgscan ,以确保重复项,并且只有它们在LVMpipe理下。 你可以确保你通过例如pvs看到重复的/dev/sdy设备。

然后做:

 vgchange -an originalvgname 

这将closures名为originalvgname的卷组,但是因为只有重复的设备可见,所以会停用它(由于上面的filter,原始的originalvgname已经不可见)。 这一步是必要的,以便您可以随意更改现在不活动的卷组及其组成物理卷的属性。

 pvchange -u physicaldevice vgchange -u originalvgname 

这将给重复的新的UUID。

 vgrename originalvgname newvgname 

这将重命名重复的卷组。

之后,您可以从lvm.conf删除filter并重新扫描,并且在不同的名称和UUID下,这两组LVM设备都将可见。

另外,如果你对保持原始的VG名字和PV / VG UUID没有真正的兴趣,你可以把它们处理掉。 https://superuser.com/questions/256061/lvm-and-cloning-hds

我昨天才遇到这个问题。 我在Linux上有文件系统(LVM(MD(sda,sdb,sdc-syncing-only-weekly-based))))configuration,需要访问sdc上的旧数据。

通过将备份磁盘(sdc)连接到虚拟机,我有点解决了这个问题。 只要我用“qemu … -drive file = / dev / sdc,只读”(或使用写入时复制configuration的快照选项)附加磁盘,这是安全的操作。