growpart 实战 Linux 磁盘分区扩容

最近在做项目时,测试QEMU虚拟机,发现了磁盘分区空间不足,需要扩展指定分区的大小, 网上找到了国外的资料,研究测试了一下,确实可以使用。
现在把实战过程整理分享给需要的朋友。

首先安装growpart 工具:

对于Debian 或ubuntu 系统执行下面的安装:
#安装磁盘调整大小的工具growpart
sudo apt update
sudo apt install cloud-guest-utils
sudo apt install xfsprogs

对于 centos ,redhat 用户执行:
yum update
yum install cloud-utils-growpart
yum install xfsprogs

originPath=$(which growpart)
由于我安装后,这个growpart 是有个bug,所以,从github 上下载最新版本的growpart 覆盖掉原来的.

wget https://raw.githubusercontent.com/canonical/cloud-utils/master/bin/growpart -O $originPath

以上需要打补丁

fdisk -l
查看磁盘分区
在这里插入图片描述

growpart /dev/sda 2
reboot
#重新启动系统后

sudo resize2fs /dev/sda2

在这里插入图片描述
至此,扩容分区2成功.

### 扩展单个磁盘容量的操作 对于Linux系统中的单块磁盘扩容,通常涉及几个主要步骤:增加物理磁盘的空间、调整分区表以及扩展文件系统。当面对的是单一磁盘而非逻辑卷时,可以采用如下方法来完成这一过程。 #### 增加磁盘空间 如果是在虚拟环境中运行,则需先在宿主机层面增大分配给客户机的磁盘尺寸[^2]。这一步骤具体取决于所使用的hypervisor平台(例如Hyper-V, VMware)。一旦完成了磁盘空间的增长,在Guest OS内部还需要进一步处理才能使新增加的空间可用。 #### 修改分区布局 假设已经成功增加了磁盘总大小,下一步就是更新现有的分区结构以占用额外的空间。此阶段可能涉及到重新定义现有分区边界或是创建新的未分配区域上的分区。`fdisk`, `parted` 或者图形界面下的GParted都是执行这类任务的有效工具[^3]。值得注意的是,任何对活动系统的根(/)或其他重要挂载点所在分区做出变更之前都应格外小心,并考虑备份数据以防万一。 #### 文件系统增长 最后也是至关重要的环节便是让实际使用的文件系统感知并利用上扩大后的磁盘面积。不同的文件系统有不同的命令集用于在线或离线状态下安全地扩展其规模: - 对于ext4类型的文件系统来说,可以通过`resize2fs /dev/sdXN`这样的指令轻松达成目的; - XFS则支持通过简单调用`xfs_growfs mountpoint`来进行无痛升级; 下面给出一段针对ext4文件系统的示例脚本,展示了如何自动化上述流程的一部分: ```bash #!/bin/bash # 脚本名称: expand_disk.sh # 参数说明: $1 - 设备名(如/dev/vda), $2 - 挂载点路径(如/) PARTITION=$1 MOUNT_POINT=$2 echo "正在卸载$MOUNT_POINT..." umount "$MOUNT_POINT" echo "正在调整分区表..." growpart "${PARTITION%?}" "${PARTITION##*/}" echo "正在扩展文件系统..." resize2fs "$PARTITION" echo "重新挂载$MOUNT_POINT..." mount "$PARTITION" "$MOUNT_POINT" ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

开心自由天使

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值