本文主要讲述Linux(CentOS)下LVM在线扩容的操作过程。注意:进行在线扩容钱,请先备份重要的资料,在线扩容会有丢失资料的风险!

一、查找新的磁盘

# fdisk -l


1. Disk /dev/sda: 42.9 GB, 42949672960 bytes 
2. 255 heads, 63 sectors/track, 5221 cylinders 
3. Units = cylinders of 16065 * 512 = 8225280 bytes 
4.  
5.    Device Boot      Start         End      Blocks   Id  System 
6. /dev/sda1   *           1          13      104391   83  Linux 
7. /dev/sda2              14        4699    37640295   8e  Linux LVM 
8. /dev/sda3            4700        5221     4192965   82  Linux swap / Solaris 
9.  
10. Disk /dev/sdb: 214.7 GB, 214748364800 bytes 
11. 255 heads, 63 sectors/track, 26108 cylinders 
12. Units = cylinders of 16065 * 512 = 8225280 bytes 
13.  
14. Disk /dev/sdb doesn't contain a valid partition table


这里看到的新的磁盘设备名是:/dev/sdb。

二、创建物理卷(PV)
# pvcreate /dev/sdb
 
view plain   
  
  copy
 
 
1. 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命令,该命令的格式如下:


1. lvextend <-L/--size +逻辑卷增量[kKmMgGtT]> <逻辑卷设备名称> 
2. 在创建逻辑卷时直接指定增量,单位可以是 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




七、扩展前后分区大小对比