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命令来扩容文件系统

人已赞赏
笔记

etcd部署及常见问题

2020-10-12 13:40:14

笔记

关于Linux操作系统buffer/cache

2020-10-12 13:42:43

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索