608 字
3 分钟
如何使用growpart扩展Linux的系统分区容量

背景#

当我们为运行Linux系统的计算机进行磁盘还原或为主机更换更大容量硬盘时,有时会遇到系统分区小于磁盘大小的情况,从而无法有效利用整块磁盘,这时我们需要扩展Linux系统分区。为了最大可能简化操作,我们将采用在线扩展的方式,即可以先进入系统,在分区已挂载的情况下进行扩展。

操作#

查看磁盘和分区#

使用以下指令以查看磁盘信息:

fdisk -l

将输出磁盘和分区信息:

Disk /dev/vda: 2 TiB, 2199023255552 bytes, 4294967296 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
Disklabel type: gpt
Disk identifier: 744D726A-2AC1-7744-89B3-072E6920B57A

Device       Start      End  Sectors Size Type
/dev/vda1     2048     6143     4096   2M BIOS boot
/dev/vda2     6144  2103295  2097152   1G Linux filesystem
/dev/vda3  2103296 20971486 18868191   9G Linux filesystem

在这里,/dev/vda是我们的磁盘,可见我们的磁盘空间为2TB。

使用以下指令以查看分区信息:

df -h

将输出分区和目录信息:

Filesystem      Size  Used Avail Use% Mounted on
udev             24G     0   24G   0% /dev
tmpfs           4.8G  524K  4.8G   1% /run
/dev/vda3       8.8G  2.2G  6.2G  27% /
tmpfs            24G     0   24G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
/dev/vda2       974M   87M  820M  10% /boot
tmpfs           4.8G     0  4.8G   0% /run/user/0

可见,/dev/vda3是根目录所在分区,也是我们的目标系统分区。

调整分区表#

使用growpart指令扩展分区,需要指定磁盘和分区编号。由于在上面的步骤我们已确认磁盘为/dev/vda,分区为/dev/vda3,使用以下指令以扩展/dev/vda3,注意在这行命令中,/dev/vda与3之间存在一个空格:

growpart /dev/vda 3

将输出调整后的结果:

CHANGED: partition=3 start=2103296 old: size=18868191 end=20971486 new: size=4292863967 end=4294967262

写入文件系统#

使用以下指令将对/dev/vda3的更改写入文件系统

resize2fs /dev/vda3

将输出调整后的内容:

resize2fs 1.47.0 (5-Feb-2023)
Filesystem at /dev/vda3 is mounted on /; on-line resizing required
old_desc_blocks = 2, new_desc_blocks = 256
The filesystem on /dev/vda3 is now 536607995 (4k) blocks long.

检查#

再次使用以下指令检查已完成的更改:

fdisk -l

将输出磁盘和分区信息:

Disk /dev/vda: 2 TiB, 2199023255552 bytes, 4294967296 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
Disklabel type: gpt
Disk identifier: 744D726A-2AC1-7744-89B3-072E6920B57A

Device       Start        End    Sectors Size Type
/dev/vda1     2048       6143       4096   2M BIOS boot
/dev/vda2     6144    2103295    2097152   1G Linux filesystem
/dev/vda3  2103296 4294967262 4292863967   2T Linux filesystem

可见系统分区已更改为目标大小。

如何使用growpart扩展Linux的系统分区容量
https://www.hidandelion.com/posts/linux-how-to-expand-system-partition/
作者
hiDandelion
发布于
2024-01-09
许可协议
CC BY-NC-SA 4.0