Linux下未做lvm情况下如何扩容才能保证现有数据的不丢失

系统:Centos7,磁盘只有一块
1、环境描述:因一开始为做好规划导致磁盘分区不够用,现需要进行扩容
数据盘/dev/vdb1 (非LVM卷)中存在数据并且随生产需要的增长已经存不下了,需要进行扩容操作
在这里插入图片描述
① 这里模拟需求,一些大文件,再创建一些小文件,添加一些数据

dd if=/dev/zero of=mysqllog.txt  bs=1024M count=14
touch mysql-log{0001..5888}
echo qwert123456 > mysql-log3 

② 使用hash算法得出文件的hash值,等扩容完成后进行比对
在这里插入图片描述
③ 将此目录下的文件打一个包再hash

tar zcf mysql-bak.tar.gz /mysql/*

④ 把值输出到一个文件中报存
在这里插入图片描述
2、因为没有多余的数据盘可以拷贝数据,所以只能在现有磁盘/dev/vdb上,想办法,并实现把原有空间15G扩容并保证数据的完好无损

思路: 可以先把vdb磁盘的剩余空间35G分区并做成LVM逻辑卷,然后把原有数据从vdb1的分区中拷贝到新创建的逻辑卷中,最后再把vdb1分区也做成pv物理卷加入到LVM中,这样既实现了扩容又保证了原有数据的安全性
在这里插入图片描述
3、把剩余容量分区并做成LVM
① 硬盘分区

fdisk /dev/vdb

在这里插入图片描述
同步分区表

partprobe

② 制作pv,vg,lv

# pvcreate /dev/vdb5 创建物理卷
  Physical volume "/dev/vdb5" successfully created.
# pvs  查看pv信息
  PV         VG Fmt  Attr PSize   PFree  
  /dev/vdb5     lvm2 ---  <35.00g <35.00g
  
# vgcreate vg1 /dev/vdb5  创建卷组vg1
  Volume group "vg1" successfully created
# vgs 查看vg信息
  VG  #PV #LV #SN Attr   VSize   VFree
  vg1   1   1   0 wz--n- <35.00g    0

# lvcreate -n lv1 -l 100%FREE vg1  把vg1剩余容量做成逻辑卷lv1
  Logical volume "lv1" created.
# lvs   查看lv信息
  lv1  vg1 -wi-a----- <35.00g             

③ 给逻辑卷制作文件系统xfs

mkfs.xfs /dev/vg1/lv1 
# blkid /dev/vg1/lv1 
/dev/vg1/lv1: UUID="46e49f78-1073-463f-a55c-39ee28ba711e" TYPE="xfs" 

④ 创建挂载点并挂载
在这里插入图片描述
4、拷贝数据到逻辑卷的挂载点中

cp -r /mysql/* /newdisk/

为了安全起见,要使用hash算法验证一下前后文件的hash值是否一样,一样的话就可以把原有的分区vdb1格式化并做成pv卷再加入到LVM中。

比对结果相同,确认数据无损后再执行格式化

md5sum /newdisk/mysql-log0001 /newdisk/mysqllog.txt  /newdisk/mysql-bak.tar.gz > /hash2.txt

在这里插入图片描述
5、格式化/dev/vdb1分区并做成pv合并到LVM卷中

pvcreate /dev/vdb1
vgextend vg1 /dev/vdb1
lvextend  -L +14G  /dev/vg1/lv1


在这里插入图片描述
查看挂载容量,新扩容的14G容量并没有生效
因为刚刚添加的容量还没有文件系统,使用以下命令同步文件系统即可

 xfs_growfs + 逻辑卷   # xfs文件系统使用这个
 resize2fs  + 逻辑卷   # ext4的文件系统使用resize2fs

在这里插入图片描述
6、此时就实现了分区的扩容并保证了数据的不丢失
在这里插入图片描述

如果还有好的方法欢迎大神们评论指教

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值