一、环境

在这里插入图片描述

二、命令及含义

  • 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就到此结束了,后期会给大家带来更多的脚本,感谢认真读完,如果觉得还可以,那么给作者点赞、收藏、关注吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/83245.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/83245.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/83245.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

获取相机图像(ROS2)

文章目录 前言一、获取笔记本自带相机图像1.打开终端2.安装usb-cam功能包3.启动相机节点4.再打开一个终端5.启动rqt查看图像(1)方法一:点击窗口选项,打开图像话题(2)方法二:使用命令行,直接打开图像话题 二、获取USB相机图像总结 …

Go 语言中接口类型转换为具体类型

类型转换方法 在 Go 语言中,将接口类型转换为具体类型主要有以下几种方法: 1. 类型断言(Type Assertion) var i interface{} "hello"// 基本形式 s : i.(string) // 将接口i转换为string类型 fmt.Println(s) // 输…

ES C++客户端安装及使用

介绍 Elasticsearch , 简称 ES ,它是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful 风格接口,多数据源&…

力扣-94.二叉树的中序遍历

题目描述 给定一个二叉树的根节点 root &#xff0c;返回 它的 中序 遍历 。 class Solution { public:void inorder(TreeNode* root, vector<int>& res){//C这里&一定要加if(!root)return;inorder(root->left,res);res.push_back(root->val);inorder(ro…

《大模型微调实战:Llama 3.0全参数优化指南》

全参数微调&#xff08;Full Parameter Fine-Tuning&#xff09;是推动大模型适应垂直领域任务的核心技术&#xff0c;尤其对于Llama 3.0这类千亿级参数模型而言&#xff0c;其性能优化与场景适配能力直接决定了实际应用价值。然而&#xff0c;全参数微调面临计算成本高、内存占…

张 提示词优化(相似计算模式)深度学习中的损失函数优化技巧

失函数的解释 损失函数代码解析 loss = -F.log_softmax(logits[

《Spring Boot 4.0新特性深度解析》

Spring Boot 4.0的发布标志着Java生态向云原生与开发效能革命的全面迈进。作为企业级应用开发的事实标准框架&#xff0c;此次升级在运行时性能、云原生支持、开发者体验及生态兼容性四大维度实现突破性创新。本文深度解析其核心技术特性&#xff0c;涵盖GraalVM原生镜像支持、…

协作赋能-1-制造业生产流程重构

制造业生产流程重构——从“信息孤岛”到“全链协同” 在制造业的数字化转型浪潮中&#xff0c;一个看似矛盾的现象正在蔓延&#xff1a;企业部署了ERP、MES、PLM等管理系统&#xff0c;却仍未摆脱“纸质工单满天飞、跨部门扯皮不断”的困境。以汽车制造业为例&#xff0c;其…

基于React的高德地图api教程002:自定义地图样式

文章目录 2、自定义地图样式2.1 自定义底图样式2.2 添加卫星地图和路网图2.3 完整代码下载2、自定义地图样式 2.1 自定义底图样式 高德地图提供了多种地图样式,对底图进行设置,可选样式如下图所示: 添加地图样式切换控件: <div style={{marg

谷歌Gemini生图升级:与GPT-4o的对决,谁更胜一筹?

在人工智能技术的快速发展中&#xff0c;图像生成&#xff08;即“生图”&#xff09;已经成为AI领域的一大热点。谷歌最近对其多模态模型Gemini 2.0 Flash的生图功能进行了升级&#xff0c;从之前的“实验版”&#xff08;Gemini 2.0 Flash Experimental Image Generation&…

OpenAI官方指南,详细解释了何时使用哪种AI模型

&#xff08;1&#xff09;GPT-4o • 日常任务专家&#xff1a;头脑风暴/会议纪要/邮件撰写/创意生成 • 全模态支持&#xff1a;兼容GPTs插件/数据分析/图像生成/画布协作/高级语音等功能&#xff0c;支持文档/图片/CSV/音视频等多格式输入 【典型用例】 • 将会议记录提炼…

火山引擎发展方向

火山引擎作为字节跳动旗下的企业级技术服务平台&#xff0c;要发展客户需要结合自身技术优势、行业趋势和市场需求&#xff0c;制定差异化的策略。以下是一些关键方向和建议&#xff1a; --- ### **一、明确目标市场定位** 1. **聚焦核心赛道** - **泛互联网行业**&…

在 Angular 中, `if...else if...else`

在 Angular 中&#xff0c;模板语法本身并不直接支持 if...else if...else 这样的多条件分支结构。不过&#xff0c;你可以通过使用 *ngIf 指令结合其else模板功能来实现类似的效果。下面是如何模拟if...else if...else逻辑的方法&#xff1a; 示例&#xff1a;实现if...else …

利用Backtrader实现回测策略的可视化与图表绘制

Plotting功能是Backtrader的一大特色,能够帮助直观地展示交易数据、策略表现等信息,为分析和优化交易策略提供有力支持。 (一)Backtrader的主要特点 灵活性:支持多种数据源和交易接口,用户可以根据自己的需求灵活选择。无论是股票、期货、外汇等不同类型的金融市场数据,…

提升英文输入效率:基于Docker的Qwerty Learner本地搭建与使用指南

文章目录 前言1.关于qwerty-learner2.Docker部署3.简单使用演示4.安装cpolar内网穿透5. 配置公网地址6. 配置固定公网地址总结 前言 小伙伴们&#xff0c;你们有没有遇到过这种情况&#xff1a;中文输入流畅自如&#xff0c;一到英文模式就变成了新手司机&#xff1f;别担心&a…

BUUCTF——shrine

BUUCTF——shrine 进入靶场 只有一串代码 import flask import os app flask.Flask(__name__) app.config[FLAG] os.environ.pop(FLAG) #程序从环境变量 FLAG 读取一个敏感值&#xff0c;并存储在 app.config[FLAG] 中。 #安全问题&#xff1a;如果攻击者能访问 app.con…

【Python】对象生命周期全解析

Python对象生命周期全解析 在Python中&#xff0c;一个对象从创建到销毁会经历一系列过程&#xff0c;理解这些过程对于编写高效、可靠的Python代码非常重要。下面我将详细讲解Python对象的完整生命周期。 1. 对象创建阶段 (1) 内存分配 当使用类实例化时(obj MyClass())&…

科学养生指南:解锁健康生活的密码

健康是人生最宝贵的财富&#xff0c;科学养生则是守护这笔财富的关键。即使抛开传统中医理论&#xff0c;现代科学也为我们提供了诸多实用的养生方法。​ 合理饮食是健康养生的基石。人体需要碳水化合物、蛋白质、脂肪、维生素和矿物质等多种营养物质维持运转。日常饮食应遵循…

深入解析 Python 应用日志监控:ELK、Graylog 的实战指南

深入解析 Python 应用日志监控:ELK、Graylog 的实战指南 引言 在现代应用开发中,日志不仅仅是用于记录错误和调试信息,它更是系统运行状况的窗口,帮助开发者和运维人员监控、优化应用性能。Python 作为广泛应用的开发语言,其应用日志管理的重要性不言而喻。而 ELK(Elas…

【vue】脚手架

一、使用脚手架创建项目 1.打开编辑器终端 2.输入命令vue create 项目名 3.选择自定义配置&#xff0c;选以下几种常用的配置项&#xff08;空格选中或删除&#xff09; 二、常规操作 进入项目&#xff1a;cd 项目名 返回&#xff1a;cd .. 运行项目:npm run serve 停止项目:ct…