虚拟机服务器扩容,vmware虚拟机 ubuntu根目录磁盘扩容

本文记录了一次在Linux服务器上进行磁盘扩容的过程,遇到GPTPMBR大小不匹配错误,并详细描述了解决方案。首先通过fdisk删除并重建分区,然后使用resize2fs使扩容生效。该方法适用于没有其他数据分区的情况,注意数据备份。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本以为磁盘扩容是个简单的事儿,结果却折腾一个多小时。。搜索引擎的结果各种不靠谱

错误详情

GPT PMBR size mismatch (104857599 != 629145599) will be corrected by w(rite).

1. 先在虚拟机软件上进行常规的扩容操作

1ebf0e523020

虚拟机执行扩容

服务器关机后,粗暴的先直接扩容完事

2. 使用fdisk进行分区修改扩容

废话开篇:

在虚拟机操作完扩容后,重启服务器使用fdisk后便出现错误

fdisk -l

.....

GPT PMBR size mismatch (1439776 != 30031871) will be corrected by write.

这个错误其实可以不用管,大致是gpt分区末尾不在磁盘的末尾的意思(因为扩容了)

然后当时我纠结于此,很多的搜索结果都是用parted -l 修复分区表错误,然而我试了没有效果,并没有Fix/Ignore?问我是否修复

这之后尝试了各种工具gparted gdisk等因为不会用全都不了了之。其中有教程关于gparted的图形化软件,可以像 win的diskgenius一样直接操作,可惜我是服务器版,没有图形桌面,命令行的gparted又完全不会用。。。

后来看到百度经验的一篇帖子,大致浏览后就是把之前分区都删了,然后建立新分区扩容

当时我还嗤之以鼻,这不会把数据弄没吗?我要扩容根目录又不是空白磁盘,而且看他的操作中没有和我一样的错误,就没在关心了

之后在搜索结果的时候无意中发现这样一句话

修改分区表不会删除分区内实际的数据

突然感觉有点意思,给虚拟机拍了个快照,开始操作

操作

fidsk /dev/sda # 进入目标磁盘

看到以下红色错误,无视

GPT PMBR size mismatch (*** != ***) will be corrected by write.

查看分区表

Command (m for help): p

Device Start End Sectors Size Type

/dev/sda1 2048 4095 2048 1M BIOS boot

/dev/sda2 4096 83886046 83881951 40G Linux filesystem

删除根目录分区

磁盘的扇区都是连续的,扩容后新增加的扇区在末尾增加,如果你想扩容的分区后面还有其他AB分区,那只能同时删掉AB等分区。

将要扩容的分区调大后,在末尾空余一定的空间用来建立AB分区。当然如果AB分区之前有文件的话一定会丢失,先拷贝出来,然后放到新建的AB分区就好

删除根目录分区

Command (m for help): d

Partition number (1,2, default 2):2

重新建立根目录分区

Command (m for help): n

Partition number (3-128, default *): 分区编号

First sector (**-**): 起始柱面号 一定要与之前相同

Last sector, +sectors or +size{K,M,G,T,P} (**-**, default *): 结束柱面号 或者 按容量分配:+40g

放心保存,会有红色错误不用管

Command (m for help): w

此时用 fdisk 再次进入硬盘已经看不到之前的红色错误了。重启服务器

3. 使扩容后的分区容量生效

重启后容量依然没变,执行以下命令

resize2fs /dev/sda2

然后df查看一下挂载容量,已经扩容成功了

总结

此方法适用于没有其他包含数据的分区,需要备份数据很麻烦。

受限于win上一直使用diskgenius的缘故,以及方便的调整分区自动转移文件,对于Linux的命令行束手无策了

此次额外理解部分:

分区表与分区内数据的关系

转载请注明 Saopanda和简书链接

### VMware 虚拟机磁盘扩容教程 对于希望增加 VMware虚拟机磁盘容量的情况,无论是针对 CentOS 或 Ubuntu 系统,都存在相似的过程。下面将以 CentOS 和 Ubuntu 为例介绍具体的扩容方法。 #### 对于 CentOS 的 /dev/mapper/centos-home 分区扩容: 当面对需要扩大 `/dev/mapper/centos-home` 分区的需求时,可以采取如下措施[^1]: - **准备阶段**:确保已经关闭了所有不必要的服务并进行了完整的系统备份。 - **扩展虚拟硬盘**:进入 VMware 设置界面,在硬件选项卡里找到对应的硬盘设备,点击编辑按钮来增大其尺寸。 - **启动虚拟机并安装必要的工具包**:重启虚拟机之后,确认新的未分配空间已经被识别出来;接着安装 `growpart`, `lvm2` 及其他可能需要用到的相关软件包以便后续操作。 - **调整逻辑卷管理器 (LVM)**:利用 LVM 命令集向现有卷组添加额外的空间,并最终完成对目标 LV(即 home 分区)的增长动作。 ```bash pvcreate /dev/sdaX # 将新增加的部分初始化为物理卷 vgextend centos /dev/sdaX # 把这个 PV 加入到当前使用的 VG 中去 lvextend -r /dev/mapper/centos-home /dev/sdaX # 同步拉伸文件系统和LV大小 ``` 这里假设 sdaX 是指代新加入的那个部分,请根据实际情况替换变量名。 #### 针对根目录(/)或其他分区的通用做法: 如果目的是为了给整个系统的根目录或者其它特定位置腾出更多可用空间,则可参照以下流程[^2]: - **修改 VM 属性**:同样先在宿主机端更改好预期达到的新规格参数值。 - **激活 GParted Live CD 功能**:借助图形化界面辅助实现更直观便捷的数据迁移工作。(此步骤仅限非生产环境) - **运用命令行手段处理**:对于熟悉 Linux Shell 用户来说可以直接执行 fdisk/parted/growpart 来规划布局以及重新定义边界范围。 - **更新引导加载程序配置**:某些情况下还需要重写 GRUB 记录以适应变更后的结构变化。 最后一步非常重要,因为如果不做相应改动的话可能导致下次开机失败等问题发生。 #### 关于 Ubuntu 18.04 的特别说明: 考虑到不同发行版之间可能存在细微差异,因此也提供了专门面向 Ubuntu 18.04 的解决方案][^[^34]: - **前期准备工作不变**:依旧强调事前预防性保护措施的重要性。 - **在线调整策略**:允许不停服状态下实施动态调节机制,减少停机时间影响业务连续性的风险。 - **自动化脚本支持**:提供了一系列预构建好的 Bash Scripts 方便快速部署应用而无需手动重复输入指令序列。 综上所述,无论是在哪种类型的 Linux 发行版本之上开展此类作业活动都应该谨慎行事,严格按照官方文档指示来进行每一步骤以免造成不可逆损害事件的发生。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值