背景说明

我们在部署好的系统中,随着数据的不断增加, 发现根分区频繁出现满载问题,这种情况下,我们需要对根分区进行扩容。

方案说明

• 使用空闲磁盘扩容到根分区

• 使用空闲的分区扩容到根分区

• 使用卷组剩余的空间

限制条件

• 系统根分区必须为逻辑卷分区

扩容方案

方案1:空闲磁盘扩容到根分区

[root@yuhaohao ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。 更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。 Device does not contain a recognized partition table
使用磁盘标识符 0xfc6b642b 创建新的 DOS 磁盘标签。 命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-4194303,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-4194303,默认为 4194303):
将使用默认值 4194303
分区 1 已设置为 Linux 类型,大小设为 2 GiB
# 这里是将磁盘转换为lvm分区
命令(输入 m 获取帮助):T
已选择分区 1
Hex 代码(输入 L 列出所有代码):8e
已将分区“Linux”的类型更改为“Linux LVM”
命令(输入 m 获取帮助):p 磁盘 /dev/sdb:2147 MB, 2147483648 字节,4194304 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xfc6b642b 设备 Boot Start End Blocks Id System
/dev/sdb1 2048 4194303 2096128 8e Linux LVM 命令(输入 m 获取帮助):w
The partition table has been altered! Calling ioctl() to re-read partition table.
正在同步磁盘。 # 创建物理卷
[root@yuhaohao ~]# pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created. # 扩展新增的物理卷到根分区的卷组中,说明:centos为根分区的卷组名称
[root@yuhaohao ~]# vgextend centos /dev/sdb1 # 将逻辑卷的空间扩展到根分区的空间中,注意:/dev/mapper/centos-root为根分区的文件系统名称,具体可以df -Th查看
[root@yuhaohao ~]# lvextend -l +100%FREE /dev/mapper/centos-root # 刷新根分区,使扩容的空间生效
[root@yuhaohao ~]# xfs_growfs /dev/mapper/centos-root

方案2:使用空闲的分区扩容到根分区

# 这种场景适用于根分区存在未格式化的分区空间
# 查看当前系统目录分区信息
[root@yuhaohao ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs 3.9G 4.0K 3.9G 1% /dev/shm
tmpfs 3.9G 17M 3.9G 1% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root 18G 7.5G 10.5G 42% /
/dev/vda1 497M 172M 326M 35% /boot
tmpfs 798M 0 798M 0% /run/user/0
[root@yuhaohao ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
vda 252:0 0 200G 0 disk
├─vda1 252:1 0 500M 0 part /boot
└─vda2 252:2 0 19.5G 0 part
├─centos-root 253:0 0 17.5G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP] # 这里我们可以看出根文件系统目录大小为18G,系统盘大小为200G。我们需要将系统盘剩余分区全部扩展到根分区使用。
[root@yuhaohao ~]# fdisk /dev/vda
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): n
# 1.下一步选择p
# 2.下一步默认
# 3.下一步默认
# 4.下一步默认
# 5.下一步输入t(这里是修改分区类型)
# 6.下一步输入3
# 7.下一步分输入8e(分区格式)
# 8.下一步输入w保存当前修改 # 加载分区信息,这里我们上面使用fdisk工具只是将分区信息写到磁盘,如果需要mkfs磁盘分区则需要重启系统,而使用partprobe则可以使kernel重新读取分区信息,从而避免重启系统。
[root@yuhaohao ~]# partprobe # 在创建好的分区中创建物理卷
[root@yuhaohao ~]# pvcreate /dev/vda3 # 查看创建好的物理卷
[root@yuhaohao ~]# pvdisplay # 将创建好的物理卷加到根分区的卷组中
[root@yuhaohao ~]# vgextend centos /dev/vda3 # 将逻辑卷的空间扩展到根分区的空间中,注意:/dev/mapper/centos-root为根分区的文件系统名称,具体可以df -Th查看
[root@yuhaohao ~]# lvextend -l +100%FREE /dev/mapper/centos-root # xfs_growfs命令在线调整xfs格式文件系统大小
[root@yuhaohao ~]# xfs_growfs /dev/centos/root # 查看扩容结果
[root@yuhaohao ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
vda 252:0 0 200G 0 disk
├─vda2 252:2 0 19.5G 0 part
│ ├─centos-swap 253:1 0 2G 0 lvm
│ └─centos-root 253:0 0 197.5G 0 lvm /
├─vda3 252:3 0 180G 0 part
│ └─centos-root 253:0 0 197.5G 0 lvm /
└─vda1 252:1 0 500M 0 part /boot

方案3:使用卷组剩余的空间

# 在实际的情况中,可能存在卷组中还存在未使用的空间,这里可以直接使用卷组的空间,扩容到对应的分区中
[root@yuhaohao~]# vgdisplay
  --- Volume group ---
  VG Name centos
  System ID
  Format lvm2
  Metadata Areas 2
  Metadata Sequence No 8
  VG Access read/write
  VG Status resizable
  MAX LV 0
  Cur LV 3
  Open LV 3
  Max PV 0
  Cur PV 2
  Act PV 2
  VG Size 713.13 GiB
  PE Size 4.00 MiB
  Total PE 259362
  Alloc PE / Size 189440 / 440.00 GiB
  Free PE / Size 69922 / 273.13 GiB
  VG UUID 9hZe8Z-bRSM-RSlQ-djFU-jrmg-aCrf-yzh3rx # 上面可以看出,centos卷组还存在273G的未使用空间,这里可以将此部分空间扩容到根分区中。
# 这里待扩容的逻辑卷可以通过df -h看
[root@yuhaohao ~]# lvresize -L +200G /dev/mapper/centos-root
# xfs_growfs命令在线调整xfs格式文件系统大小
[root@yuhaohao ~]# xfs_growfs /dev/centos/root

Centos7.x根分区扩容的更多相关文章

  1. Centos7.0根分区扩容

    添加一块10G的硬盘 查看磁盘大小 # df -Th 查看物理卷组 # vgdisplay 查看逻辑卷 # lvs 查看磁盘信息 # fdisk -l 对添加的10G硬盘分区 # fdisk /dev ...

  2. 如何为根分区扩容(centos7为例)

    linux系统所有的文件都是存放在根分区中的,如果根分区容量即将耗尽,我们就需要给根分区扩容,我们可以使用lsblk命令来查看,系统的根分区实际是逻辑卷,所以想要扩展根分区只要将逻辑卷扩容就可以了.此 ...

  3. 从yum提示空间不足到根分区扩容

    记录一次安装软件的报错 --1261065212@qq.com         1.系统版本(VMware 虚拟机) [root@ansible-admin ~]# cat /etc/redhat-r ...

  4. linux根分区扩容

    Linux 根分区扩容 1.fdisk –l  (红线部分为新添加的硬盘) 2.磁盘格式化 3. mkfs.ext3 -T largefile /dev/sde(格式化上面的分区) 4. vgdisp ...

  5. Linux 分区扩容(根分区扩容,SWAP 分区扩容,挂载新分区为目录)

    请访问原文链接:https://sysin.org/blog/linux-partition-expansion/,查看最新版.原创作品,转载请保留出处. 作者:gc(at)sysin.org,主页: ...

  6. centos7 根分区扩容

    系统安装时候使用的默认分区,根分区只分了50G,使用的是LVM 想把home分区分出来660G给根分区 先查了点资料开搞 由于xfs分区只支持增大,不支持缩小,所以home目前是xfs格式无法进行缩小 ...

  7. CentOS7,非LVM根分区扩容步骤:

    1.查看现有的分区大小 非LVM分区,目前磁盘大小为40G,根分区总容量为40G,(是自定义分区安装的) 2.关机增加磁盘大小至100G 如果你们是vmwaer虚拟软件安装的那如下入扩容: 3.查看磁 ...

  8. 实战 | Linux根分区扩容

    一个执着于技术的公众号 一个执着于技术的公众号 前言 Linux系统作为服务器操作系统,经常遇到一个问题就是服务器分区磁盘空间不足需要扩容的情况.本文以linux系统最常见的发行版centos7系统为 ...

  9. 如何在Virtualbox中对Ubuntu系统根分区扩容

    转载:             参见博客: https://blog.csdn.net/LEON1741/article/details/56494797 前在Virtualbox中安装了一个Ubun ...

  10. Linux 根分区扩容

    扩容分区之前,首先要保证当前有闲置空间 1. 查看当前现有分区情况 df -lah 可以看出当前根分区只剩 6.4 G 可用 2. 查看当前磁盘情况 fdisk -l 可以看出有 30G的未分配空间 ...

随机推荐

  1. 本地项目上传到gitee

    前置条件:本地已经装好了GIt和GITEE有远程地址 检查本地装好了GIT:鼠标右键 检查准备好了远程:地址 本地项目拷贝到目录 D:\tmp2024-02-19\code 本地项目所在文件夹打开gi ...

  2. 什么是RESTful 或 GraphQL?

    RESTful 与 GraphQL 深度解析 在前端的开发过程中,相信 everyone 对 Get.POST 等请求方式都很熟悉,那么这些请求是归于哪种架构或者设计风格可能又不是很熟.现在在这简单的 ...

  3. 如果在安装32位Oracle客户端组件的情况下64位模式运行, 将出现此问题.

    场景重现 在一台Windows 7 32-bit电脑上 安装了Oracle 11gR2 32-bit的客户端 用 VS2010 写的一个基于数据库驱动的项目 操作Oracle数据库都挺正常的 后来.. ...

  4. study Rust-3【表达式和函数】

    1. Rust与优美的pascal很相似.但是这个表达式概念很有意思.见上图.[1.条件赋值语句:2.表达式返回值] 2.注意变量和隐藏变量的概念,这个也有创意. 3.函数在Rust无处不在.

  5. BI工具革命派vs传统强者:DataFocus.ai与Tableau的终极对决

    1. 摘要 DataFocus.ai 作为新一代商业智能工具,强调基于搜索的分析方式,旨在让业务用户能够轻松进行数据探索.该平台集成了数据仓库,并侧重于赋能非技术人员进行自助式分析.其核心理念是通过自 ...

  6. 结合钉钉机器人用python写监控打印机碳粉状态程序

    点击查看代码 from pysnmp.hlapi import * import requests import json # 配置信息 PRINTER_IP = '1.1.1.1' # 打印机IP ...

  7. window下配置多个Git账号

    三步完成配置一台电脑下多git账号配置 1.生成密钥 git客户端安排好后,打开git Bash,生成SSH key. ssh-keygen -t rsa -C "user1111@emai ...

  8. yolov8 框架自带模型体验页面

    简介 YOLOv8 是 ultralytics 公司在 2023 年 1月 10 号开源的 YOLOv5 的下一个重大更新版本,目前支持图像分类.物体检测和实例分割任务. YOLOv8 是一个 SOT ...

  9. python打包exe自定义图标

    1.生成.ico图标 https://www.aconvert.com/cn/icon/jpg-to-ico/ 2.打包 pyinstaller -F -w -i 666.ico pdfToword. ...

  10. 27.7K star!这个SpringBoot+Vue人力资源管理系统,让企业开发事半功倍!

    嗨,大家好,我是小华同学,关注我们获得"最新.最全.最优质"开源项目和高效工作学习方法 "只需一个脚手架,轻松搭建企业级人事管理系统!" 微人事(vhr)是一款 ...