背景说明

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

方案说明

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

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

• 使用卷组剩余的空间

限制条件

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

扩容方案

方案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. Chrome设置header请求响应头 Chrome ModHeader插件,添加/修改/删除HTTP请求标头和响应标头

    ModHeader,是一款可以添加/修改/删除请求标头和响应标头的浏览器插件. ModHeader插件功能 首先,ModHeader插件支持添加/修改/删除请求标头和响应标头,并可以启用基于URL / ...

  2. 解决Oracle锁表情况

    在使用Oracle数据库更新数据的时候,有两种查询方式可以修改编辑数据: select t.*,t.rowid from table t select * from table for update ...

  3. AOT编译Avalonia应用:StarBlog Publisher项目实践与挑战

    前言 最近我使用 Avalonia 开发了一个文章发布工具,StarBlog Publisher. Avalonia 是一个跨平台的 UI 框架,它可以在 Windows.Linux 和 macOS ...

  4. 【Ubuntu】Ubuntu 配置镜像源(ARM)

    [Ubuntu]Ubuntu 配置镜像源(ARM) 零.起因 最近在QEMU中安装了个ubuntu-24.04-live-server-arm64,默认是国外的软件源,很慢,故替换到国内. 壹.替换 ...

  5. 【WinForm】WinForm 生成单文件程序

    WinForm 生成单文件程序 零.解决 安装 Costura.Fody 安装好这个库后生成的就是单文件了. .Net 3.5 NuGet控制台 NuGet\Install-Package Costu ...

  6. Win10锁屏与关机相关设置-注册表

    禁用锁屏 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\SessionData ...

  7. 让IE6、IE7、IE8支持CSS3的圆角、阴影样式-最好的插件

    想做个页面用到css3的圆角和阴影效果,但ie浏览器不支持,之前也听说有插件可以实现,周六在网上找到了一个方法,原文如下: 但凡是前端工程师,都知道IE6,IE7,IE8不支持.或者不完全支持CSS3 ...

  8. 还有的时候,会遇到DataGrid里面嵌套DataGrid(重叠嵌套),然后里面的鼠标滚轮无法响应外面的滚动,为此记录下解决方案

    与上一篇区别在于,详情里面的模板通常是通用的,被定义在样式文件中,被重复使用,因此无法为其添加后台代码,如果能添加后台代码,请翻阅第一篇:所以需要用到命令的方式来辅助事件的抛出,当然还可以利用第三方库 ...

  9. 在IIS发布.net9 api程序踩坑总结

    参照:.NET 9.0 WebApi 发布到 IIS 详细步骤_webapi发布到iis-CSDN博客 环境搭建: 注意安装与程序版本对应的Windows Server Hosting,安装完成之后, ...

  10. SpringBoot——SSM简单整合v0.1

    学习SpringBoot初次整合SSM,后续需要不断优化 参考SpringBoot3教程[1] 导入依赖 pom.xml <?xml version="1.0" encodi ...