LVM 磁盘扩容操作教程
标签搜索
侧边栏壁纸
博主昵称
Ran

  • 累计撰写 25 篇文章
  • 累计收到 0 条评论

LVM 磁盘扩容操作教程

ranyuan
2025-02-19 / 0 评论 / 19 阅读 / 正在检测是否收录...

一、前言

在日常运维过程中,我们经常会遇到服务器磁盘空间不足的情况。这时候,我们可以通过 LVM (Logical Volume Manager) 的动态扩展功能来实现磁盘扩容,而无需重新分区或格式化磁盘。本教程将介绍在 CentOS 环境下,通过 LVM 实现磁盘扩容的详细步骤。

二、环境说明

设备名类型大小
/dev/sda磁盘300G
/dev/sda1/boot 分区1G
/dev/sda2LVM 物理卷299G
centos逻辑卷199G

三、检查当前磁盘使用情况

1. 查看卷组信息

vgdisplay
[root@ops-gitlab ~]# vgdisplay 
  --- Volume group ---
  VG Name               centos
  System ID             
  Format                lvm2
  Metadata Areas        1
  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                1
  Act PV                1
  VG Size               <199.00 GiB
  PE Size               4.00 MiB
  Total PE              50943
  Alloc PE / Size       50943 / <199.00 GiB
  Free  PE / Size       0 / 0   
  VG UUID               nQGMo4-0Tzw-qmMQ-uqSU-2qDd-Xq37-9s2c0e

2. 查看磁盘空间使用情况

df -h
[root@ops-gitlab ~]# df -h
Filesystem                           Size  Used Avail Use% Mounted on
devtmpfs                             7.9G     0  7.9G   0% /dev
tmpfs                                7.9G     0  7.9G   0% /dev/shm
tmpfs                                7.9G  8.6M  7.9G   1% /run
tmpfs                                7.9G     0  7.9G   0% /sys/fs/cgroup
/dev/mapper/centos                   199G  198G  1.3G 100% /
/dev/sda1                           1014M  170M  845M  17% /boot
overlay                              199G  198G  1.3G 100% /var/lib/docker/overlay2/e328a45adc6a314b292bddeeaf0e8824ea7b91bc8f15434f8154e94fc75341d8/merged
tmpfs                                1.6G     0  1.6G   0% /run/user/0

3. 查看分区及 LVM 信息

lsblk
[root@ops-gitlab ~]# lsblk
NAME                        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                           8:0    0  300G  0 disk 
├─sda1                        8:1    0    1G  0 part /boot
└─sda2                        8:2    0  299G  0 part 
  └─centos                  253:0    0  199G  0 lvm  /

四、扩展 LVM 的详细步骤

1. 扩展物理分区

如果当前物理分区不足,例如 /dev/sda 磁盘有剩余空间,可以扩展 /dev/sda2 分区。

使用 parted 工具扩展分区:

parted /dev/sda

parted 环境下执行以下操作:

(parted) print        # 查看当前分区
(parted) resizepart 2 100%  # 扩展 sda2 分区到最大
(parted) quit

2. 扩展物理卷 (PV)

pvresize /dev/sda2
[root@ops-gitlab ~]# pvresize /dev/sda2
  Physical volume "/dev/sda2" changed
  1 physical volume(s) resized or updated / 0 physical volume(s) not resized

3. 查看卷组剩余空间

vgdisplay

查看 Free PE / Size 是否大于 0。

4. 扩展逻辑卷 (LV)

将剩余空间全部扩展给 / 根分区所在的逻辑卷:

lvextend -l +100%FREE /dev/centos_ops-gitlab/root
[root@ops-gitlab ~]# lvextend -l +100%FREE /dev/centos/root
  Size of logical volume centos/root changed from <199.00 GiB (50943 extents) to <299.00 GiB (76543 extents).
  Logical volume centos_ops-gitlab/root successfully resized.

5. 扩展文件系统

如果是 xfs 文件系统:

xfs_growfs /

如果是 ext4 文件系统:

resize2fs /dev/centos_ops-gitlab/root

五、验证扩容结果

df -h
[root@ops-gitlab ~]# df -h
Filesystem                           Size  Used Avail Use% Mounted on
devtmpfs                             7.9G     0  7.9G   0% /dev
tmpfs                                7.9G     0  7.9G   0% /dev/shm
tmpfs                                7.9G  8.6M  7.9G   1% /run
tmpfs                                7.9G     0  7.9G   0% /sys/fs/cgroup
/dev/mapper/centos                   299G  198G  102G  67% /
/dev/sda1                           1014M  170M  845M  17% /boot
overlay                              299G  198G  102G  67% /var/lib/docker/overlay2/e328a45adc6a314b292bddeeaf0e8824ea7b91bc8f15434f8154e94fc75341d8/merged
tmpfs                                1.6G     0  1.6G   0% /run/user/0

确认根分区的容量已经变大。

六、注意事项

  • 操作前请务必备份数据,以防意外情况导致数据丢失。
  • 使用 parted 工具操作分区时,需谨慎,避免误操作。
  • 如果是云服务器,如阿里云或腾讯云,可直接在控制台申请扩容云盘,然后按照本教程调整 LVM。

七、总结

通过上述步骤,即可顺利完成 LVM 的扩容操作。LVM 的优势在于其灵活性,可以在不停机的情况下对磁盘进行调整,是生产环境中非常实用的工具。

0

评论 (0)

取消