因为认知顺序的原因,之前我都是用fdisk命令手工删除分区表后重建进行扩容,后面才发现可以用growpart命令。

实战建议直接点 AWS EC2 存储空间扩容 跳转过去参考,学习操作可以继续往下看。

  • 注意,fdisk命令要选择硬盘,不能选择硬盘分区

宿主机上为虚拟机硬盘增加容量

  • 虚拟机内查看,分区情况如下

    注意,sda1 必须占满硬盘后面的所有空间(最后34个扇区,是GPT分区的备用区块,不能动)

    补充,Disklabel type: gpt 是GPT,dos是MBR。
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 1.2T 0 disk
├─sda1 8:1 0 1.2T 0 part /
└─sda128 259:0 0 1M 0 part [ec2-user@vm01 ~]$ sudo fdisk -l /dev/sda
Disk /dev/sda: 1.2 TiB, 1288490188800 bytes, 2516582400 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: 7C9DB885-1EE6-40CC-A4CA-FCFCF17D17DE Device Start End Sectors Size Type
/dev/sda1 4096 2516582366 2516578271 1.2T Linux filesystem
/dev/sda128 2048 4095 2048 1M BIOS boot
  • 宿主机上扩容(须关闭虚拟机)
qemu-img resize amzn2-kvm-2.0.20220719.0-x86_64.xfs.gpt.qcow2 +1000G

GPT格式分区扩容

  • 虚拟机内操作
# 由于扩容了分区,GPT分区的备份区块需要重新到最后面,命令如下
parted -l fix
fix # 然后fdisk 调整分区,只调整分区信息,不会删硬盘上数据
fdisk /dev/sda 打印分区信息 -- p
删除分区 -- d
选择分区 -- 1
创建分区 -- n
指定分区 -- 1
指定分区开始扇区 -- enter默认
指定分区结束扇区 -- enter默认
提示是否删除xfs文件系统标记 -- n
检查分区情况 -- p
保存退出 -- w # 更新一下内核记录
partprobe # 最后扩展一下原分区上的文件系统
xfs_growfs /

MBR格式分区扩容

  • 虚拟机内操作
# 查看硬盘情况
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme1n1 259:0 0 350G 0 disk
└─nvme1n1p1 259:1 0 300G 0 part /data # fdisk 调整分区,只调整分区信息,不会删硬盘上数据
fdisk /dev/nvme1n1
打印分区信息 -- p
删除分区 -- d
创建分区 -- n
选择主分区类型 -- p
指定分区 -- enter默认
指定分区开始扇区 -- enter默认
指定分区结束扇区 -- enter默认
提示是否删除ext4文件系统标记 -- n
检查分区情况 -- p
保存退出 -- w # 更新一下内核记录
partprobe # 最后扩展一下原分区上的文件系统
resize2fs /dev/nvme1n1p1

附录

AWS EC2 存储空间扩容方法

参考:AWS EC2 存储空间扩容

  • AWS 后台扩容硬盘
  • 使用 growpart 命令进行分区扩容
  • 文件系统扩容

提示: growpart 是一个shell脚本,脚本里面调用的是sfdisk(dos)和sgdisk(gpt)命令。

KVM 硬盘分区扩容(GPT与MBR两种分区、fdisk 与 growpart两种方法)的更多相关文章

  1. 硬盘分区时GPT和MBR的区别/选择

    最明显的区别是MBR最大支持2T的硬盘,而GPT则更大. 1.最先出现在Windows8中设置新磁盘,系统会询问你是想要使用MBR还是GPT分区,GPT是一种新的硬盘分区标准.GPT带来了很多新特性, ...

  2. linux分区之gpt(大于2T的分区)

    1.文件系统限制: ext3块尺寸 最大文件尺寸 最大文件系统尺寸1KiB  16GiB  2TiB2KiB  256GiB  8TiB4KiB  2TiB  16TiB8KiB  16TiB  32 ...

  3. Linux分区扩容

    lz在MAC上面使用Linux虚拟机,开始只建了一个分区,挂载在”/”目录下.现在硬盘空间不够了,所以lz就来给这个分区扩容. 首先,当然是要给虚拟机分配更多的硬盘空间喽(lz用的是VMware Fu ...

  4. 双系统Ubuntu分区扩容过程记录

    本人电脑上安装了Win10 + Ubuntu 12.04双系统.前段时间因为在Ubuntu上做项目要安装一个比较大的软件,导致Ubuntu根分区的空间不够了.于是,从硬盘又分出来一部分空间,分给Ubu ...

  5. GPT vs MBR 分区 ,,, Legacy BIOS vs UEFI BIOS

    MBR与GPT两种磁盘分区格式的区别 http://itoedr.blog.163.com/blog/static/120284297201378114053240 GPT Partition Tab ...

  6. 联想T470笔记本GPT改MBR分区

    联想T470笔记本GPT改MBR分区 7000多元买的,这个笔记本配置还可以,就是感觉特别卡顿,于是想重做WIN7系统,为了方便激活,想把GPT分区改成MBR分区. 进入微PE1.2,用傲梅分区助手删 ...

  7. 【转】对硬盘进行分区时,GPT和MBR区别。

    在Windows 8或8.1中设置新磁盘时,系统会询问你是想要使用MBR还是GPT分区.GPT是一种新的标准,并在逐渐取代MBR. GPT带来了很多新特性,但MBR仍然拥有最好的兼容性.GPT并不是W ...

  8. 对硬盘进行分区时,GPT和MBR有什么区别?

    在Windows 8或8.1中设置新磁盘时,系统会询问你是想要使用MBR还是GPT分区.GPT是一种新的标准,并在逐渐取代MBR. GPT带来了很多新特性,但MBR仍然拥有最好的兼容性.GPT并不是W ...

  9. linux硬盘分区表为gpt

    由于mbr最大支持2T不够用,给5T的新硬盘弄成GPT的 yum install -y parted#指定硬盘parted /dev/#p 查看分区#rm 1p 删除指定分区#改成gptmklabel ...

  10. (转)硬盘结构,主引导记录MBR,硬盘分区表DPT,主分区、扩展分区和逻辑分区,电脑启动过程

    硬盘结构硬盘有很多盘片组成,每个盘片的每个面都有一个读写磁头.如果有N个盘片.就有2N个面,对应2N个磁头(Heads),从0.1.2开始编号.每个盘片的半径均为固定值R的同心圆再逻辑上形成了一个以电 ...

随机推荐

  1. vue中获取所有路由

    在router实例上有options属性:

  2. 特性介绍 | MySQL 测试框架 MTR 系列教程(二):进阶篇 - 内存/线程/代码覆盖率/单元/压力测试

    作者:卢文双 资深数据库内核研发 序言: 以前对 MySQL 测试框架 MTR 的使用,主要集中于 SQL 正确性验证.近期由于工作需要,深入了解了 MTR 的方方面面,发现 MTR 的能力不仅限于此 ...

  3. vue项目使用rem布局刷新页面瞬间元素尺寸由小变大,页面闪现错乱样式

    vue项目使用px2remLoader插件,在index.html自定义设置font-size的大小,尤其是在首屏加载的时候,会出现页面各个元素尺寸由小变大的一个过程,很难看 刚开始一直在想是不是因为 ...

  4. SDK日志上传性能优化

    问题描述 在SDK初始化时,会在init方法中开启一个倒计时,在5s倒计时结束后使用子线程将本地保存的历史日志信息上传到后台. 因业务需要,在日志在发送上传前,对日志数据上传时需要对日志数据做编码和特 ...

  5. 2021-01-29:redis同步机制是怎样的?

    福哥答案2021-01-30: [答案1:](https://italk.mashibing.com/question/detail/ques_00006009)全量同步master服务器会开启一个后 ...

  6. 2022-02-28:k8s安装adminer,yaml如何写?

    2022-02-28:k8s安装adminer,yaml如何写? 答案2022-02-28: yaml如下: apiVersion: apps/v1 kind: Deployment metadata ...

  7. annotate()使用聚合计数、求和、平均数 raw()执行原生的SQL

    annotate()使用聚合计数.求和.平均数  raw()执行原生的SQL # 按老师分组,求课程的销量 Course.objects.values('Teacher').annotate(vol= ...

  8. Java 网络编程 —— 实现非阻塞式的服务器

    创建阻塞的服务器 当 ServerSocketChannel 与 SockelChannel 采用默认的阻塞模式时,为了同时处理多个客户的连接,必须使用多线程 public class EchoSer ...

  9. 2013年蓝桥杯C/C++大学A组省赛真题(振兴中华)

    题目描述: 小明参加了学校的趣味运动会,其中的一个项目是:跳格子. 地上画着一些格子,每个格子里写一个字,如下所示: 从我做起振 我做起振兴 做起振兴中 起振兴中华 比赛时,先站在左上角的写着&quo ...

  10. 解决echarts图形由于label过长导致文字显示不全问题

    使用echarts 打印饼图,在pc没问题,但一到移动端问题就来了,由于屏幕过小,导致label部分被遮挡 一.问题分析 如上图这个就尴尬了,囧么办呢? 还好echarts 提供了formatter方 ...