文章目录
前言背景
最近由于遇到一台 生产服务器 上硬盘分区空间不足,但该文件系统不是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/sdb2
pvcreate [设备文件名]
(3)建立卷组
vgcreate vg_test /dev/sdb2
vgcreate [选项] 卷组名 物理卷名
(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。