Linux上对LVM磁盘进行在线扩容磁盘

2025-11-01 17:30:14

1、先要保证要扩容的磁盘是LVM管理的磁盘。

# df -h

文件系统               容量  已用  可用 已用% 挂载点

/dev/mapper/cl-root     15G  3.4G   12G   23% /

devtmpfs               910M     0  910M    0% /dev

tmpfs                  920M     0  920M    0% /dev/shm

tmpfs                  920M  8.4M  912M    1% /run

tmpfs                  920M     0  920M    0% /sys/fs/cgroup

/dev/sda1              497M  132M  366M   27% /boot

/dev/mapper/vg01-lv00  8.0G   33M  8.0G    1% /mnt

Linux上对LVM磁盘进行在线扩容磁盘

2、可以看到,有两个LVM管理的磁盘分区,根分区/(/dev/mapper/cl-root)和/mnt分区(/dev/mapper/vg01-lv00)。

现在添加进一个新磁盘,对/mnt分区进行扩容。

3、添加进磁盘后,先进行扫描

# echo '- - -' > /sys/class/scsi_host/host0/scan

# echo '- - -' > /sys/class/scsi_host/host1/scan

# echo '- - -' > /sys/class/scsi_host/host2/scan

# echo '- - -' > /sys/class/scsi_host/host3/scan

4、扫描完,查看磁盘信息

# fdisk -l

Linux上对LVM磁盘进行在线扩容磁盘

5、可以看到,新增了一个8G的磁盘/dev/sdc。

我们把它加入到vg01这个VG组中,对/mnt这个挂载的分区进行扩容。

6、可以对/dev/sdc先进行分区再添加,也可以直接把它添加进VG组。

使用vgextend命令来进行扩展。

// vgextend 要扩展的VG名称 要添加的磁盘路径

# vgextend vg01 /dev/sdc

  Physical volume "/dev/sdc" successfully created.

  Volume group "vg01" successfully extended

7、扩展完成后,需要把组中新扩展的空间添加给LV分区才行。

先使用vgdisplay命令查看一下vg01组的信息(主要是看剩余空间的信息)

# vgdisplay vg01

Linux上对LVM磁盘进行在线扩容磁盘

8、主要是看 Free  PE / Size 这行,表示这个VG组还剩多少空间可以用来分配。

这里可以看出,还有2047个PE,也就是8G可以用来分配。

使用lvextend扩展LV分区。

// lvextend -l +要增加的PE数  LV分区路径

# lvextend -l +2047 /dev/vg01/lv00

  Size of logical volume vg01/lv00 changed from 8.00 GiB (2047 extents) to 15.99 GiB (4094 extents).

  Logical volume vg01/lv00 successfully resized.

Linux上对LVM磁盘进行在线扩容磁盘

9、到这里还没有完成,还需要让系统重新识别到这个LV分区的大小才行。

注意,这里CentOS6跟CentOS7系统要执行的命令是不一样的。严格来说,是使用的分区格式不一样,造成要使用的命令不一样。一般CentOS6默认是使用的ext4分区格式,而CentOS7默认是使用的xfs分区格式。

CentOS6(ext4):

# resize2fs /dev/vg01/lv00

CentOS7(xfs):

# xfs_growfs /dev/vg01/lv00

10、执行完上面的命令,整个扩容步骤就算真正完成了。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢