fsadm:无法获取“/dev/mapper/virtual--machines-lvol0”的 FSTYPE。文件系统检查失败

fsadm:无法获取“/dev/mapper/virtual--machines-lvol0”的 FSTYPE。文件系统检查失败

我目前正在尝试扩展此服务器上分配的硬盘空间。当我执行此操作时,fdisk -l我得到以下信息

/home/api# fdisk -l
Disk /dev/loop0: 99.22 MiB, 104030208 bytes, 203184 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/loop1: 55.48 MiB, 58159104 bytes, 113592 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/loop2: 99.15 MiB, 103964672 bytes, 203056 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/loop3: 69.9 MiB, 73277440 bytes, 143120 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/loop4: 55.46 MiB, 58142720 bytes, 113560 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/loop5: 70.39 MiB, 73797632 bytes, 144136 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/sda: 800 GiB, 858993459200 bytes, 1677721600 sectors
Disk model: Virtual disk    
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: A078CCF8-9233-43B5-AF50-32ABC1E5FB18

Device         Start        End    Sectors  Size Type
/dev/sda1       2048       4095       2048    1M BIOS boot
/dev/sda2       4096  167770111  167766016   80G Linux filesystem
/dev/sda3  167770112 1677721566 1509951455  720G Linux filesystem


Disk /dev/mapper/virtual--machines-lvol0: 719.102 GiB, 773089918976 bytes, 1509941248 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

但是当我运行命令时resize2fs -r /dev/sda3出现以下错误

/home/api# lvextend -r -l+100%FREE /dev/virtual-machines/lvol0
fsadm: Cannot get FSTYPE of "/dev/mapper/virtual--machines-lvol0".
  Filesystem check failed.

任何帮助,将不胜感激。

答案1

答案

您的问题很可能是由于您尝试扩展的 LV 上没有创建 FS。

如果您尝试扩展/dev/virtual-machines/lvol0,我建议您首先通过运行以下命令确保它具有 FS:

lsblk -f /dev/virtual-machines/lvol0

如果 FSTYPE 列未显示任何内容,则必须创建一个 FS。要创建 ext4 FS,请运行:

mkfs.ext4 /dev/virtual-machines/lvol0

这将在该 LV 的整个范围内创建一个 FS,因此之后无需调整大小。但是,如果稍后您要向卷组添加额外的物理卷,则可以使用您尝试这样做的命令扩展逻辑卷,尽管对于这种情况,我更喜欢以下语法:

lvextend -r /dev/virtual-machines/lvol0 /dev/sdaX

这会将指定 PV 中的所有空间添加到 LV。如果需要澄清,请执行以下操作:

  • -r:还调整 FS 的大小。
  • /dev/sdaX:这是新添加的 PV,必须与此 LV 的其他 PV 位于同一个 VG 中。

最后一些评论

-您说您运行了该命令resize2fs -r /dev/sda3,但显示了该命令的输出lvextend -r -l+100%FREE /dev/virtual-machines/lvol0。我只是看了看,并认为这是一个错误。

-使用逻辑卷时,您不应直接在“物理”分区(/dev/sda3在本例中为)上管理 FS;只能在 LV 本身上工作。

-还请注意,使用 LVM 时,您的分区类型应为“Linux LVM”。我进行了一些测试,使用分区类型“Linux”而不是“Linux LVM”时没有遇到任何问题,我甚至在两者之间来回切换,没有丢失任何数据,也没有对正在运行的系统产生任何负面影响,但以防万一,我建议您使用相应的分区类型以避免任何可能的问题。

如果您需要知道如何更改分区类型,假设感兴趣的分区是/dev/sda3

  1. 正如我们每次处理与存储相关的工作之前所做的那样,备份所有不能丢失的数据。
  2. 运行fdisk /dev/sda(您将被带到 fdisk 工具)。
  3. 为了安全起见,请按下p打印分区表并检查其当前状态。
  4. 按下t可更改分区的类型。
  5. 按下3选择分区号 3。如果您只有一个分区(编号 1),则将自动选择该分区。
  6. 按下l列出所有可用的分区类型并查找与“Linux LVM”相对应的分区类型。
  7. 输入您在上一步找到的数字(可以是十六进制数)并按Enter
  8. 再次强调,为了安全起见,请按下p检查您的更改。
  9. 如果您准备保存并退出,请按w。如果有任何疑问并想恢复整个过程,您可以按 退出而不保存q

相关内容