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