lvm逻辑卷扩容详解

(一)情况介绍

        cnetos7,发现lvm逻辑卷占用空间已满

        很明显,df -h 查看磁盘空间,发现deploylvm这个逻辑卷20g都被占用了,不考虑挂载的目录下内容是不是可以删除,我们需要扩容

(二)查看挂载目录下的大文件

        进入挂载目录        cd /opt/tidb-deploy/

        查看当前目录占用空间        du -h --max-depth=1  (-h 代表容易读的显示; 1代表最大深度,如果要查询当前文件下的子目录,可以改成2)  

        很明显,software目录占用了19g的空间,进入这个目录,继续执行du命令,找到比较大的文件,看看是什么,如果可以删除,那么空间占用也会降低,这里我们考虑扩容

(三)lvm扩容前的查询情况

         为了方便理解,下面全面了解当前lvm空间情况,便于后续扩容操作。

        (1)pv 物理卷查询(pvs / pvdisplay)

                很明显,磁盘sdb的分区sdb1,在这上面创建了pv,这些pv组成了一个vg卷组(tidbvg)有空闲的物理卷pv,7679个PE,1个PE4m,也就是大约7679*4m≈30g的空闲空间 

        (2)vg 卷组查询(vgs / vgdisplay)

                 这个tidbvg卷组是100g,已分配70g,30g未分配

        (3)lv   逻辑卷查询(lvs / lvdisplay)

                很明显,100g的tidbvg卷组,划分了2个lvm逻辑卷,分别是50g的datalvm和20g的deploylvm,现在我们是deploylvm满了,扩容这个

        (4)空闲磁盘查询 (lsblk)

                这里可以看到sdb1只分了2个lvm,还有30g没分,一块sdc磁盘是新增的,还没用到 

(四)规划扩容

                经过上面的查询,服务器其实有30g的空间可以扩容lvm,不必再增加新的磁盘

                这也就是为什么在创建lvm逻辑卷的时候最好预留一部分空间的原因。如果是生产环境,数据盘满了,我可以直接用预留空间扩容,后续再考虑增加磁盘,不会影响业务,方便操作。

                下面扩容从使用已有的预留空间扩容,和新增磁盘扩容lvm2个部分介绍扩容操作。

(五)lvm扩容操作

        (1)使用已有的预留空间扩容lvm

                通过上面的查询,这30g的预留空间实际上已经是vg卷组里的空间了,所以我们直接扩展lvm就行

                (注意扩容的时候,+20g,这个加号 不要丢,+是扩容20g,不带加号是扩容到20g,概念是不一样的哦) 

lvextend -L +20g /dev/tidbvg/deploylvm 

                 可以看到LV虽然扩展了,但是文件系统大小还是原来的,下面开始扩容文件系统

                centos6:ext4文件系统扩容使用命令语法:resize2fs 逻辑卷名称(resize2fs /dev/tidbvg/deploylvm )
                centos7,8:xfs文件系统扩容使用命令语法:xfs_growfs 挂载点  (xfs_growfs /opt/tidb-deploy)

                resize2fs和xfs_growfs 两者的区别是传递的参数不一样的,xfs_growfs是采用的挂载点;resize2fs是逻辑卷名称,而且resize2fs命令不能对xfs类型文件系统使用;当然一般来说centos7是推荐使用的xfs文件系统,但也可以是ext4,这个自己的服务器可以通过 df -T 命令自行查看

xfs_growfs /opt/tidb-deploy

                在线扩容完成,嘎嘎方便 

        (2)新增磁盘扩容lvm

                如何新增磁盘,emo,这个自己操作吧。

                空闲磁盘查询的时候发现有一块sdc磁盘没用,这个是我新增进去的,使用这个再扩容20g,一些步骤可以参考

                新增磁盘创建LVM逻辑卷?速来_小小白下士的博客-CSDN博客

                1.新增磁盘分区 

                        fdisk /dev/sdc

                2.创建pv物理卷

pvcreate /dev/sdc1
--输出:Physical volume "/dev/sdc1" successfully created.

                3.扩展vg卷组 

                vgextend 需要扩展的vg组名  空闲磁盘名称

                可以看到tidbvg卷组现在空闲60g,就是刚扩展的50g+原来剩下的10g

[root@tidbserver software]# pvs
  PV         VG     Fmt  Attr PSize    PFree  
  /dev/sdb1  tidbvg lvm2 a--  <100.00g <10.00g
  /dev/sdc1         lvm2 ---   <50.00g <50.00g
[root@tidbserver software]# vgextend tidbvg /dev/sdc1
  Volume group "tidbvg" successfully extended
[root@tidbserver software]# pvs
  PV         VG     Fmt  Attr PSize    PFree  
  /dev/sdb1  tidbvg lvm2 a--  <100.00g <10.00g
  /dev/sdc1  tidbvg lvm2 a--   <50.00g <50.00g
[root@tidbserver software]# vgs
  VG     #PV #LV #SN Attr   VSize   VFree 
  tidbvg   2   2   0 wz--n- 149.99g 59.99g

                4.扩展lv逻辑卷 +扩展文件系统 

                这里的命令和上面 "使用已有预留空间扩容" 步骤操作类似了

[root@tidbserver software]# lvextend -L +20g /dev/tidbvg/deploylvm 
  Size of logical volume tidbvg/deploylvm changed from 40.00 GiB (10240 extents) to 60.00 GiB (15360 extents).
  Logical volume tidbvg/deploylvm successfully resized.
[root@tidbserver software]# xfs_growfs /opt/tidb-deploy
meta-data=/dev/mapper/tidbvg-deploylvm isize=512    agcount=8, agsize=1310720 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=10485760, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 10485760 to 15728640
[root@tidbserver software]# df -h
文件系统                      容量  已用  可用 已用% 挂载点
devtmpfs                      1.9G     0  1.9G    0% /dev
tmpfs                         1.9G     0  1.9G    0% /dev/shm
tmpfs                         1.9G  9.4M  1.9G    1% /run
tmpfs                         1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/sda3                      50G   14G   37G   27% /
/dev/sda1                     6.0G   33M  6.0G    1% /home
/dev/mapper/tidbvg-datalvm     50G  1.6G   49G    4% /opt/tidb-data
/dev/mapper/tidbvg-deploylvm   60G   20G   40G   34% /opt/tidb-deploy
tmpfs                         379M   12K  379M    1% /run/user/42
tmpfs                         379M     0  379M    0% /run/user/0

到此就完成了新增的磁盘,扩容到lvm 

LVM可以动态增加,但是XFS不支持动态缩小,所以我们无法实现基于xfs的动态缩小。

实际生产中,不推荐使用缩减,扩的时候给小点,不够再继续扩,不推荐使用缩减,可能会丢失数据,所以预留一部分空间还是很有效的。

             

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值