Linux 虚拟机在线热扩容分区

本文最后更新于 2024年3月26日 下午

介绍

本教程是用于Linux虚拟机在调整虚拟硬盘大小后,进行在线不重启热扩容分区大小。

适用于RHEL 7+以上的版本及衍生发行版。(如Centos、Rocky Linux、Alma Linux等)

硬盘分区在线热扩容

刷新硬盘容量

1
2
3
4
5
echo '1' > /sys/block/sda/device/rescan  

# 刷新容量,设备为 sda
# 注意若大于2TB的硬盘,需要GPT分区格式,且为引导硬盘的话,需要以UEFI引导启动。

安装扩容工具

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46

# Redhat 系列

yum install cloud-utils-growpart -y

# Debian 系列

sudo apt install cloud-guest-utils


# 安装growpart,使用此工具可以自动调整分区。

lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 2T 0 disk
├─sda1 8:1 0 100M 0 part /boot/efi
└─sda2 8:2 0 1023.9G 0 part /

# 查看硬盘分区结构,注意只有最后一个分区可以扩容。

growpart /dev/sda 2

# 分区扩容,指定硬盘和分区号。







xfs_growfs /dev/sda2

# XFS文件系统扩容

resize2fs /dev/sda2

# EXT4文件系统扩容

lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 2T 0 disk
├─sda1 8:1 0 100M 0 part /boot/efi
└─sda2 8:2 0 2T 0 part /

# 查看块设备

本次在CentOS7中扩容的分区是这块磁盘上的最后一个分区,也就是磁盘扩展后增加的空间是加在磁盘的最后一个分区。

所以可以通过growpart工具修改硬盘的分区表,将这部分空间直接增加到最后一个分区。

所以如果你要扩容的分区在你的系统上并非是磁盘上的最后一个分区的话,可能无法直接无损扩充分区。

请谨慎使用此方法进行操作,建议做好数据备份再进行操作。

使用Linux Live ISO 关机后离线GUI调整分区扩展

GParted Live 下载 https://gparted.org/livecd.php

文件系统支持情况:https://gparted.org/features.php

使用教程:https://blog.csdn.net/Mr_rsq/article/details/99822699

GParted

参考文档

https://access.redhat.com/solutions/5540131

https://cloud.tencent.com/developer/article/1653394


Linux 虚拟机在线热扩容分区
https://songxwn.com/Linux-growpart/
作者
Song
发布于
2023年5月1日
更新于
2024年3月26日
许可协议