是否可以同时装入彼此完全相同的2个LVM卷(相同的UUID)?


11

我已经将live系统中的硬盘驱动器克隆(使用dd)到多个备份硬盘驱动器上。实时系统中的根分区是LVM卷。备份副本旨在替换原始副本,这意味着它们需要与主副本具有相同的UUID。

快速提问:是否可以在实时系统上挂载备份HD之一?当我尝试这样做时,由于相同的UUID和卷组名称,LVM对此感到困惑。按照[this answer] [1]中的提示首先重命名原始LVM组,我尝试过:

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

  2. 正在运行(请注意,字符串“ 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/在所有不存在,因此我不能访问逻辑卷/dev/test/root,并/dev/test/swap_1为lvdisplay命令建议。


意见征询时间:如果您有多余的磁盘,那么您真的应该考虑将它们置于RAID配置中(如果甚至使用软件RAID来节省一些钱),而不是费力地解决诸如此类的解决方案。RAID1甚至RAID5都是不错的选择。
加勒特2014年

Answers:


0

UUID的全部目的是唯一地标识某些内容,而您试图做的事情会使它们变得不唯一。我对此表示高度怀疑。我pvchange -u尝试更改重复PV的UUID,但操作始终失败。

如果确实需要在实时主机上安装备份,则建议您分别备份LV(即在备份设备上创建新的PV,VG和LV,并分别为每个LV添加dd)。


17

如果要从克隆磁盘挂载lv,我在这里http://www.linuxquestions.org/questions/linux-hardware-18/unable-to-change-uuid-of-cloned-drive-找到了这种有用的方法device-left-open-4175470893 /

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

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

vgchange -ay orignalvgname_clone

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


4
这应该是公认的答案。为我工作,谢谢!
neuviemeporte

这可以正常工作,而vgimportclone可以起到它的名字所暗示的作用。就我而言,我确实指定了所有构建磁盘的磁盘和分区,vg例如,vgimportclone -n orignalvgname_clone /dev/sdx /dev/sdx2 /dev/sdx5但显然这可能因情况而异。
Jey DWork '18

3

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

还请注意,创建克隆后,必须使用激活它vgchange -a y newvgname,并且必须使用清理oldvgname的设备节点dmsetup remove /dev/oldvgname/*

作为参考,下面是一种更为手动的方法,该方法显然类似于可以从的源中读取的内容的子集vgimportclone


如果您可以通过将与原始文件匹配的模式添加到中的devices过滤器中来首先临时停用原始副本的管理,则可以执行此操作lvm.conf。例如,如果你克隆/dev/sdx/dev/sdy,你必须暂时补充/dev/sdxfilter了内devices { ... }部分。

原始设备将保持在线状态,但是LVM工具将忽略它们。它们上已挂载的文件系统将保持挂载和运行状态,这与LVM管理并没有紧密结合。

过滤器到位后,执行一次new vgscan,以确保重复项(只有重复项)现在处于LVM管理之下。您可以通过确认看到重复的/dev/sdy设备pvs

然后做:

vgchange -a n originalvgname

这将停用名为的卷组originalvgname,但是由于只有重复的设备可见,因此它将停用它们(originalvgname由于上面的过滤器,原来的设备已不可见)。此步骤是必需的,以便您可以随后自由更改现在不活动的卷组及其组成的物理卷的属性。

pvchange -u physicaldevice
vgchange -u originalvgname

这将为重复项提供新的UUID。

vgrename originalvgname newvgname

这将重命名重复的卷组。

之后,您可以从中删除过滤器lvm.conf并再次重新扫描,这两组LVM设备都将可见,它们的名称和UUID不同。

或者,如果您实际上对保留原始VG名称和PV / VG UUID不感兴趣,则可以处置它们,请参见cf。/superuser/256061/lvm-and-cloning-hds


“原始副本”是备份副本还是备份源(实时的)?然后,您建议停用实时系统并更改其UUID,对吗?
catpnosis

1
@catpnosis备份源,但仅是其管理。一切都保持在线状态,但是LVM工具暂时停止了查看原始内容的能力。然后,LVM工具会检测到重复项,并能够重新使用它们,即更改其UUID。完成后,您就可以让他们看到所有内容,然后再进行操作,因为UUID不再冲突。
Josip Rodin

谢谢。这是有趣的方法。虽然很难理解。“这将停用重复设备上的卷组” -但是不是吗?
catpnosis

1
@catpnosis会被前面的命令vgscan自动激活,这仅意味着LVM工具在那个时间点看到重复项(而不是原始文件)。重点是,您不能同时使它们同时处于活动状态,一个或另一个都不能处于活动状态。一旦进入仅看到重复项的状态,便可以对其进行操作。
2015年

0

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

我通过将备份磁盘(sdc)附加到VM来解决了该问题。只要我使用“ qemu ... -drive file = / dev / sdc,readonly”连接磁盘(或使用快照选项进行写时复制配置),这便是安全的操作。

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.