我已经将实时系统中的硬盘克隆(使用 dd)到多个备份硬盘上。实时系统中的根分区是一个 LVM 卷。备份副本旨在替代原始副本,这意味着它们需要与主副本具有相同的 UUID。
快速提问:是否可以在实时系统上安装其中一个备份 HD?当我尝试这样做时,由于相同的 UUID 和卷组名称,LVM 对此感到困惑是可以理解的。按照 [this answer][1] 中的提示首先重命名原始 LVM 组,我尝试过:
将外部备份硬盘连接到 USB 端口
正在运行(请注意,字符串“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/
根本不存在,因此我无法按照 lvdisplay 的建议访问/dev/test/root
逻辑卷/dev/test/swap_1
。
如果你想从克隆磁盘挂载 lv,我在这里找到了这个有用的方法http://www.linuxquestions.org/questions/linux-hardware-18/unable-to-change-uuid-of-cloned-drive-设备左开 4175470893/
sdx,sdy.. 是组成 vg 的克隆磁盘。
在此之后,您应该能够从克隆的磁盘上挂载 lvs。
trekkerboy / modonnell @linuxquestions 的回答是最直接的,使用
vgimportclone
.另请注意,在您创建克隆之后,您必须使用 激活它
vgchange -a y newvgname
,并且您必须使用 清理 oldvgname 的设备节点dmsetup remove /dev/oldvgname/*
。作为参考,下面是一种更手动的方法,它显然类似于可以在
vgimportclone
.如果您能够首先暂时停用对原始副本的管理,则可以这样做,方法是将与原始副本匹配的模式添加到 中的
devices
过滤器中lvm.conf
。例如,如果克隆/dev/sdx
到/dev/sdy
,则必须临时添加/dev/sdx
到节filter
内devices { ... }
。原始设备将保持在线,但 LVM 工具将忽略它们。在它们上面挂载的文件系统将保持挂载和运行状态,这与 LVM 管理没有紧密耦合。
过滤器到位后,执行新的
vgscan
, 以确保重复项并且只有它们现在处于 LVM 管理之下。您可以确保/dev/sdy
通过 eg 看到重复的设备pvs
。然后做:
这将停用名为 的卷组
originalvgname
,但是因为只有重复的设备可见,所以它会在它们上停用它(originalvgname
由于上面的过滤器,原始设备已经不可见)。此步骤是必需的,这样您就可以自由更改现在不活动的卷组及其组成物理卷的属性。这将为重复项提供新的 UUID。
这将重命名复制的卷组。
之后,您可以删除过滤器
lvm.conf
并再次重新扫描,两组 LVM 设备都将可见,但名称和 UUID 不同。或者,如果您实际上对保留原始 VG 名称和 PV/VG UUID 不感兴趣,则可以处理它们,而不是 cf。https://superuser.com/questions/256061/lvm-and-cloning-hds
我昨天刚遇到这个问题。我在 Linux 上有 filesystem(LVM(MD(sda, sdb, sdc-syncing-only-weekly-basis))) 配置,需要访问 sdc 上的旧数据。
我通过将备份磁盘 (sdc) 附加到 VM 在某种程度上解决了这个问题。这是一个安全的操作,只要我用“qemu ... -drive file=/dev/sdc,readonly”附加磁盘(或使用快照选项进行写时复制配置)。
UUID 的全部意义在于唯一地标识某些东西,而您正在尝试做的事情使它们变得不唯一。我非常怀疑这是可能的。我
pvchange -u
试过更改复制 PV 的 UUID,但操作总是失败。如果你真的需要在活动主机上挂载备份,我建议你单独备份 LV(即在备份设备上创建一个新的 PV、VG 和 LV,并分别 dd 每个 LV)。