我有一个逻辑卷作为虚拟客户操作系统的文件系统。 我很满意我的客户操作系统的状态,并想对其进行备份。 我使用lvcreate创build了一个快照,我正在尝试装载快照,以便可以将数据放在备份中。
真奇怪的是,我绝对无法安装LVM快照。
$> mount /dev/guest_images_lvm/cvfunc_vol1_ss /mnt/ops/backup/ mount: you must specify the filesystem type
使用挂载的-t参数我已经尝试过ext3和ext4文件系统types,但在每种情况下,我得到以下错误:
mount: wrong fs type, bad option, bad superblock on /dev/mapper/guest_images_lvm-cvfunc_vol1
以下是快照卷的lvs输出:
LV VG Attr LSize Origin Snap% Move Log Copy% Convert cvfunc_vol1_ss guest_images_lvm swi-a- 1.00g cvfunc_vol1 0.00
为了安装LVM快照,我需要提供哪些正确的参数? 有另外一种方法可以确定快照的文件系统types吗? 对于它的价值,我让RedHat KVM virt-manager GUI工具创build卷。
编辑更多信息请求。
输出lvs
LV VG Attr LSize Origin Snap% Move Log Copy% Convert cvfunc_vol1 guest_images_lvm owi-a- 20.00g cvfunc_vol1_ss guest_images_lvm swi-a- 1.00g cvfunc_vol1 0.00 cvfunc_vol2 guest_images_lvm -wi-ao 20.00g lv_home vg_softrekcvdev0100 -wi-ao 25.68g lv_root vg_softrekcvdev0100 -wi-ao 32.34g lv_swap vg_softrekcvdev0100 -wi-ao 9.81g
相关音量的lvdisplay输出
--- Logical volume --- LV Name /dev/guest_images_lvm/cvfunc_vol1_ss VG Name guest_images_lvm LV UUID YA4m5i-yf7R-hO95-gb0F-iXqQ-PQjU-tXhAp0 LV Write Access read/write LV snapshot status active destination for /dev/guest_images_lvm/cvfunc_vol1 LV Status available # open 0 LV Size 20.00 GiB Current LE 5120 COW-table size 1.00 GiB COW-table LE 256 Allocated to snapshot 0.00% Snapshot chunk size 4.00 KiB Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:5
dd命令的输出结果如下:
# dd if=/dev/guest_images_lvm/cvfunc_vol1_ss bs=1024 count=1 | file - 1+0 records in 1+0 records out 1024 bytes (1.0 kB) copied, 1.6909e-05 s, 60.6 MB/s /dev/stdin: x86 boot sector; GRand Unified Bootloader, stage1 version 0x3, boot drive 0x80, 1st sector stage2 0x19041; partition 1: ID=0x83, active, starthead 1, startsector 63, 208782 sectors; partition 2: ID=0x8e, starthead 0, startsector 208845, 41720805 sectors, code offset 0x48
有一点我不太了解kvm,我猜测这个分区是一个完整的磁盘映像。 如果是这样的话,你应该得到一个有意义的分区表:
fdisk -l /dev/guest_images_lvm/cvfunc_vol1
如果是这样的话,你需要做这样的文章build议: http : //www.andremiller.net/content/mounting-hard-disk-image-including-partitions-using-linux
如果确实只是一个分区,fdisk会这样抱怨:
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk identifier 0xe3a5124c. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable.
编辑:根据安德烈的build议使用-l选项,以减less未来读者的悲伤。
逻辑卷中包含哪些文件系统? 找出使用dd if=/dev/SOMETHING bs=1024 count=1 | file - dd if=/dev/SOMETHING bs=1024 count=1 | file - 。
逻辑卷是否包含XFS文件系统? XFS文件系统具有唯一的标识符,Linux mount -o nouuid在快照上使用mount -o nouuid ,还会不会挂载两次“相同的”文件系统。
该LVM分区已被guest虚拟机用作磁盘。 在该磁盘上,它创build了一个或多个分区。 你想要做的是提取这些分区信息,并提供给您的主机系统。
最简单的方法就是losetup LVM:
losetup /dev/loop0 /dev/guest_images_lvm/cvfunc_vol1_ss
并告诉你的Linux内核有关这些部分:
partx -a /dev/loop0
再次清理:
partx -d /dev/loop0p* losetup -d /dev/loop0
为什么不能只从LVM中添加分区,需要通过losetup来执行额外的步骤? 既然你肯定可以列出LVM上的分区,它将是相同的:
% sudo losetup -a /dev/loop0: [0005]:19633989 (/dev/mapper/vg0-mail01--root) % sudo partx -s /dev/loop0 ; sudo partx -s /dev/vg0/mail01-root NR START END SECTORS SIZE NAME UUID 1 2048 20969471 20967424 10G NR START END SECTORS SIZE NAME UUID 1 2048 20969471 20967424 10G
原因是LVM是由设备pipe理器dmpipe理的,而且它肯定不会有人告诉它这是关于分区设置的错误。