本文主要讲述Linux(CentOS)下LVM在线扩容的操作过程。注意:进行在线扩容钱,请先备份重要的资料,在线扩容会有丢失资料的风险!
一、查找新的磁盘
# fdisk -l
- Disk /dev/sda: 42.9 GB, 42949672960 bytes
- 255 heads, 63 sectors/track, 5221 cylinders
- Units = cylinders of 16065 * 512 = 8225280 bytes
- Device Boot Start End Blocks Id System
- /dev/sda1 * 1 13 104391 83 Linux
- /dev/sda2 14 4699 37640295 8e Linux LVM
- /dev/sda3 4700 5221 4192965 82 Linux swap / Solaris
- Disk /dev/sdb: 214.7 GB, 214748364800 bytes
- 255 heads, 63 sectors/track, 26108 cylinders
- Units = cylinders of 16065 * 512 = 8225280 bytes
- Disk /dev/sdb doesn't contain a valid partition table
这里看到的新的磁盘设备名是:/dev/sdb。
二、创建物理卷(PV)
# pvcreate /dev/sdb
- Physical volume "/dev/sdb" successfully created
# pvdisplay,查看本机的物理卷信息,已经看到刚才创建的物理卷了。
三、扩展卷组
将/dev/sdb物理卷添加到VolGroup00卷组中。扩展卷组前,最好还是先查看下卷组名,VolGroup00是CentOS系统中默认的卷组名。如果在安装操作系统时是手动分区的,并且没有使用默认卷组名,这就很有必要了。查看本机的卷组信息使用“vgdisplay”命令:
# vgextend VolGroup00 /dev/sdb,进行卷组扩展:
# vgdisplay,查看扩展后的卷组容量变化,由之前的35.88G变成了235.84G,容量增加了200GB,也就是整个/dev/sdb的容量,说明卷组VolGroup00扩展成功。
四、直接在线扩展分区容量
不用umount,也不用重启系统,前提是该分区没有进程在访问它,像根分区(“/”)肯定不行了,必须借助系统光盘,在系统重启时进行调整。
要扩展卷组中的逻辑卷需要使用 lvextend命令,该命令的格式如下:
- lvextend <-L/--size +逻辑卷增量[kKmMgGtT]> <逻辑卷设备名称>
- 在创建逻辑卷时直接指定增量,单位可以是 kK、mM、gG、tT,默认为 M。
# df -h,查看当前系统的分区详情。现在要对分区/var进行容量扩展,其对应的逻辑卷设备名是:/dev/mapper/VolGroup00-LogVol02
# lvextend -L +20G /dev/VolGroup00/LogVol02,给分区/var扩展20G的容量
# lvextend -l +100%FREE /dev/VolGroup00/LogVol02,扩展整块硬盘空间
# lvdisplay /dev/mapper/VolGroup00-LogVol02,查看扩展后的LV容量,已增加20GB。
五、检查/var逻辑卷
# e2fsck -f /dev/VolGroup00/LogVol02
六、重新定义分区大小
# resize2fs /dev/VolGroup00/LogVol02
七、扩展前后分区大小对比
扩容前:
扩容后: