因为认知顺序的原因,之前我都是用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实战案例

    Vue项目案例 结合之前学习的 vue.js.脚手架.vuex.vue-router.axios.elementui 等知识点,来开发前端项目案例(仅前端不含后端). 1.项目搭建 其实就是将我们项目 ...

  2. CF1477F Nezzar and Chocolate Bars 题解

    题意: 有一根长为 \(1\) 的巧克力,已经被切了 \(m-1\) 刀被分成 \(m\) 分,接下来每次在整根长度为 \(1\) 的巧克力上均匀随机一个点切一刀,求每一小段巧克力长度均小于一个给定值 ...

  3. Prometheus-Operator使用ServiceMonitor监控配置时遇坑与解决总结

    摘要 本文范围: Prometheus-Operator & kube-prometheus 安装:以及在解决使用ServiceMonitor时遇到的坑. Prometheus Operato ...

  4. 2020-09-25:rust中Point是结构体类型,【let p1=Point{x:25,y:25};let p2=p1;】请问p1和p2是同一个对象吗?

    福哥答案2020-09-25:#福大大架构师每日一题# 不是同一个对象.p1和p2直接存内容,不存地址.这点跟java里的new对象是不一样的.p1.x和p1的地址相同,说明p1存的是内容,而不是地址 ...

  5. 2021-02-17:规定1和A对应、2和B对应、3和C对应...26和Z对应,那么一个数字字符串比如"111”就可以转化为:"AAA"、"KA"和"AK"。给定一个只有数字字符组成的字符串str,请问有多少种转化结果?

    2021-02-17:规定1和A对应.2和B对应.3和C对应...26和Z对应,那么一个数字字符串比如"111"就可以转化为:"AAA"."KA&qu ...

  6. 2021-09-06:给表达式添加运算符。给定一个仅包含数字 0-9 的字符串 num 和一个目标值整数 target ,在 num 的数字之间添加 二元 运算符(不是一元)+、- 或 * ,返回所有

    2021-09-06:给表达式添加运算符.给定一个仅包含数字 0-9 的字符串 num 和一个目标值整数 target ,在 num 的数字之间添加 二元 运算符(不是一元)+.- 或 * ,返回所有 ...

  7. Git开发、发布、缺陷分离模型概述(支持master/develop/feature/release/hotfix类型分支)

    Git是什么? Git是一种分布式版本控制系统,它可以记录文件的修改历史和版本变化,并可以支持多人协同开发.Git最初是由Linux开发者Linus Torvalds创建的,它具有高效.灵活.稳定等优 ...

  8. 关于SpringBoot AutoConfiguration

    (1)如何导入的自动配置类 首先我们得从@SpringBootApplication注解入手. @SpringBootApplication public class SpringBootDemoAp ...

  9. 2013年蓝桥杯C/C++大学A组省赛真题(高斯的日记)

    题目描述: 大数学家高斯有个好习惯:无论如何都要记日记. 他的日记有个与众不同的地方,他从不注明年月日,而是用一个整数代替,比如:4210 后来人们知道,那个整数就是日期,它表示那一天是高斯出生后的第 ...

  10. 越小越好: Q8-Chat,在英特尔至强 CPU 上体验高效的生成式 AI

    大语言模型 (LLM) 正在席卷整个机器学习世界.得益于其 transformer 架构,LLM 拥有从大量非结构化数据 (如文本.图像.视频或音频) 中学习的不可思议的能力.它们在 多种任务类型 上 ...