续上一章日志《linux LVM配置》,这章主要讲LVM空间的延伸与缩减

一、配置LVM空间增加

下面我们来测试下LVM分区的收缩、延伸

1、  使用fdisk来增加一个system ID 8e的分区

2、  建立PV

3、  PV加入到aixevg这个VG里面

4、  VG加入到aixelv里面,增加空间

5、  resize2fs将文件系统的容量确实增加

第一步:增加分区

  1. [root@CentOS5 ~]# fdisk /dev/sdb 
  2.    Device Boot      Start         End      Blocks   Id  System 
  3. /dev/sdb1               1        1246    10008463+   5  Extended 
  4. /dev/sdb5               1         183     1469884+  8e  Linux LVM 
  5. /dev/sdb6             184         366     1469916   8e  Linux LVM 
  6. /dev/sdb7             367         549     1469916   8e  Linux LVM 
  7. /dev/sdb8             550         732     1469916   8e  Linux LVM 
  8. /dev/sdb9             733         915     1469916   8e  Linux LVM 
  9.  
  10. Command (m for help): w 
  11. The partition table has been altered! 
  12.  
  13. Calling ioctl() to re-read partition table. 
  14. Syncing disks. 
  15. [root@CentOS5 ~]#partprobe 

先查看一下pvscan

  1. [root@CentOS5 ~]# pvscan  
  2.   PV /dev/sdb5   VG aixevg   lvm2 [1.39 GB / 0    free] 
  3.   PV /dev/sdb6   VG aixevg   lvm2 [1.39 GB / 0    free] 
  4.   PV /dev/sdb7   VG aixevg   lvm2 [1.39 GB / 0    free] 
  5.   PV /dev/sdb8   VG aixevg   lvm2 [1.39 GB / 0    free] 
  6.   Total: 4 [5.56 GB] / in use: 4 [5.56 GB] / in no VG: 0 [0   ] 

下面开始创建PV

  1. [root@CentOS5 ~]#pvcreate /dev/sdb9  
  2.   Physical volume "/dev/sdb9" successfully created 
  3. [root@CentOS5 ~]#pvscan  
  4.   PV /dev/sdb5   VG aixevg          lvm2 [1.39 GB / 0    free] 
  5.   PV /dev/sdb6   VG aixevg          lvm2 [1.39 GB / 0    free] 
  6.   PV /dev/sdb7   VG aixevg          lvm2 [1.39 GB / 0    free] 
  7.   PV /dev/sdb8   VG aixevg          lvm2 [1.39 GB / 0    free] 
  8.   PV /dev/sdb9                      lvm2 [1.40 GB] 
  9.   Total: 5 [6.96 GB] / in use: 4 [5.56 GB] / in no VG: 1 [1.40 GB] 

添加VG

  1. [root@CentOS5 ~]#vgdisplay  
  2.   --- Volume group --- 
  3.   VG Name               aixevg 
  4.   System ID              
  5.   Format                lvm2 
  6.    
  7. ...(部分省略)... 
  8.   VG Size               5.56 GB 
  9.   PE Size               16.00 MB 
  10.   Total PE              356 
  11.   Alloc PE / Size       356 / 5.56 GB 
  12.   Free  PE / Size       0 / 0    
  13. ...(部分省略)... 
  14. [root@CentOS5 ~]#vgextend aixevg /dev/sdb9  
  15.   Volume group "aixevg" successfully extended 
  16. [root@CentOS5 ~]#vgdisplay  
  17.   --- Volume group --- 
  18.   VG Name               aixevg 
  19.   System ID              
  20.   Format                lvm2 
  21.  ...(部分省略)... 
  22.   VG Size               6.95 GB 
  23.   PE Size               16.00 MB 
  24.   Total PE              445 
  25.   Alloc PE / Size       356 / 5.56 GB 
  26.   Free  PE / Size       89 / 1.39 GB 
  27.   ...(部分省略)... 

从这里看到,我们扩展了VG后,Free多了89PV

下面添加LV

  1. [root@CentOS5 ~]#df -h /mnt/lvm/ 
  2. Filesystem            Size  Used Avail Use% Mounted on 
  3. /dev/mapper/aixevg-aixelv 
  4.                       5.5G  140M  5.1G   3% /mnt/lvm 
  5. [root@CentOS5 ~]#lvresize -l +89 /dev/aixevg/aixelv 
  6.   Extending logical volume aixelv to 6.95 GB 
  7.   Logical volume aixelv successfully resized 
  8. [root@CentOS5 ~]#df -h /mnt/lvm/ 
  9. Filesystem            Size  Used Avail Use% Mounted on 
  10. /dev/mapper/aixevg-aixelv 
  11.                       5.5G  140M  5.1G   3% /mnt/lvm 

这里我们看到空间没有实际增加,大家在操作时可以先、后运行下lvdisplay命令,可以看到LV的空间已经增加了。下面我们用resize2fs命令那确定增加空间

Resize2fs命令格式

  1. [root@CentOS5 ~]#resize2fs [-f] [device] [size] 
  2. -f:强制改变大小 
  3. Device:设备名称 
  4. Size:要增加或减少到的空间大小,如果不设置表示全部,它的单位有M、G、T 

 

  1. [root@CentOS5 ~]#resize2fs /dev/aixevg/aixelv  
  2. resize2fs 1.39 (29-May-2006) 
  3. Filesystem at /dev/aixevg/aixelv is mounted on /mnt/lvm; on-line resizing required 
  4. Performing an on-line resize of /dev/aixevg/aixelv to 1822720 (4k) blocks. 
  5. The filesystem on /dev/aixevg/aixelv is now 1822720 blocks long. 
  6.  
  7. [root@CentOS5 ~]#df -h /mnt/lvm/ 
  8. Filesystem            Size  Used Avail Use% Mounted on 
  9. /dev/mapper/aixevg-aixelv 
  10.                       6.9G  141M  6.4G   3% /mnt/lvm 

可以看到空间真的增加,到这来LVM的空间增加以告一段落,下面我们来试试LVM空间的减少

二、配置LVM空间减少

LVM减少空间的步骤只是把增加空间的步骤反做一遍就可以了

我演示一下减少/dev/sdb5这个分区

  1. [root@CentOS5 ~]#df -h /mnt/lvm/ 
  2. Filesystem            Size  Used Avail Use% Mounted on 
  3. /dev/mapper/aixevg-aixelv 
  4.                       6.9G  588M  6.0G   9% /mnt/lvm 
  5. [root@CentOS5 ~]#pvscan  
  6.   PV /dev/sdb5   VG aixevg   lvm2 [1.39 GB / 0    free] 
  7.   PV /dev/sdb6   VG aixevg   lvm2 [1.39 GB / 0    free] 
  8.   PV /dev/sdb7   VG aixevg   lvm2 [1.39 GB / 0    free] 
  9.   PV /dev/sdb8   VG aixevg   lvm2 [1.39 GB / 0    free] 
  10.   PV /dev/sdb9   VG aixevg   lvm2 [1.39 GB / 0    free] 
  11.   Total: 5 [6.95 GB] / in use: 5 [6.95 GB] / in no VG: 0 [0   ] 

下面我们使用resize2fs来减少空间

这里我们算一下1.39X4X1024=5693M,这个值就是resize2fs要减少到的值

  1. [root@CentOS5 ~]#umount /mnt/lvm/ 
  2. [root@CentOS5 ~]#resize2fs /dev/aixevg/aixelv 5600M 
  3. resize2fs 1.39 (29-May-2006) 
  4. Please run 'e2fsck -f /dev/aixevg/aixelv' first. 

提示我们使用:e2fsck -f /dev/aixevg/aixelv,扫描我们的分区

  1. [root@CentOS5 ~]#e2fsck -f /dev/aixevg/aixelv  
  2. e2fsck 1.39 (29-May-2006) 
  3. Pass 1: Checking inodes, blocks, and sizes 
  4. Pass 2: Checking directory structure 
  5. Pass 3: Checking directory connectivity 
  6. Pass 4: Checking reference counts 
  7. Pass 5: Checking group summary information 
  8. /dev/aixevg/aixelv: 12062/908544 files (0.1% non-contiguous), 179023/1822720 blocks 
  9. [root@CentOS5 ~]#resize2fs /dev/aixevg/aixelv 5600M 
  10. resize2fs 1.39 (29-May-2006) 
  11. Resizing the filesystem on /dev/aixevg/aixelv to 1433600 (4k) blocks. 
  12. The filesystem on /dev/aixevg/aixelv is now 1433600 blocks long. 
  13.  
  14. [root@CentOS5 ~]#mount /dev/aixevg/aixelv /mnt/lvm/ 
  15. [root@CentOS5 ~]#df -h /mnt/lvm/ 
  16. Filesystem            Size  Used Avail Use% Mounted on 
  17. /dev/mapper/aixevg-aixelv 
  18.                       5.4G  587M  4.6G  12% /mnt/lvm 

看到了吧,实际空间已经减小了,我们下面改变LV的大小

看看/dev/sdb5有多少个PV

  1. [root@CentOS5 ~]#pvdisplay  
  2.   --- Physical volume --- 
  3.   PV Name               /dev/sdb5 
  4.   VG Name               aixevg 
  5.   PV Size               1.40 GB / not usable 11.43 MB 
  6.   Allocatable           yes (but full) 
  7.   PE Size (KByte)       16384 
  8.   Total PE              89 
  9.   Free PE               0 
  10.   Allocated PE          89 
  11.   PV UUID               dR35q4-Y7ma-EVqe-Ggxw-0mVX-6xjF-NZRDcX 

上面看到/dev/sdb589PV

  1. [root@CentOS5 ~]#lvresize -l -89 /dev/aixevg/aixelv  
  2.   WARNING: Reducing active and open logical volume to 5.56 GB 
  3.   THIS MAY DESTROY YOUR DATA (filesystem etc.) 
  4. Do you really want to reduce aixelv? [y/n]: y 
  5.   Reducing logical volume aixelv to 5.56 GB 
  6.   Logical volume aixelv successfully resized 
  7. [root@CentOS5 ~]#pvdisplay  
  8.   --- Physical volume --- 
  9.   PV Name               /dev/sdb5 
  10.   VG Name               aixevg 
  11.   PV Size               1.40 GB / not usable 11.43 MB 
  12.   Allocatable           yes (but full) 
  13.   PE Size (KByte)       16384 
  14.   Total PE              89 
  15.   Free PE               0 
  16.   Allocated PE          89 
  17.   PV UUID               dR35q4-Y7ma-EVqe-Ggxw-0mVX-6xjF-NZRDcX 
  18. ....(部分省略)... 
  19.   PV Name               /dev/sdb9 
  20.   VG Name               aixevg 
  21.   PV Size               1.40 GB / not usable 11.46 MB 
  22.   Allocatable           yes  
  23.   PE Size (KByte)       16384 
  24.   Total PE              89 
  25.   Free PE               89 
  26.   Allocated PE          0 
  27.   PV UUID               8uWMkf-bIOE-ilG8-zEz1-EvN0-WQW2-YOUQdE 

说明在/dev/sdb9上有空余的89PV,也就是我们减少的那89PV,但是我们要减少的/dev/sdb5这个分区,所以我们要转换一下

  1. [root@CentOS5 ~]#pvmove /dev/sdb5 /dev/sdb9  
  2.   /dev/sdb5: Moved: 100.0% 

现在在查看一次PV

  1. [root@CentOS5 ~]#pvdisplay  
  2.   --- Physical volume --- 
  3.   PV Name               /dev/sdb5 
  4.   VG Name               aixevg 
  5.   PV Size               1.40 GB / not usable 11.43 MB 
  6.   Allocatable           yes  
  7.   PE Size (KByte)       16384 
  8.   Total PE              89 
  9.   Free PE               89 
  10.   Allocated PE          0 
  11.   PV UUID               dR35q4-Y7ma-EVqe-Ggxw-0mVX-6xjF-NZRDcX 
  12. ...(部分省略)... 
  13.   --- Physical volume --- 
  14.   PV Name               /dev/sdb9 
  15.   VG Name               aixevg 
  16.   PV Size               1.40 GB / not usable 11.46 MB 
  17.   Allocatable           yes (but full) 
  18.   PE Size (KByte)       16384 
  19.   Total PE              89 
  20.   Free PE               0 
  21.   Allocated PE          89 
  22.   PV UUID               8uWMkf-bIOE-ilG8-zEz1-EvN0-WQW2-YOUQdE 

接下来在VG里面移除/dev/sdb5

  1. [root@CentOS5 ~]#vgreduce aixevg /dev/sdb5  
  2.   Removed "/dev/sdb5" from volume group "aixevg" 
  3. [root@CentOS5 ~]#pvscan  
  4.   PV /dev/sdb6   VG aixevg          lvm2 [1.39 GB / 0    free] 
  5.   PV /dev/sdb7   VG aixevg          lvm2 [1.39 GB / 0    free] 
  6.   PV /dev/sdb8   VG aixevg          lvm2 [1.39 GB / 0    free] 
  7.   PV /dev/sdb9   VG aixevg          lvm2 [1.39 GB / 0    free] 
  8.   PV /dev/sdb5                      lvm2 [1.40 GB] 
  9.   Total: 5 [6.96 GB] / in use: 4 [5.56 GB] / in no VG: 1 [1.40 GB] 

到这里LVM的增、减空间基本告一段落了,以后我会继续更新LVM的快照,敬请期待