背景说明

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

方案说明

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

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

• 使用卷组剩余的空间

限制条件

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

扩容方案

方案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. .tpl 是什么文件

    介绍 .tpl 是一种文件扩展名,通常是指模板文件(template file). 模板文件是包含预定义格式和占位符变量的文本文件,用于生成其他文件或输出,如代码或配置文件. 一些常见的模板文件格式包 ...

  2. mac ssh 密钥登陆远程服务器

    第一步 创建ssh文件目录 打开终端 执行: mkdir ~/.ssh 第二步 将密钥对移到ssh目录下 mv ~/Downloads/MyKeyPair.pem ~/.ssh/MyKeyPair.p ...

  3. 【WPF开发】 direct3d11 调试报错

    环境:VS2022 WPF Win11 过程:准备调试d3d11着色器转换nv12->rgb的过程 报错信息:DXGI_ERROR_SDK_COMPONENT_MISSING 应用程序请求的操作 ...

  4. 关于Linux的core dump

      core dump简介 core dump就是在进程crash时把包括内存在内的现场保留下来,以备故障分析. 但有时候,进程crash了却没有输出core,因为有一些因素会影响输出还是不输出cor ...

  5. 导入SpaceClaim的iges模型尺寸被放大1000倍的问题

    问题 ANSYS APDL 和 Workbench 联合仿真时,导入 SpaceClaim 的 .iges 模型尺寸被放大 1000 倍数. 如 APDL 生成的尺寸为 10 mm(注:此处的 mm ...

  6. 【SpringCloud】SpringCloud Bus消息总线

    SpringCloud Bus消息总线 概述 上一讲解的加深和扩充,一言以蔽之 分布式自动刷新配置功能 Spring Cloud Bus配合Spring Cloud Config使用可以实现配置的动态 ...

  7. 学习unigui【20】unistringGrid

    做成下面效果图: 采用unistringGrid控件. 问题: 1.不同的日期区间如何得到.如: 项目   开始时间时间 -- 终止使用时间 呼吸机  yyyy-mm-dd   yyyy-mm-dd ...

  8. PIKACHU之暴力破解

    PIKACHU之暴力破解 基于表单的暴力破解 进入靶场后是一个简易的登录界面 随便输入用户名与密码观察回显 由于回显是模糊回显,并没有表示是用户名错误还是密码错误,直接进入BP采用暴力破解,但是在进行 ...

  9. Linux运维基础(二)网络常见问题

    问题:网卡地址配置不正确 1.网卡地址和虚拟主机的网卡地址不统一 2.网关和DNS的信息不正确 解决方法:如何重新配置网卡地址信息 步骤一:在命令行中使用"nmtui"命令,回车 ...

  10. 一文速通 Python 并行计算:07 Python 多线程编程-线程池的使用和多线程的性能评估

    一文速通 Python 并行计算:07 Python 多线程编程-线程池的使用和多线程的性能评估 摘要: 本文介绍了 Python 线程池(ThreadPoolExecutor)的使用方法,包括线程池 ...