文章目录

  • 前言背景
  • 一、环境说明
  • 二、操作步骤
    • 1.暂停服务,备份数据
    • 2.卸载硬盘
    • 3. 操作硬盘分区所在的硬盘
    • 4.把新建的硬盘分区做成逻辑卷
      • (1)检查是否安装逻辑券软件包
      • (2)建立物理卷
      • (3)建立卷组
      • (4)建立逻辑卷
      • (5)格式化 并 挂载
      • (6)迁回数据验证
    • 5.把数据分区加入逻辑卷
      • (1)停止服务,解除挂载
      • (2)格式化 原先的存放数据的分区
      • (3)增加原先的存放数据的分区添加进卷组
      • (4)查看加入新分区后的卷组大小
      • (5)调整逻辑卷的容量
  • 三、验证结果
    • 1、再次挂载、验证
    • 2、设置开机自动挂载
    • 3、重启再次验证
  • 总结

前言背景

最近由于遇到一台 生产服务器 上硬盘分区空间不足,但该文件系统不是LVM的,想给其扩容,又怕数据丢失,服务无法正常启动,故在虚机上测试了一下。虚机测试内容如下:sdb硬盘的sdb1分区上已有mysql数据库在运行由于该分区不是逻辑卷文件系统,但想在不丢失数据而且mysql服务能正常恢复的情况下对该分区进行扩容。

一、环境说明

操作系统:centos 7.9

虚拟机硬盘分区情况:

二、操作步骤

1.暂停服务,备份数据

cp -a原数据文件夹 新数据文件夹 -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。不加 -a 的话 后期恢复数据得改成数据迁移前的对应权限,否则服务可能无法启动 

2.卸载硬盘

 umount 挂载目录

3. 操作硬盘分区所在的硬盘

fdisk /dev/sdb以实际情况为准 


lsblk 查看一下新建的分区 

4.把新建的硬盘分区做成逻辑卷

(1)检查是否安装逻辑券软件包

rpm -qa | grep lvm假如没有的话,请yum安装一下,离线安装可以用ISO镜像做yum源安装,也可以rpm包安装

(2)建立物理卷

pvcreate /dev/sdb2pvcreate [设备文件名]

(3)建立卷组

vgcreate vg_test /dev/sdb2vgcreate [选项] 卷组名 物理卷名

(4)建立逻辑卷

lvcreate -L 79G -n lv_test vg_test由于我的分区实际容量不到80G,就写79G了lvcreate [选项] [-n 逻辑卷名] 卷组名

(5)格式化 并 挂载

mkfs -t ext4 /dev/vg_test/lv_test 

mount /dev/vg_test/lv_test /test挂载回原来的目录

(6)迁回数据验证

服务正常启动,到这里最简单,还有个思路,就是把数据备份了,直接把sbd硬盘格式化并挂载,再把数据迁移回去,做法有点冒险,但也是可以达到目的。可是到后期的话扩容也是比较麻烦,做成LVM,一劳永逸。

5.把数据分区加入逻辑卷

(1)停止服务,解除挂载

(2)格式化 原先的存放数据的分区

mkfs -t ext4 /dev/sdb1

(3)增加原先的存放数据的分区添加进卷组

vgdisplay 查看卷组

vgextend vg_test /dev/sdb1

(4)查看加入新分区后的卷组大小

(5)调整逻辑卷的容量

lvresize -L 229.99G /dev/vg_test/lv_test容量可以根据上图得出lvresize [选项] 逻辑卷设备文件名

三、验证结果

1、再次挂载、验证


2、设置开机自动挂载

vi /etc/fstab 

按照格式新增 你的硬盘信息

3、重启再次验证



总结

路漫漫其修远兮,加油打工人,2022/11/20。