当前位置: 首页 > news >正文

CentOS7原有磁盘扩容实战记录(LVM非LVM)【针对GPT分区】

一、环境

在这里插入图片描述

二、命令及含义

  • fdisk
    ‌ ‌ fdisk‌是一个较老的分区表创建和管理工具,主要支持MBR(Master Boot Record)格式的分区表。MBR分区表支持的硬盘单个分区最大容量为2TB,最多可以有4个主分区。fdisk通过命令行界面进行操作,主要命令包括查看分区表(p)、创建新分区(n)、删除分区(d)、改变分区类型(t)等。fdisk适用于处理较小的硬盘和MBR分区表,但对于大于2TB的硬盘或需要GPT分区表的场景则不适用‌
  • parted
     ‌ parted‌是一个功能强大的磁盘分区工具,支持MBRGPT两种分区表。与fdisk不同,parted可以直接对GPT格式的磁盘进行操作,适用于大容量硬盘(如大于2TB)的分区需求。parted也通过命令行界面进行操作,提供了更多高级功能,如调整分区大小、格式化分区等。其基本命令包括查看分区(p)、删除分区(rm)、创建新分区(mkpart)等。parted在处理GPT分区表时更为灵活和强大‌
  • gdisk
     ‌ gdisk是一个功能强大的GPT分区表管理工具,专门用于GPT分区表。gdisk支持大容量硬盘和复杂的分区需求,可以通过命令行进行操作。其基本命令包括查看GPT分区表、创建新分区、删除分区等。gdiskparted类似,但专注于GPT分区表的操作‌

总结
fdisk‌适用于处理较小的硬盘和MBR分区表,操作简单但功能有限。
parted‌支持MBR和GPT分区表,功能强大,适用于大容量硬盘和复杂需求。
gdisk‌专注于GPT分区表,功能与parted类似,但更专注于GPT的支持。

三、步骤

1.准备测试环境(非lvm)

lsblk
fdisk -l

在这里插入图片描述

parted -s /dev/sdc mklabel gpt mkpart  xfs  0% 100%      //静默扩容gpt模式
mkfs.xfs /dev/sdc1										 //格式化xfs
mkdir /test												 //创建测试目录
mount /dev/sdc1 /test/									 //挂载目录
df -h
# 创建测试数据
touch /test/{1,2,3,4,5,6}
echo "data" > /test/1
lsblk

在这里插入图片描述

# 给sdb原有基础上加100G
umount /test
partprobe /dev/sdc    //取消挂载刷新或者reboot
lsblk

在这里插入图片描述

2.扩容(非lvm)

lsblk
fdisk -l

在这里插入图片描述

umount /dev/sdc1      //扩容前一定要取消挂载
parted /dev/sdc
print 
resizepart 1 100%    //因为centos7自带的是3.1版本则不支持此命令,改用gdisk

在这里插入图片描述

yum install -y gdisk 
gdisk -l /dev/sdc    //查看起始位置
gdisk /dev/sdc
d
n
1                    //原始分区号
回车
回车
回车
w
y
partprobe /dev/sdc   //如果没生效需要reboot

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

说明:这里因为内核没有识别 重启过所以sdc识别变成sdb了

mount /dev/sdb1 /test
xfs_growfs /test 
# 验证数据
df -h 
ls /test/
cat /test/1

在这里插入图片描述

3.准备测试环境(lvm)

lsblk
fdisk -l

在这里插入图片描述

parted -s /dev/sdb mklabel gpt mkpart  xfs  0% 100%
pvcreate /dev/sdb1
vgcreate vg1  /dev/sdb1
vgs && pvslvcreate  -l  100%FREE   -n    lv1      vg1
lvs && vgs
ls -l /dev/vg1/lv1
mkfs.xfs /dev/vg1/lv1
mount /dev/vg1/lv1 /test/

命令详解:
parted -s /dev/sdb mklabel gpt mkpart xfs 0% 100%
作用:在 /dev/sdb 上创建一个 GPT 分区表,并划出一个 100% 大小的分区。
-s:silent 模式,非交互式
mklabel gpt:创建 GPT 分区表(支持 2TB 以上磁盘)
mkpart xfs 0% 100%:新建一个分区,类型为 xfs(只是标注,实际格式化在后面),从磁盘起始到末尾
结果:你会得到一个新分区 /dev/sdb1,占满整个 /dev/sdb
pvcreate /dev/sdb1
作用:把 /dev/sdb1 初始化为一个 LVM 物理卷(PV)
这一步是让 LVM 能够接管这块分区作为底层存储
执行后可以用 pvs 查看这个 PV 状态
vgcreate vg1 /dev/sdb1
作用:创建一个新的 LVM卷组(VG),名字叫 vg1,并将 /dev/sdb1 加入其中
卷组是多个 PV 的逻辑聚合体,可以像资源池一样分配空间
vgs && pvs
作用:分别查看卷组(VG)和物理卷(PV)的状态
vgs:显示卷组名、可用容量等信息
pvs:显示物理卷的位置、属于哪个 VG、大小等
lvcreate -l 100%FREE -n lv1 vg1
作用:在卷组 vg1 中创建一个新的 逻辑卷(LV),名称为 lv1
-l 100%FREE:使用卷组中所有剩余的空间
-n lv1:设置逻辑卷名为 lv1
创建完成后,会生成 /dev/vg1/lv1
lvs && vgs
作用:查看逻辑卷(LV)和卷组(VG)的状态
lvs:列出逻辑卷的大小、路径、所属卷组等
vgs:确认剩余空间、逻辑卷数量等
ls -l /dev/vg1/lv1
作用:确认逻辑卷设备文件已生成(本质上是一个块设备)
你会看到:/dev/vg1/lv1 -> /dev/mapper/vg1-lv1(LVM 使用 dm 设备映射)
mkfs.xfs /dev/vg1/lv1
作用:将逻辑卷格式化为 XFS 文件系统
注意:你之前在 parted 中声明了 xfs,那只是“标签”,真正格式化要靠这一步
如果你想用 ext4 或其他,也可以改为 mkfs.ext4
mount /dev/vg1/lv1 /test/
作用:将逻辑卷挂载到 /test 目录
前提:目录 /test 必须存在
完成后你就可以在 /test 下读写新磁盘空间了

在这里插入图片描述

df -h
touch /test/{1,2,3,4,5,6}
echo "data" > /test/1

在这里插入图片描述

# 给sdb原有基础上加100G
umount /test
partprobe /dev/sdb    //取消挂载刷新,如果没变那就需要重启reboot使内核识别
lsblk

在这里插入图片描述

4.扩容(lvm)

# 记得卸载挂载 umount /test
gdisk -l /dev/sdb    //查看起始位置

在这里插入图片描述

gdisk /dev/sdb
d
n
1              //原始分区号
回车
回车
回车
w
y				//如果输入了两次y 那么就需要重新在执行一遍gdisk分区

在这里插入图片描述

说明:
警告!次级标头在磁盘上放置得太早!你想吗
纠正这个问题?(Y/N):Y
已将第二个标题和分区表移动到正确位置。

因出现警告所以需要在执行一遍gdisk
gdisk /dev/sdb
d
n
1              //原始分区号
回车
回车
回车
w
y	
partprobe /dev/sdb 

在这里插入图片描述

说明:出现这个意思就是需要reboot才可以让内核识别变动。

reboot
lsblk

在这里插入图片描述

pvresize /dev/sdb1   //扩容物理卷 PV
lvextend -r -l +100%FREE /dev/vg1/lv1   // -r就是扩容文件系统

在这里插入图片描述
在这里插入图片描述

# 数据验证
mount /dev/vg1/lv1 /test
ls /test/
cat /test/1
df -h
lsblk

在这里插入图片描述

四、结束语

  本次GPT原有磁盘扩容实战记录LVM非LVM就到此结束了,后期会给大家带来更多的脚本,感谢认真读完,如果觉得还可以,那么给作者点赞、收藏、关注吧!

相关文章:

  • SpringBoot Vue MySQL酒店民宿预订系统源码(支付宝沙箱支付)+代码讲解视频
  • 【Linux】Linux 的管道与重定向的理解
  • 监控易一体化运维:网络流量分析的智慧引擎
  • 使用Git+Cron实现BIND的Named域名配置自动化管理!
  • java加强 -File
  • 【Java-EE进阶】SpringBoot针对某个IP限流问题
  • 【Linux C/C++开发】轻量级关系型数据库SQLite开发(包含性能测试代码)
  • 【设计模式】- 创建者模式
  • 【AI面试秘籍】| 第9期:Transformer架构中的QKV机制深度解析:从原理到实践实现
  • SparkSQL操作MySQL
  • 【C语言指针超详解(六)】--sizeof和strlen的对比,数组和指针笔试题解析,指针运算笔试题解析
  • 深入解析JVM字节码解释器执行流程(OpenJDK 17源码实现)
  • 小程序 存存上下滑动的页面
  • BMS工具箱用来执行贝叶斯模型平均(BMA)计算模块
  • 中国版Cursor | 我用CodeBuddy Craft 3分钟复刻NFC经典游戏
  • 性能比拼: Nginx vs. Envoy
  • 《Python星球日记》 第69天:生成式模型(GPT 系列)
  • web第三次课后作业--基于JDBC对mysql数据库的增删查改操作
  • 主题切换方案
  • 智能手表项目风险评估与应对计划书
  • 明查|印度空军“又有一架战机被巴基斯坦击落,飞行员被俘”?
  • 中国恒大:清盘人向香港高等法院申请撤回股份转让
  • 寒武纪陈天石:公司的产品力获得了行业客户广泛认可,市场有望迎来新增量需求
  • 均价19.5万元/平米!上海徐汇滨江地王项目“日光”,销售额近70亿元
  • 哈尔滨工业大学原副校长王魁业逝世,享年92岁
  • 习近平会见委内瑞拉总统马杜罗