resize2fs:尝试打开时超级块中的魔术数字错误

Posted

技术标签:

【中文标题】resize2fs:尝试打开时超级块中的魔术数字错误【英文标题】:resize2fs: Bad magic number in super-block while trying to open 【发布时间】:2014-12-05 23:23:45 【问题描述】:

我正在尝试在 CentOS7 上调整逻辑卷的大小,但遇到以下错误:

resize2fs 1.42.9 (28-Dec-2013)
resize2fs: Bad magic number in super-block while trying to open /dev/mapper/centos-root
Couldn't find valid filesystem superblock.

我尝试添加一个新分区(使用 fdisk)并使用 vgextend 扩展卷组,然后调整大小。 使用 lvextend 调整逻辑卷的大小工作正常,但在 resize2fs 时失败。

我还尝试删除现有分区(使用 fdisk)并使用更大的结束块重新创建它,然后使用 lvm pvresize 调整物理卷的大小,然后使用 lvm lvresize 调整逻辑卷的大小。到目前为止一切正常。

一旦我尝试使用 resize2fs,同时使用上述两种方法,我收到了完全相同的错误。

希望以下内容能有所启发。

fdisk -l

[root@server~]# fdisk -l

Disk /dev/xvda: 32.2 GB, 32212254720 bytes, 62914560 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x0009323a

Device Boot      Start         End      Blocks   Id  System
/dev/xvda1   *        2048     1026047      512000   83  Linux
/dev/xvda2         1026048    41943039    20458496   8e  Linux LVM
/dev/xvda3        41943040    62914559    10485760   8e  Linux LVM

Disk /dev/mapper/centos-swap: 2147 MB, 2147483648 bytes, 4194304 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/mapper/centos-root: 29.5 GB, 29532094464 bytes, 57679872 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

pv显示

[root@server ~]# pvdisplay
--- Physical volume ---
PV Name               /dev/xvda2
VG Name               centos
PV Size               19.51 GiB / not usable 2.00 MiB
Allocatable           yes (but full)
PE Size               4.00 MiB
Total PE              4994
Free PE               0
Allocated PE          4994
PV UUID               7bJOPh-OUK0-dGAs-2yqL-CAsV-TZeL-HfYzCt

--- Physical volume ---
PV Name               /dev/xvda3
VG Name               centos
PV Size               10.00 GiB / not usable 4.00 MiB
Allocatable           yes (but full)
PE Size               4.00 MiB
Total PE              2559
Free PE               0
Allocated PE          2559
PV UUID               p0IClg-5mrh-5WlL-eJ1v-t6Tm-flVJ-gsJOK6

vg显示

[root@server ~]# vgdisplay
--- Volume group ---
VG Name               centos
System ID
Format                lvm2
Metadata Areas        2
Metadata Sequence No  6
VG Access             read/write
VG Status             resizable
MAX LV                0
Cur LV                2
Open LV               2
Max PV                0
Cur PV                2
Act PV                2
VG Size               29.50 GiB
PE Size               4.00 MiB
Total PE              7553
Alloc PE / Size       7553 / 29.50 GiB
Free  PE / Size       0 / 0
VG UUID               FD7k1M-koJt-2veW-sizL-Srsq-Y6zt-GcCfz6

左显示

[root@server ~]# lvdisplay
--- Logical volume ---
LV Path                /dev/centos/swap
LV Name                swap
VG Name                centos
LV UUID                KyokrR-NGsp-6jVA-P92S-QE3X-hvdp-WAeACd
LV Write Access        read/write
LV Creation host, time localhost, 2014-10-09 08:28:42 +0100
LV Status              available
# open                 2
LV Size                2.00 GiB
Current LE             512
Segments               1
Allocation             inherit
Read ahead sectors     auto
- currently set to     8192
Block device           253:0

--- Logical volume ---
LV Path                /dev/centos/root
LV Name                root
VG Name                centos
LV UUID                ugCOcT-sTDK-M8EV-3InM-hjIg-2nwS-KeAOnq
LV Write Access        read/write
LV Creation host, time localhost, 2014-10-09 08:28:42 +0100
LV Status              available
# open                 1
LV Size                27.50 GiB
Current LE             7041
Segments               2
Allocation             inherit
Read ahead sectors     auto
- currently set to     8192
Block device           253:1

我可能做了一些愚蠢的事情,所以任何帮助将不胜感激!

【问题讨论】:

Trying to resize2fs EB volume fails 的可能重复项 获取备份超级块的位置:newfs -N /dev/device-name & 通过 FSCK 恢复坏超级块:fsck -F ufs -o b=<Superblock_stored_location> /dev/device-name 来源:docs.oracle.com/cd/E19455-01/805-7228/6j6q7uf0i/index.html 【参考方案1】:

经过一些试验和错误...如可能的答案中所述,结果证明需要xfs_growfs 而不是resize2fs

CentOS 7,

fdisk /dev/xvda

新建主分区,设置类型为linux lvm

n
p
3
t
8e
w

创建一个新的主卷并将卷组扩展到新卷。

partprobe
pvcreate /dev/xvda3
vgextend /dev/centos /dev/xvda3

检查物理卷的可用空间,用可用空间扩展逻辑卷。

vgdisplay -v
lvextend -l+288 /dev/centos/root

最后执行在线调整大小以调整逻辑卷的大小,然后检查可用空间。

xfs_growfs /dev/centos/root
df -h

【讨论】:

也适用于 RHEL 7。谢谢! 如何缩小一个分区并将缩小后的空间添加到另一个分区? xfs_growfs 似乎对此不起作用。 在这里您可以找到更多信息:tecmint.com/extend-and-reduce-lvms-in-linux xfs_growfs 用于 XFS 文件系统。如果有人用另一个文件系统(ext4)安装 CentOS,xfs_growfs 将失败。使用处理 xfs、ext4 和一些文件系统的fsadm 这个答案大部分是正确的,但 xfs_growfs 需要一个安装点,而不是一个设备!所以“xfs_growfs /dev/centos/root”不正确,应该是“xfs_growfs /wherever/you/mounted/it” 这花了我一段时间才弄清楚:linux.die.net/man/8/xfs_growfs 至少在 Fedora 31 上没有指定 DEVICE为我工作。【参考方案2】:

在 Centos 7 中,默认文件系统是 xfs

xfs 文件系统支持只扩展不减少。因此,如果您想调整文件系统的大小,请使用 xfs_growfs 而不是 resize2fs。

xfs_growfs /dev/root_vg/root 

注意:对于 ext4 文件系统使用

resize2fs /dev/root_vg/root

【讨论】:

可以使用mount | column -t(以及许多其他方式)找到他们的文件系统类型。 您需要指定挂载点,而不是块设备。 xfs_growfs version 5.1.0,Fedora 31,Usage: xfs_growfs [options] mountpoint【参考方案3】:

我今天中午遇到了同样的问题,终于在这里找到了解决方案 --> Trying to resize2fs EB volume fails

我跳过了挂载,因为分区已经挂载了。

显然 CentOS 7 使用 XFS 作为默认文件系统,因此resize2fs 将失败。

我查看了/etc/fstab,你猜怎么着,XFS 正盯着我的脸……希望这会有所帮助。

【讨论】:

我在 centos 7 中运行了 lvextend --resize 为你调整大小。这似乎解决了这个问题。 lvextend 的手册页说它使用fsadm 来调整文件系统的大小。所以我尝试了fsadm resize /dev/centos/root,它成功了。 从技术上讲,这并不是一个真正的答案,并且该 URL 上的信息对我不起作用。最好在这里回答这个问题,我们可以在这里讨论它,如果您认为这有帮助,请添加指向支持文档的链接。【参考方案4】:

resize2fs 命令不适用于所有文件系统。

请使用以下命令确认您的实例的文件系统。

请按照亚马逊官方文档中提到的针对不同文件系统的步骤进行扩容。

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/recognize-expanded-volume-linux.html

Centos 中默认的文件系统是 xfs,对 xfs 文件系统使用以下命令来增加分区大小。

sudo xfs_growfs -d /

然后“df -h”进行检查。

【讨论】:

【参考方案5】:

在 centos 和 fedora 上使用 fsadm

fsadm resize /dev/vg_name/root

【讨论】:

你的评论保存了我的服务器!【参考方案6】:

CentOS7 + 虚拟机

我做到了:

    Gparted-live 扩展音量 pvresize -v /dev/sda2 lvresize -r -l+100%FREE centos/root

【讨论】:

【参考方案7】:

在 Centos 7 上,在回答 resize2fs 因“坏幻数”而失败的原始问题时,请尝试使用 fsadm,如下所示:

fsadm resize /dev/the-device-name-returned-by-df

然后:

df 

...确认尺寸更改已生效。

【讨论】:

在调整 LVM 分区大小的 CentOS VM 上也为我工作。【参考方案8】:

在阅读了 LVM 并熟悉了 PV -> VG -> LV 之后,这对我有用:

0) #df -h

Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 1.9G     0  1.9G   0% /dev
tmpfs                    1.9G     0  1.9G   0% /dev/shm
tmpfs                    1.9G  824K  1.9G   1% /run
tmpfs                    1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/mapper/fedora-root   15G  2.1G   13G  14% /
tmpfs                    1.9G     0  1.9G   0% /tmp
/dev/md126p1             976M  119M  790M  14% /boot
tmpfs                    388M     0  388M   0% /run/user/0

1) #vgs

  VG     #PV #LV #SN Attr   VSize   VFree   
  fedora   1   2   0 wz--n- 231.88g 212.96g

2) #vgdisplay

  --- Volume group ---
  VG Name               fedora
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               231.88 GiB
  PE Size               4.00 MiB
  Total PE              59361
  Alloc PE / Size       4844 / 18.92 GiB
  Free  PE / Size       54517 / 212.96 GiB
  VG UUID               9htamV-DveQ-Jiht-Yfth-OZp7-XUDC-tWh5Lv

3) # lvextend -l +100%FREE /dev/mapper/fedora-root

  Size of logical volume fedora/root changed from 15.00 GiB (3840 extents) to 227.96 GiB (58357 extents).
  Logical volume fedora/root successfully resized.

4) #lvdisplay

5) #fd -h

6) # xfs_growfs /dev/mapper/fedora-root

meta-data=/dev/mapper/fedora-root isize=512    agcount=4, agsize=983040 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1 spinodes=0 rmapbt=0
         =                       reflink=0
data     =                       bsize=4096   blocks=3932160, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 3932160 to 59757568

7) #df -h

Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 1.9G     0  1.9G   0% /dev
tmpfs                    1.9G     0  1.9G   0% /dev/shm
tmpfs                    1.9G  828K  1.9G   1% /run
tmpfs                    1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/mapper/fedora-root  228G  2.3G  226G   2% /
tmpfs                    1.9G     0  1.9G   0% /tmp
/dev/md126p1             976M  119M  790M  14% /boot
tmpfs                    388M     0  388M   0% /run/user/0

最好的问候,

【讨论】:

树莓派上的 Fedora Server 35,作为一个魅力。没有其他解决方案有效,感谢您提供详细步骤!【参考方案9】:
How to resize root partition online :  

1)  [root@oel7 ~]# df -h  
Filesystem                         Size  Used Avail Use% Mounted on  
/dev/mapper/root_vg-root           5.0G  4.5G  548M  90% /

2)   

PV /dev/sda2   VG root_vg     lvm2 [6.00 GiB / 0    free]

as here it shows that there is no space left on root_vg volume group, so first i need to extend VG 

3)  
[root@oel7 ~]# vgextend root_vg /dev/sdb5  

  Volume group "root_vg" successfully extended

4)  

[root@oel7 ~]# pvscan  
    PV /dev/sda2   VG root_vg     lvm2 [6.00 GiB / 0    free]  
    PV /dev/sdb5   VG root_vg     lvm2 [2.00 GiB / 2.00 GiB free]

5)  Now extend the logical volume   

[root@oel7 ~]# lvextend -L +1G /dev/root_vg/root  

  Size of logical volume root_vg/root changed from 5.00 GiB (1280 extents) to 6.00 GiB (1536 extents).
  Logical volume root successfully resized  

3)  [root@oel7 ~]# resize2fs /dev/root_vg/root  

resize2fs 1.42.9 (28-Dec-2013)  
resize2fs: Bad magic number in super-block while trying to open /dev/root_vg  /root  
Couldn't find valid filesystem superblock.  

as root partition is not a ext* partiton so , you resize2fs will not work for you.  

4)  to check the filesystem type of a partition 
[root@oel7 ~]# df -Th  
Filesystem                        Type      Size  Used Avail Use% Mounted on  
/dev/mapper/root_vg-root          xfs       6.0G  4.5G  1.6G  75% /  
devtmpfs                          devtmpfs  481M     0  481M   0% /dev  
tmpfs                             tmpfs     491M   80K  491M   1% /dev/shm  
tmpfs                             tmpfs     491M  7.1M  484M   2% /run  
tmpfs                             tmpfs     491M     0  491M   0% /sys/fs  /cgroup
/dev/mapper/data_vg-home          xfs       3.5G  2.9G  620M  83% /home  
/dev/sda1                         xfs       497M  132M  365M  27% /boot  
/dev/mapper/data_vg01-data_lv001  ext3      4.0G  2.4G  1.5G  62% /sybase  
/dev/mapper/data_vg02-backup_lv01 ext3      4.0G  806M  3.0G  22% /backup  

above command shows that root is an xfs filesystem , so we are sure that we need to use xfs_growfs command to resize the partition.

6)  [root@oel7 ~]# xfs_growfs /dev/root_vg/root  
meta-data=/dev/mapper/root_vg-root isize=256    agcount=4, agsize=327680 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0        finobt=0
data     =                       bsize=4096   blocks=1310720, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 1310720 to 1572864  

[root@oel7 ~]# df -Th  

Filesystem                        Type      Size  Used Avail Use% Mounted on
/dev/mapper/root_vg-root          xfs       6.0G  4.5G  1.6G  75% /  

【讨论】:

【参考方案10】:

操作系统:rhel7

gparted 之后,# xfs_growfs /dev/mapper/rhel-root 在生命系统上发挥了作用。

$ df -h
Filesystem             Size  Used Avail Use% Mounted on
/dev/mapper/rhel-root   47G   47G   20M 100% /
devtmpfs               1.9G     0  1.9G   0% /dev
tmpfs                  1.9G     0  1.9G   0% /dev/shm
tmpfs                  1.9G  9.3M  1.9G   1% /run
tmpfs                  1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/sda1             1014M  205M  810M  21% /boot
tmpfs                  379M  8.0K  379M   1% /run/user/42
tmpfs                  379M     0  379M   0% /run/user/1000


# lvresize -l +100%FREE /dev/mapper/rhel-root
  Size of logical volume rhel/root changed from <47.00 GiB (12031 extents) to <77.00 GiB (19711 extents).
  Logical volume rhel/root successfully resized.


# xfs_growfs /dev/mapper/rhel-root
meta-data=/dev/mapper/rhel-root  isize=512    agcount=7, agsize=1900032 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=12319744, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=3711, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 12319744 to 20184064


# df -h
Filesystem             Size  Used Avail Use% Mounted on
/dev/mapper/rhel-root   77G   47G   31G  62% /
devtmpfs               1.9G     0  1.9G   0% /dev
tmpfs                  1.9G     0  1.9G   0% /dev/shm
tmpfs                  1.9G  9.3M  1.9G   1% /run
tmpfs                  1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/sda1             1014M  205M  810M  21% /boot
tmpfs                  379M  8.0K  379M   1% /run/user/42
tmpfs                  379M     0  379M   0% /run/user/1000

【讨论】:

【参考方案11】:

调整已挂载的现有卷的大小

sudo mount -t xfs /dev/sdf /opt/data/

mount: /opt/data: /dev/nvme1n1 已经安装在 /opt/data 上。

sudo xfs_growfs /opt/data/

【讨论】:

在我的 ec2 实例上工作,就我而言,我想将主卷与新增加的大小对齐。使用sudo growpart /dev/xvda 1 后,只需发出sudo xfs_growfs /dev/xvda1。现在 df -h 将反映您的卷的大小,无需刷新。当然相应地更改您的安装路径【参考方案12】:

就我而言,我可以使用以下命令修复超级块位置:

yum install gdisk
parted -l /dev/mapper/centos-root
growpart /dev/mapper/centos-root 1
xfs_growfs /

【讨论】:

以上是关于resize2fs:尝试打开时超级块中的魔术数字错误的主要内容,如果未能解决你的问题,请参考以下文章

在 Mac OS X 上打开时 IDLE 崩溃

尝试从 android studio 打开时,Xcode 中的 Flutter 打开模块会出错?

PHP超级全局变量魔术变量和魔术函数

PHP超级全局变量魔术变量和魔术函数

PHP超级全局变量魔术变量和魔术函数

PHP超级全局变量魔术变量和魔术函数