centos 6.x调整lvm分区的”/”和home分区的大小

装好centos 6.5以后发现/home分区过大,想调整下大小。

[root@hn ~]# df -h
Filesystem                    Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root   50G  769M   46G   2% /
tmpfs                         7.8G     0  7.8G   0% /dev/shm
/dev/sda1                     485M   33M  427M   8% /boot
/dev/mapper/VolGroup-lv_home   90G  184M   85G   1% /home

调整VolGroup-lv_home分区到20G,剩余分区加到VolGroup-lv_root这个分区上。

1、先卸载分区

[root@hn ~]# umount /home

2、检查VolGroup-lv_home分区的文件,加-f遇到错误继续

[root@hn ~]# e2fsck -f /dev/mapper/VolGroup-lv_home 
e2fsck 1.41.12 (17-May-2010)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/mapper/VolGroup-lv_home: 11/5947392 files (0.0% non-contiguous), 420288/23778304 blocks

3、调整VolGroup-lv_home为20G

[root@hn ~]# resize2fs -p /dev/mapper/VolGroup-lv_home 20G
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/mapper/VolGroup-lv_home to 5242880 (4k) blocks.
Begin pass 2 (max = 32768)
Relocating blocks             XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Begin pass 3 (max = 726)
Scanning inode table          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
The filesystem on /dev/mapper/VolGroup-lv_home is now 5242880 blocks long.

4、重新挂载/home分区,并查看大小

[root@hn ~]# mount /home
[root@hn ~]# df -h
Filesystem                    Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root   50G  769M   46G   2% /
tmpfs                         7.8G     0  7.8G   0% /dev/shm
/dev/sda1                     485M   33M  427M   8% /boot
/dev/mapper/VolGroup-lv_home   20G  172M   19G   1% /home

5、使用lvreduce减少逻辑卷占用空间,释放多于部分可以让其他分区使用。此处有确认’y’操作,因为缩减可能会造成数据丢失。

[root@hn ~]# lvreduce -L 20G /dev/mapper/VolGroup-lv_home 
  WARNING: Reducing active and open logical volume to 20.00 GiB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lv_home? [y/n]: y
  Reducing logical volume lv_home to 20.00 GiB
  Logical volume lv_home successfully resized
[root@hn ~]# df -h
Filesystem                    Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root   50G  769M   46G   2% /
tmpfs                         7.8G     0  7.8G   0% /dev/shm
/dev/sda1                     485M   33M  427M   8% /boot
/dev/mapper/VolGroup-lv_home   20G  172M   19G   1% /home

6、此时可以查看剩余vg空间大小,倒数第二个Free PE / Size既是空闲空间大小

[root@hn ~]# vgdisplay 
  --- Volume group ---
  VG Name               VolGroup
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  5
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               3
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               148.56 GiB
  PE Size               4.00 MiB
  Total PE              38031
  Alloc PE / Size       19930 / 77.85 GiB
  Free  PE / Size       18101 / 70.71 GiB
  VG UUID               c1DQk2-G0iD-lpPQ-tcfN-YAAY-RlxF-fQWE1j

7、使用lvextend命令扩展Free PE / Size空闲空间到/dev/mapper/VolGroup-lv_root此/分区

此处是给所有FREE空间加到lv_root下:
[root@hn ~]# lvextend -l +100%FREE /dev/VolGroup/lv_root 
  Extending logical volume lv_root to 120.71 GiB
  Logical volume lv_root successfully resized
或者使用下面命令增加:
[root@hn ~]# lvextend -L +70G /dev/mapper/VolGroup-lv_root
-l和-L的区别如下:
{-l|--extents [+]LogicalExtentsNumber[%{VG|LV|PVS|FREE|ORIGIN}] |
	 -L|--size [+]LogicalVolumeSize[bBsSkKmMgGtTpPeE]}
	 --poolmetadatasize [+]MetadataVolumeSize[bBsSkKmMgG]}

8、执行resize2fs 使增加的空间生效

[root@hn ~]# resize2fs -p /dev/mapper/VolGroup-lv_root 
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/mapper/VolGroup-lv_root is mounted on /; on-line resizing required
old desc_blocks = 4, new_desc_blocks = 8
Performing an on-line resize of /dev/mapper/VolGroup-lv_root to 31642624 (4k) blocks.
The filesystem on /dev/mapper/VolGroup-lv_root is now 31642624 blocks long.

9、查看此时分区情况

[root@hn ~]# df -h
Filesystem                    Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root  119G  776M  113G   1% /
tmpfs                         7.8G     0  7.8G   0% /dev/shm
/dev/sda1                     485M   33M  427M   8% /boot
/dev/mapper/VolGroup-lv_home   20G  172M   19G   1% /home

至此已经缩减和扩容完毕。生产环境不建议缩减,执行lvreduce缩减分区可能会造成数据丢失。