逻辑卷扩容操作实战,解决磁盘空间不足问题!

            在 Linux 系统中,磁盘空间不足是一个常见的问题,尤其是在生产环境中。逻辑卷管理(Logical Volume Manager, LVM)提供了一种灵活的方式来动态调整磁盘空间,而无需停机或重新分区。本文将通过一个实际案例,详细介绍如何使用 LVM 扩展逻辑卷以解决磁盘空间不足的问题。 

1 LVM简介

        LVM 是一种基于 Linux 的磁盘管理技术,允许用户将多个物理硬盘或分区组合成一个或多个逻辑卷(Logical Volume),并可以动态调整其大小。LVM 的核心组件包括:

  • 物理卷(Physical Volume, PV) :实际的磁盘或分区
  • 卷组(Volume Group, VG) :由一个或多个物理卷组成,相当于一个虚拟存储池
  • 逻辑卷(Logical Volume, LV) :从卷组中分配的空间,可以格式化为文件系统并挂载使用

LVM的特点 :

  • 灵活性 :支持在线扩展和缩减逻辑卷
  • 易用性 :简化了磁盘管理流程
  • 高可用性 :避免因磁盘空间不足导致的服务中断

2 LVM常用命令

物理卷(Physical Volume, PV)操作相关命令: 

命令解释
pvcreate /dev/sdb将物理磁盘或分区 /dev/sdb初始化为物理卷
pvdisplay显示所有物理卷的详细信息
pvs简要显示所有物理卷的状态
pvremove /dev/sdb删除物理卷 /dev/sdb
pvmove /dev/sdb将物理卷 /dev/sdX 上的数据迁移到其他物理卷
pvresize /dev/sdb调整物理卷 /dev/sdb 的大小

卷组(Volume Group, VG)操作相关命令:

命令解释
vgcreate vg_name /dev/sdb创建卷组 vg_name,并将物理卷 /dev/sdb 加入其中
vgextend vg_name /dev/sdb将物理卷 /dev/sdc添加到卷组 vg_name 中
vgreduce vg_name /dev/sdb从卷组 vg_name 中移除物理卷 /dev/sdb
vgdisplay显示所有卷组的详细信息
vgs简要显示所有卷组的状态
vgremove vg_name删除卷组 vg_name
vgrename vg_old vg_new将卷组 vg_old 重命名为 vg_new
vgchange -a y vg_name激活卷组 vg_name
vgchange -a n vg_name停用卷组 vg_name

逻辑卷(Logical Volume, LV)操作相关命令:

命令解释
lvcreate -L 50G -n lv_name vg_name在卷组 vg_name 中创建一个大小为 50G 的逻辑卷 lv_name
lvextend -L +10G /dev/vg_name/lv_name将逻辑卷 lv_name 的大小增加 10G
lvreduce -L -10G /dev/vg_name/lv_name将逻辑卷 lv_name 的大小减少 10G
lvresize -L 20G /dev/vg_name/lv_name将逻辑卷 lv_name 的大小调整为 20G
lvdisplay显示所有逻辑卷的详细信息
lvs简要显示所有逻辑卷的状态
lvremove /dev/vg_name/lv_name删除逻辑卷 lv_name
lvrename vg_name lv_old lv_new将逻辑卷 lv_old 重命名为 lv_new
lvscan扫描系统中所有的逻辑卷

文件系统调整命令:

命令解释
resize2fs /dev/vg_name/lv_name调整 ext2、ext3、ext4 文件系统的大小以匹配逻辑卷的大小

问题背景 

        在生产环境中的一台服务器,其磁盘空间使用情况如下:

root@node-1:[/root]df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda3             316G   11G  289G   4% /
tmpfs                 256G   92G  165G  36% /dev/shm
/dev/sda1             190M   38M  142M  22% /boot
/dev/mapper/oravg-lv001
                      4.8T  4.8T  324M  100% /export/home
root@node-1:[/root]

       不难看出,/dev/mapper/oravg-lv001空间使用率已达100%,已影响生产。

4 扩容操作

1.查看物理卷信息

#查看物理卷信息:查看目前都用了哪些物理卷
root@node-1:[/root]pvdisplay
  --- Physical volume ---
  PV Name               /dev/sdb
  VG Name               oravg
  PV Size               819.00 GiB / not usable 4.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              209663
  Free PE               0
  Allocated PE          209663
  PV UUID               RGLpT6-HZ8A-4abu-Ds2C-DkKv-FKfO-SI6rU3
   
  --- Physical volume ---
  PV Name               /dev/sdc
  VG Name               oravg
  PV Size               819.00 GiB / not usable 4.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              209663
  Free PE               0
  Allocated PE          209663
  PV UUID               dZLlja-r3jq-23UK-2nGX-MuqS-7pNZ-Sg4SYB
   
  --- Physical volume ---
  PV Name               /dev/sdd
  VG Name               oravg
  PV Size               819.00 GiB / not usable 4.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              209663
  Free PE               0
  Allocated PE          209663
  PV UUID               qkJTIO-h0nP-bvqD-opaK-tFKG-7bBO-CNoVnK
   
  --- Physical volume ---
  PV Name               /dev/sde
  VG Name               oravg
  PV Size               819.00 GiB / not usable 4.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              209663
  Free PE               0
  Allocated PE          209663
  PV UUID               U9jQ3b-6fQc-mReP-bDMg-Q4zj-6zDn-70Z2Fc
   
  --- Physical volume ---
  PV Name               /dev/sdf
  VG Name               oravg
  PV Size               819.00 GiB / not usable 4.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              209663
  Free PE               0
  Allocated PE          209663
  PV UUID               6ToMVb-ilKD-wxJX-Jvjc-1GPg-iyZ2-n1erlV
   
  --- Physical volume ---
  PV Name               /dev/sdg
  VG Name               oravg
  PV Size               819.00 GiB / not usable 4.00 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              209663
  Free PE               1018
  Allocated PE          208645
  PV UUID               UIwYgF-fzsn-pJqk-rJbT-n963-qIBY-BQLSni
   
root@node-1:[/root]

2.查看卷组信息

root@node-1:[/root]vgdisplay
  --- Volume group ---
  VG Name               oravg
  System ID             
  Format                lvm2
  Metadata Areas        6
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                6
  Act PV                6
  VG Size               4.80 TiB
  PE Size               4.00 MiB
  Total PE              1257978
  Alloc PE / Size       1256960 / 4.79 TiB
  Free  PE / Size       1018 / 3.98 GiB
  VG UUID               HCpcnK-fnrz-fcMC-Uudx-0Gjm-j1zu-NA9ejf
   
root@node-1:[/root]

3.查看逻辑卷

root@node-1:[/root]lvdisplay
  --- Logical volume ---
  LV Path                /dev/oravg/lv001
  LV Name                lv001
  VG Name                oravg
  LV UUID                nAk2qh-VMB2-dLXS-pXUb-s1s2-pI8q-q8NSpd
  LV Write Access        read/write
  LV Creation host, time database01, 2018-03-27 23:18:46 +0800
  LV Status              available
  # open                 1
  LV Size                4.79 TiB
  Current LE             1256960
  Segments               6
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0
   
root@node-1:[/root]

4.格式化硬盘

root@node-1:[/root]mkfs -t ext4 /dev/sdh
mke2fs 1.41.12 (17-May-2010)
/dev/sdh is entire device, not just one partition!
Proceed anyway? (y,n) y
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=64 blocks, Stripe width=256 blocks
53673984 inodes, 214695936 blocks
10734796 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
6552 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
        102400000

Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: 
done

This filesystem will be automatically checked every 21 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
root@node-1:[/root]

5.将格式化后的硬盘初始化为物理卷

root@node-1:[/root]pvcreate /dev/sdh
  Physical volume "/dev/sdh" successfully created
root@node-1:[/root]

6.将初始化的物理卷添加到卷组中

root@node-1:[/root]vgdisplay
  --- Volume group ---
  VG Name               oravg
  System ID             
  Format                lvm2
  Metadata Areas        6
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                6
  Act PV                6
  VG Size               4.80 TiB
  PE Size               4.00 MiB
  Total PE              1257978
  Alloc PE / Size       1256960 / 4.79 TiB
  Free  PE / Size       1018 / 3.98 GiB
  VG UUID               HCpcnK-fnrz-fcMC-Uudx-0Gjm-j1zu-NA9ejf
   
root@node-1:[/root]

root@node-1:[/root]vgextend oravg /dev/sdh
  Volume group "oravg" successfully extended
root@node-1:[/root]

root@node-1:[/root]vgdisplay
  --- Volume group ---
  VG Name               oravg
  System ID             
  Format                lvm2
  Metadata Areas        7
  Metadata Sequence No  4
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                7
  Act PV                7
  VG Size               5.60 TiB
  PE Size               4.00 MiB
  Total PE              1467641
  Alloc PE / Size       1256960 / 4.79 TiB
  Free  PE / Size       210681 / 822.97 GiB
  VG UUID               HCpcnK-fnrz-fcMC-Uudx-0Gjm-j1zu-NA9ejf
   
root@node-1:[/root]

7.扩容逻辑卷

root@node-1:[/root]lvextend -L +819G /dev/mapper/oravg-lv001
  Size of logical volume oravg/lv001 changed from 4.79 TiB (1256960 extents) to 5.59 TiB (1466624 extents).
  Logical volume lv001 successfully resized.
root@node-1:[/root]

8.刷新

root@node-1:[/root]resize2fs /dev/mapper/oravg-lv001
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/mapper/oravg-lv001 is mounted on /export/home; on-line resizing required
old desc_blocks = 307, new_desc_blocks = 359
Performing an on-line resize of /dev/mapper/oravg-lv001 to 1501822976 (4k) blocks.

The filesystem on /dev/mapper/oravg-lv001 is now 1501822976 blocks long.
root@node-1:[/root]

        至此,已完成逻辑卷的扩容操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT成长日记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值