将原始图像转换为LVM。 之后不会安装

根据这篇文章,它应该没问题,使用dd转换一个原始的Xen映像到LVM。

我做了什么

 dd if=/vm.img of=/dev/vg00/vm 

我可以用mount -o loop vm.img /root/tmp挂载vm.img。 它只有一个可引导的分区。

但我无法挂载/dev/vg00/vm

它可以有什么与MBR?

任何想法可能是错的?

编辑:

现在我已经创build了一个新的LV并将其格式化。 而我仍然无法安装它。

当我把图像加载到图像上时,会出现同样的挂载错误。

 localhost:~# mkfs.ext3 /dev/vg00/oes2 mke2fs 1.39 (29-May-2006) Warning: could not erase sector 2: Attempt to write block from filesystem resulted in short write Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) 2228224 inodes, 4456448 blocks 222822 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=4294967296 136 block groups 32768 blocks per group, 32768 fragments per group 16384 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000 Warning: could not read block 0: Attempt to read block from filesystem resulted in short read Warning: could not erase sector 0: Attempt to write block from filesystem resulted in short write Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: Warning, had trouble writing out superblocks.done This filesystem will be automatically checked every 30 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. localhost:~# mount /dev/vg00/oes2 tmp-lvm/ mount: you must specify the filesystem type localhost:~# mount -t ext3 /dev/vg00/oes2 tmp-lvm/ mount: wrong fs type, bad option, bad superblock on /dev/vg00/oes2, missing codepage or other error In some cases useful info is found in syslog - try dmesg | tail or so localhost:~# mount -t ext3 /dev/vg00/oes2 tmp-lvm/ localhost:~# fdisk /dev/vg00/oes2 Unable to read /dev/vg00/oes2 localhost:~# 

警告:无法擦除扇区2:尝试从文件系统写入数据块导致写入较短

这听起来不太好。 这很可能意味着一些重要的块没有正确写入磁盘。 您应该检查硬盘的SMART状态,可能包含错误。 Smartmontools可用于此目的。 如果使用Ubuntu,则可以使用“系统”>“pipe理”>“磁盘工具”启动简单的SMART实用程序。 如果硬盘支持SMART,则可以执行检查所有扇区的testing。

如果硬盘不是问题,您的LVM卷组可能会以某种方式损坏?!

问题是,因为这是一个虚拟机,现在映像中有一个分区被转移到了LVM。 在本地安装LVM时,需要使用偏移量进行安装。

您需要在磁盘中获取分区的开始。 这将打印出你的分区。 采取启动分区的开始#

 parted -s / dev / vg00 / oes2单元的打印

例:
即:
分割-s / dev / vmstore / kfsnap单元的打印
型号:Linux设备映射程序(快照)(dm)
 Disk / dev / dm-11:25165824s
扇区大小(逻辑/物理):512B / 4096B
分区表:msdos

数字开始最终大小types文件系统标志
  1 2048s 25163775s 25161728s主ext4启动

扇区大小是:512,所以我再乘以512个扇区。

 expr 512'*'2048
它吐出这个:1048576

然后我知道lvm映像中的偏移量,现在可以通过环回来挂载磁盘。

 #mount - o loop,offset=1048576 /dev/vmstore/kfsnap /mnt/snap 

以下是第一个分区的一行:

  parted -s / dev / vg00 / oes2 unit s print 2> / dev / null |  grep“1”|  tr -d's'|  awk'{print $ 2}'