Linux磁盘分区扩容

2023-10-26

      磁盘分区主要包含MBR(Master Boot Record)和GPT(GUID Partition Table)两种不同方式:

      MBR(主引导记录),驱动器上的一个特殊的启动扇区,最大支持2TB,最多支持4个主分区,如果想要更多分区,需要先创建扩展分区,然后在扩展分区中创建逻辑分区。

     GPT(GUID分区表),驱动器上的每个分区都有一个全局唯一的标识符(globally unique identifier,GUID),它对磁盘大小几乎没有限制,同时还支持几乎无限个分区数量,具有更强的健壮性与更大的兼容性,并且逐步取代MBR分区方式。

      fdisk工具最大支持2TB磁盘,如果盘超过2T,需要使用parted工具。fdisk -l 可以查看磁盘的分区情况(只针对MBR分区,GPT的分区无法查看)。

      以下以CentOS7.9为例,记录新磁盘挂载、扩容磁盘挂载到新目录、扩容磁盘扩容到根分区目录、扩容数据盘到已有分区目录等4种情况。

一、新磁盘挂载

        新增数据盘/dev/sdb,大小为30T,挂载到/data目录

1、查看分区情况

#lsblk

2、创建分区

使用parted命令完成分区创建。

#parted /dev/sdb

2.1、分区转换

创建gpt分区(格式化),输入命令:

#mklabel gpt

如果磁盘容量小于2T,可以使用MBR分区,输入命令:

 #mklabel msdos

2.2、创建分区

此处创建一个分区,输入命令:

mkpart primary 1 -1

其他输入方式如百分比、容量等:

输入:mkpart primary 0 50GiB

输入:mkpart primary 0% 100%

或者划分多个分区:

输入:mkpart primary 0% 20%

输入:mkpart logic 20% 100%

2.3、查看分区

输入:print

2.4、退出parted

输入:quit

具体过程如下所: 

 3、格式化磁盘

ext4类型磁盘格式化:

mkfs.ext4 /dev/sdb1

xfs类型磁盘格式化:

mkfs.xfs /dev/sdb1

4、挂载磁盘

4.1、临时挂载:

#mkdir /data
#mount /dev/sdb1 /data

4.2、持久挂载

#echo "/dev/sdb1 /data ext4 defaults 0 0" >> /etc/fstab

或者使用blkid命令查看分区UUID,使用UUID挂载:

#echo "UUID=44d1a70c-66ad-4e3b-9fae-520fc7e3d8af /data ext4 defaults 0 0" >> /etc/fstab

5、查看磁盘目录

#df -h

新增30T存储的挂载目录/data。 

二、扩容磁盘挂载到新目录

        服务器原有磁盘320G,扩展到480G,并将新扩展的160G挂载到/var/lib/longhorn目录。

1、看磁盘情况:

#lsblk

 2、用fdisk对/dev/sda进行分区

#fdisk /dev/sda

 具体过程如下:

 3、刷新分区

#partprobe

4、查看磁盘情况

#lsblk

5、格式化磁盘分区

#mkfs.ext4 /dev/sda3

 6、挂载磁盘

临时挂载:

#mkdir -p /var/lib/longhorn
#mount /dev/sda3 /var/lib/longhorn

持久挂载:

#echo "/dev/sda3 /var/lib/longhorn ext4 defaults 0 0" >> /etc/fstab

7、查看磁盘目录

#df -h

 三、扩容磁盘扩容到根分区目录

服务器原有磁盘320G,扩展到480G,并将新扩展的160G扩容到目录/data,保留原磁盘数据。

 1、看磁盘情况:

#lsblk

2、用fdisk对/dev/sda进行分区

#fdisk /dev/sda

 具体过程如下:

 3、刷新分区

#partprobe

4、查看磁盘情况

#lsblk

5、物理分区转为卷组

#pvcreate /dev/sda3

6、显示卷组

#vgdisplay

7、扩容/dev/sda3分区到centos卷组

#vgextend centos /dev/sda3

8、将扩展空间扩容到/dev/mapper/centos-data

#lvextend -l +100%FREE /dev/mapper/centos-data

9、更新逻辑卷,使扩容生效

xfs文件系统使用此命令:

#xfs_growfs /dev/mapper/centos-data

ext4文件系统使用此命令:

#resize2fs /dev/mapper/centos-data

10、查看磁盘目录

#df -h

 /data目录有原261G扩容到421G。

四、扩容数据盘到已有分区目录

服务器数据盘50G,扩展到100G,并将新扩展的50G扩容到数据盘第二个分区目录/data/data2,保留原磁盘数据。

1、看磁盘情况

#lsblk

2、用fdisk对/dev/sdb进行分区扩容

#fdisk /dev/sdb

 先删除分区2,再创建分区2,最后写入更新,具体流程如下:

 3、刷新分区

#partprobe

4、查看磁盘情况

#lsblk

5、更新逻辑卷,使扩容生效

xfs文件系统使用此命令:

#xfs_growfs /dev/sdb2

ext4文件系统使用此命令:

#resize2fs /dev/sdb2

6、查看磁盘目录

#df -hT

 

  /data/data2目录有原40G扩容到90G。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux磁盘分区扩容 的相关文章

  • Linux 中热插拔设备时检测设备是否存在

    我正在运行 SPIcode http lxr free electrons com source drivers spi spi omap2 mcspi c在熊猫板上 我想知道其中的哪个功能code http lxr free electr
  • 如何让“grep”从文件中读取模式?

    假设有一个很大的文本文件 我只想打印与某些模式不匹配的行 显然 我可以使用egrep v patter1 pattern2 pattern3 现在 如果所有这些模式都在一个文本文件中怎么办 最好的制作方法是什么egrep从文件中读取模式 g
  • 从 TypeScript 运行任何 Linux 终端命令?

    有没有办法直接从 TypeScript 类中执行 Linux 终端命令 这个想法是做类似的事情 let myTerminal new LinuxTerminal let terminalResult myTerminal run sudo
  • proc_open() 失败并显示“权限被拒绝”

    我正在尝试使用proc open 执行程序并打印结果 但是 我不断收到 许可被拒绝 的消息 已将脚本和可执行文件的 chmod 设置为 0777 但无济于事 ini get safe mode 是假的 可能出什么问题了 我正在使用 Cent
  • 从多线程程序中调用 system()

    我们正在开发一个用 C 编写的多线程内存消耗应用程序 我们必须执行大量的 shellscript linux 命令 并获取返回码 读完之后article http www linuxprogrammingblog com threads a
  • 劫持系统调用

    我正在编写一个内核模块 我需要劫持 包装一些系统调用 我正在暴力破解 sys call table 地址 并使用 cr0 来禁用 启用页面保护 到目前为止一切顺利 一旦完成 我将公开整个代码 因此如果有人愿意 我可以更新这个问题 无论如何
  • 为什么 Linux 对目录使用 getdents() 而不是 read()?

    我浏览 K R C 时注意到 为了读取目录中的条目 他们使用了 while read dp gt fd char dirbuf sizeof dirbuf sizeof dirbuf code Where dirbuf是系统特定的目录结构
  • 在 /dev/input/eventX 中写入事件需要哪些命令?

    我正在开发一个android需要将触摸事件发送到 dev input eventX 的应用程序 我知道C执行此类操作的代码结构如下 struct input event struct timeval time unsigned short
  • diff 文件仅比较每行的前 n 个字符

    我有2个文件 我们将它们称为 md5s1 txt 和 md5s2 txt 两者都包含a的输出 find type f print0 xargs 0 md5sum sort gt md5s txt 不同目录下的命令 许多文件被重命名 但内容保
  • Locale.getDefault() 始终返回 en

    unix 机器上的服务器始终使用 en 作为默认区域设置 以下是区域设置输出 LANG en US LC CTYPE C LC NUMERIC C LC TIME C LC COLLATE C LC MONETARY C LC MESSAG
  • 拆分字符串以仅获取前 5 个字符

    我想去那个地点 var log src ap kernelmodule 10 001 100 但看起来我的代码必须处理 ap kernelmodule 10 002 100 ap kernelmodule 10 003 101 等 我想使用
  • 修改linux下的路径

    虽然我认为我已经接近 Linux 专业人士 但显然我仍然是一个初学者 当我登录服务器时 我需要使用最新版本的R 统计软件 R 安装在 2 个地方 当我运行以下命令时 which R I get usr bin R 进而 R version
  • 在 Linux 上更快地分叉大型进程?

    在现代 Linux 上达到与 Linux 相同效果的最快 最好的方法是什么 fork execve combo 从一个大的过程 我的问题是进程分叉大约 500MByte 大 并且一个简单的基准测试只能从进程中实现约 50 个分叉 秒 比较最
  • 当安装的 RPM 取代了另一个 RPM 时如何检测升级

    RPM scriptlet 被传入 1 https fedoraproject org wiki Packaging Scriptlets rd Packaging ScriptletSnippets Syntax 操作完成后 系统中将保留
  • 创建 jar 文件 - 保留文件权限

    我想知道如何创建一个保留其内容的文件权限的 jar 文件 我将源代码和可执行文件打包在一个 jar 文件中 该文件将在使用前提取 人们应该能够通过运行批处理 shell 脚本文件立即运行示例和演示 然后他们应该能够修改源代码并重新编译所有内
  • Android:ANT 构建失败,并显示 google-play-services-lib:“解析为没有项目的 project.properties 文件的路径”

    我正在尝试使用 ANT 构建我的应用程序 但在包含 google play services lib 库项目后 我惨遭失败 Step 1 我在 project properties 文件中设置了对库项目的引用 android library
  • 如何通过替换为空页映射来取消映射 mmap 文件

    Linux 用户空间有没有办法用空页面 映射自 dev null 或者可能是一个空页面 重复映射到从文件映射的页面的顶部 对于上下文 我想找到这个 JDK bug 的修复 https bugs openjdk java net browse
  • nginx 上的多个网站和可用网站

    通过 nginx 的基本安装 您的sites available文件夹只有一个文件 default 怎么样sites available文件夹的工作原理以及如何使用它来托管多个 单独的 网站 只是为了添加另一种方法 您可以为您托管的每个虚拟
  • 如何在bash中使用jq从变量中包含的json中提取值

    我正在编写一个 bash 脚本 其中存储了一个 json 值 现在我想使用 Jq 提取该 json 中的值 使用的代码是 json val code lyz1To6ZTWClDHSiaeXyxg redirect to http examp
  • gdb查找行号的内存地址

    假设我已将 gdb 附加到一个进程 并且在其内存布局中有一个文件和行号 我想要其内存地址 如何获取文件x中第n行的内存地址 这是在 Linux x86 上 gdb info line test c 56 Line 56 of test c

随机推荐

  • 音频-什么是PCM编码格式?

    PCM中文称脉冲编码调制 Pulse Code Modulation 是70年代末发展起来的 记录媒体之一的CD 在80年代初由飞利浦和索尼公司共同推出 脉码调制的音频格式也被DVD A所采用 它支持立体声和5 1环绕声 1999年由DVD
  • 正则表达式-----小数点后允许有两位数字

    校验是否全由数字组成 function isDigit s var patrn 0 9 1 20 if patrn exec s return false return true 校验登录名 只能输入5 20个以字母开头 可带数字 的字串
  • eclipse关联spring源码

    在Eclipse中如何关联spring framework的文档和源代码 1 到官方网站去下载spring framework的jar包 spring framework jar包的下载地址是 http repo spring io rel
  • 解决ubuntu18.04卡在“starting Gnome Display Manager“

    我提前安装了ssh 所以可以ssh进行下面的操作 如果你没有 你可以进入命令行 或者其他模式进行下面的操作 好多人都遇到这个问题 我提前说下 安装驱动之前 最好安装个ssh ssh 怎么用自己百度吧 这样万一你的电脑卡住了 你找个别人的电脑
  • autoApprove

    服务端最主要的一个配置就是使用 EnableAuthorizationServer 注解 该注解的作用就是引入了一些 OAuth2 相关的端点 包含以下的端点 AuthorizationEndpoint 根据用户认证获得授权码 有下面两个方
  • 工作日记:JavaScript生成随机色

    不多啰啰 直接上硬货 获取指定闭区间的随机数 param min 最小值 param max 最大值 returns number export function getRandomNum min max let result if min
  • 2007.08.21单链表的运算(查找,插入,删除)

    2 查找 1 按序号查找 在单链表中 由于每个结点的存储位置都放在其前一结点的next域中 因而即使知道被访问结点的序号i 也不能像顺序表那样直接按序号i访问一维数组中的相应元素 实现随机存取 而只能从链表的头指针出发 顺链域next诸葛结
  • 代理记账公司怎样找客户?教你一个简单又有效的方法

    针对许多初创期公司而言 资金和人力资源管理都非常欠缺 重心点更偏重于业务流程自身 因而会将会计等有关问题交到代理记账公司 实际上这个是较为聪明的作法 代理记账是指将本公司的财务核算 做账 纳税申报等一系列的工作中所有委派给技术专业做账公司进
  • C语言之求两个整数之和

    include
  • uva 120(排序,检索)

    题目 Stacks and Queues are often considered the bread and butter of data structures and find use in architecture parsing o
  • Tesseract 最简单的图片文字识别

    Tesseract是一个开源的库 下面写一个最简单的实例 include stdafx h include strngs h include baseapi h include
  • python: more Layer Architecture and its Implementation in Python and mysql 8.0

    mysql 8 0 drop table DuStudentList 学生表 create table DuStudentList StudentId INT NOT NULL AUTO INCREMENT comment 主键id 自动增
  • [转]SQL的一对多,多对一,一对一,多对多的含义以及使用方法。

    1 一对多 比如说一个班级有很多学生 可是这个班级只有一个班主任 在这个班级中随便找一个人 就会知道他们的班主任是谁 知道了这个班主任就会知道有哪几个学生 这里班主任和学生的关系就是一对多 2 多对一 比如说一个班级有很多学生 可是这个班级
  • Masm for Windows集成开发环境编写汇编程序

    由于最近在学习汇编 用的软件是一款叫 Masm for Windows集成开发环境 但是发现该软件的资料比较少 对于我们这样刚刚学习汇编的同学 我查找了很多资料 下面主要是介绍该工具及2个汇编的基本程序 一 软件的使用 下面是阅读完四川大学
  • 网络编程(JavaEE初阶系列10)

    目录 前言 1 网络编程的基础 1 1为什么需要网络编程 1 2什么是网络编程 1 3网络编程中的基本概念 1 3 1发送端和接收端 1 3 2请求和响应 1 3 3客户端和服务端 2 Socket套接字 2 1概念 2 2分类 3 UDP
  • k8s docker集群搭建

    一 Kubernetes系列之介绍篇 Kubernetes介绍 1 背景介绍 云计算飞速发展 IaaS PaaS SaaS Docker技术突飞猛进 一次构建 到处运行 容器的快速轻量 完整的生态环境 2 什么是kubernetes 首先
  • SpringBoot+Swagger2实现API文档+lombok工具包简化代码

    Swagger UI 提供了一个可视化的UI页面展示描述文件 接口的调用方 测试 项目经理等都可以在该页面中对相关接口进行查阅和做一些简单的接口请求 该项目支持在线导入描述文件和本地部署UI项目 lombok是一个可以帮助我们简化java代
  • linux自定义信号,并kill测试

    1 自定义信号的说明 有时候我们需要在程序中利用信号来控制程序行为 linux为我们提供了2个已经定义的信号SIGUSR1和SIGUSR2 一般的程序利用这2个信号已经能满足需要 不过我最近需要一些其他信号来避免覆盖原来的信号处理函数 上网
  • python __set__ __get__ 等解释

    python set get 等解释 标签 pythondescriptoriteratorclassdeleteobject 2012 04 21 16 43 9774人阅读 评论 2 收藏 举报 分类 python 61 如果你和我一样
  • Linux磁盘分区扩容

    磁盘分区主要包含MBR Master Boot Record 和GPT GUID Partition Table 两种不同方式 MBR 主引导记录 驱动器上的一个特殊的启动扇区 最大支持2TB 最多支持4个主分区 如果想要更多分区 需要先创