Linux下磁盘扩容及常见问题

背景

当前系统有挂载本地lvm分区的磁盘目录:/data、/data2。随着业务的发展,该目录磁盘空间严重不足,如何在线动态扩容该目录?

在Linux下常见的磁盘扩容过程有两种,根据创建pv的方式不同,可以分为:使用分区创建PV方式的磁盘扩容、使用整个磁盘创建PV方式的磁盘扩容。

分析

使用df命令查看该/data目录挂载的磁盘分区是否支持扩容。

使用lvs、vgs、pvs命令查看2个目录挂载分区的详细信息:

  

/data

/data2

pv

/dev/sdc1

/dev/sdd

vg

vg_test_01

vg_test_02

lv

lv_data

lv_data2

 
 

根据pv创建方式的不同,因此扩容/data、/data2目录需要使用不同的方式。

 
 

Linux下使用分区创建PV方式的磁盘扩容,扩容/data目录

 
 

1、首先,登录vcenter扩容该虚拟机下该硬盘的空间大小。

 
 

2、使用”echo 1 > /sys/class/scsi_device/xxxx/device/rescan” 重新扫描磁盘分区。(设备号不同,需根据实际情况)

 
 

 
 

3、使用fdisk命令将新扩容的磁盘容量,划分为新的/dev/sdc分区,并设置为lvm分区。

 
 

使用partx -a /dev/sdc重新扫描,识别新的分区

 
 

4、使用pvcreate /dev/sdc2,将/dev/sdc2创建为物理卷

 
 

 
 

5、使用vgextend vg_test_01 /dev/sdc2来扩容卷组。

 
 

 
 

6、使用lvextend -l +100%free /dev/vg_test_01/lv_data来扩容逻辑卷

 
 

 
 

7、使用xfs_growfs /dev/vg_test_01/lv_data来扩容/data所在的文件系统

 
 

 
 

至此,/data目录扩容完成。

 
 

Linux下使用整个磁盘创建PV方式的磁盘扩容,/data2目录扩容

 
 

还是使用上面例子中的服务器,这次,我们将要扩容/data2目录。这个目录跟上一个例子中有什么不同呢?使用我们的一系列命令来观察这个分区。

由上图可见,该/data2目录挂载的分区为:/dev/mapper/vg_test_01-lv_data2,lv_data2逻辑卷(lv),属于vg_test_02卷组(vg),该卷组由/dev/sdd物理卷(pv)组成,组成该vg的PV是整个磁盘sdd,没有划分分区。

这种的状态就无法应用上面例子使用的:扩容磁盘容量、划分分区、创建给分区的PV,将PV扩容到VG的方式了。

使用物理磁盘创建PV的磁盘扩容我们可以这么做:扩容物理磁盘容量、扩容PV容量、扩容LV容量、扩容文件系统。省却了创建LVM分区以及扩容VG的操作。

 
 

1、登录vcenter扩容该虚拟机下该硬盘的空间大小。

 
 

 
 

2、使用”echo 1 > /sys/class/scsi_device/xxxx/device/rescan” 重新扫描磁盘分区。(设备号不同,需根据实际情况)

 
 

 
 

3、使用pvresize /dev/sdd命令,来扩容pv物理卷

 
 

 
 

4、使用lvextend -l +100%free /dev/vg_test_02/lv_data2 来扩容lv逻辑卷

 
 

 
 

5、使用xfs_growfs /dev/vg_test_02/lv_data2来扩容文件系统

 
 

 
 

至此、/data2目录也已经扩容完成。

 
 

备注

xfs文件系统使用:xfs_growfs命令来扩容文件系统

ext文件系统使用:resize2fs命令来扩容文件系统

原创文章,作者:shengbao,如若转载,请注明出处:https://baogebiji.com/233.html

发表评论

电子邮件地址不会被公开。

评论列表(3条)

  • 投桃报莉
    投桃报莉 2020年4月26日 下午6:28

    ✗棒棒的✗ ✗棒棒的✗ 感谢分享!