Proxmox 中恢复 .raw 文件并挂载为 LVM 分区
背景
PVE 迁移时将 VM 磁盘导出为了 .raw 格式的文件,后续需要将 .raw 文件重新导入进新的 VM 作为磁盘。
由于此前的 VM 是采用了 LVM 分区的 Debian, 所以相比直接挂载 .raw 文件需要一些额外操作。
具体操作步骤:
- 准备一个能正常启动的 Debian VM。在宿主机上操作将 .raw 文件导入 VM。
$ qm importdisk 102 debian-disk.raw local-lvm --format raw
- 在 web-ui 中将
未使用磁盘
挂载成磁盘。此处我选择的格式是virtio
。 - 启动 VM 并建立 ssh 连接。由于原磁盘用的是 LVM 分区,直接挂载会报如下错误。需要挂载的是 logical volume。
mount: unknown filesystem type 'LVM2_member'
首先检查可用的 Volume Group.此处我需要挂载的是
debian-vg
。$ sudo pvs PV VG Fmt Attr PSize PFree /dev/vda5 debian-wan1-vg lvm2 a-- <7.52g 0 /dev/vdd3 debian-vg lvm2 a-- 2.00g 0 /dev/vdd4 debian-vg lvm2 a-- <2.00g 0 /dev/vdd5 debian-vg lvm2 a-- <26.76g 0
激活需要挂载的 Volume Group.
$ vgchange -ay debian-vg # 取消激活: vgchange -an your_volume_group
查看目标 Volume Group 中可用的 Logical Volume 的路径。
$ sudo lvdisplay --- Logical volume --- LV Path /dev/debian-vg/root LV Name root VG Name debian-vg LV UUID MUiJkV-4Ocs-eRmG-p4z3-JHm4-F0bG-elraS1 LV Write Access read/write LV Creation host, time debian, 2020-07-03 23:01:13 +0800 LV Status available # open 1 LV Size <30.26 GiB Current LE 7746 Segments 4 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:2
- 挂载目标 Logical Volume 即可看到原磁盘中的文件。
Credit: https://www.xmodulo.com/mount-lvm-partition-linux.html$ mkdir /mnt/old_disk $ mount /dev/debian-vg/root /mnt/old_disk $ ls /mnt/old_disk