Xen lvm resize2fs:超级块中的魔法数字错误

Xen lvm resize2fs:超级块中的魔法数字错误

首先我要说的是,我已经浏览过很多与我所遇到的非常相似的帖子,但没有一个能解决我的问题......

在我的 xen 服务器中我每个虚拟机使用 5 个 lvm 磁盘:

/boot
/
/home
/var
/swap

我只是用 lvcreate 创建磁盘,将它们添加到 vm 配置文件并创建 vm。然后,每个磁盘分区都由分区管理器在安装操作系统(Ubuntu 服务器 12.04)时创建。

通常,调整 lvm 磁盘的大小应该像 lvextend 一样简单

lvextend -L +100MB /dev/vm-disks/testes-home
Extending logical volume testes-home to 524.00 MiB
Logical volume testes-home successfully resized

接着是resize2fs,但是给出错误...

resize2fs /dev/vm-disks/testes-home 
resize2fs 1.42 (29-Nov-2011)
resize2fs: Bad magic number in super-block while trying to open /dev/vm-disks/testes-home
Couldn't find valid filesystem superblock.

奇怪的是,对于 lvm 卷来说,挂载也不能按正常方式进行:

mount /dev/vm-disks/testes-home /root/mount/
mount: you must specify the filesystem type

人们可能会认为有多个分区,但运行 kpartx 只会产生一个分区......

kpartx -av /dev/vm-disks/testes-home
add map vm--disks-testes--home1 (252:36): 0 1044480 linear /dev/vm-disks/testes-home 2048

...并且安装那个工作正常......

mount /dev/mapper/vm--disks-testes--home1 /root/mount/

e2fsck 也抱怨...

e2fsck -f /dev/vm-disks/testes-home 
e2fsck 1.42 (29-Nov-2011)
e2fsck: Superblock invalid, trying backup blocks...
e2fsck: Bad magic number in super-block while trying to open /dev/vm-disks/testes-home

The superblock could not be read or does not describe a correct ext2
filesystem.  If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
    e2fsck -b 8193 <device>

为什么这一切?这应该非常简单...

fdisk -l /dev/vm-disks/testes-home 

Disk /dev/vm-disks/testes-home: 549 MB, 549453824 bytes
37 heads, 35 sectors/track, 828 cylinders, total 1073152 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 524288 bytes / 1572864 bytes
Disk identifier: 0x000d462a

                Device Boot      Start         End      Blocks   Id  System
/dev/vm-disks/testes-home1            2048     1046527      522240   83  Linux

有任何想法吗? :)

答案1

问题在于您尝试resize2fs在整个逻辑卷上运行该工具,该逻辑卷包含一个分区表和卷内的分区。

fdisk首先,您必须通过在逻辑卷上运行来调整分区表的大小。

然后,您需要使用kpartx它来创建从卷内的分区到设备的映射,就像您在安装之前所做的那样,然后resize2fs在实际分区上运行。

因此,总而言之,扩展分区,运行:

resize2fs /dev/vm--disks--testes--home1

代替:

resize2fs /dev/vm-disks-testes

相关内容