本文主要挂载文件系统或读取文件系统报错的原因以及解决方案。

问题现象

  • 文件系统挂载失败,未挂载的文件系统会在尝试挂载时报Bad geometry错误。
  • 文件系统读写失败,报Cannot read inode bitmap内核日志。

问题原因

  • 使用LVM( Logical Volume Manager,逻辑卷管理)的磁盘动态缩容功能时破坏了文件系统。
  • 文件系统数据被破坏,导致已挂载的文件系统在读取到被破坏的数据时报错。

解决方案

通过磁盘动态扩容功能恢复磁盘大小

重要 磁盘动态扩容前,请确保所属的卷有足够的空间。
  1. 远程连接ECS实例。
    具体操作,请参见连接方式概述
  2. 扩容逻辑卷。
    lvextend [-L <逻辑卷大小>] <逻辑卷名称>

    以下示例为扩容逻辑卷容量。

    lvextend -L +2G /dev/mapper/mthvg-lvdata
  3. 扩容逻辑卷文件系统。
    您需要根据逻辑卷的文件系统类型执行不同的扩容命令,以下以ext4和xfs文件系统为例:
    • 如果是ext4文件系统,使用以下命令扩容。
      resize2fs /dev/mapper/mthvg-lvdata
    • 如果是xfs文件系统,使用以下命令扩容。
      xfs_growfs /dev/mapper/mthvg-lvdata
  4. 查看文件系统扩容结果。
    df -h

通过备份恢复文件系统数据

  1. 远程连接ECS实例。
    具体操作,请参见连接方式概述
  2. 取消挂载的文件系统。
    本示例以取消挂载/http/mnt为例。
    umount /http/mnt/
  3. 删除逻辑卷。
    lvremove /dev/vg02/lv_http
  4. 创建逻辑卷并查看逻辑卷信息。
    lvcreate -n lv_http -L 2G vg02
  5. 格式化逻辑卷。
    mkfs.ext4 /dev/vg02/lv_http
    blkid
  6. 重新创建挂载点挂载逻辑卷。
    mkdir /http/mnt -p
    mount /dev/vg02/lv_http /http/mnt
  7. 将原备份文件复制到当前位置。