[root@base mnt]# df -hT
Filesystem                  Type   Size  Used Avail Use% Mounted on
/dev/mapper/vg_base-lv_root ext4    18G  5.6G   11G  34% /
tmpfs                       tmpfs  399M   72K  399M   1% /dev/shm
/dev/sda1                   ext4   485M   40M  421M   9% /boot
/dev/mapper/myvg01-data01   ext4   2.0G   69M  1.9G   4% /mnt/test1
/dev/mapper/myvg01-data02   ext4   2.0G   69M  1.9G   4% /mnt/test2
/dev/mapper/myvg01-snap     ext4   2.0G   69M  1.9G   4% /mnt/snap
[root@base mnt]# dd if=/dev/zero of=/mnt/test1/file2 bs=100M count=3 \\先手动生成一个300M的文件以做文件完整性确认
3+0 records in
3+0 records out
314572800 bytes (315 MB) copied, 3.04703 s, 103 MB/s
[root@base mnt]# cd test1
[root@base test1]# du -sh ./*
36K     ./file1
300M    ./file2
16K     ./lost+found
[root@base test1]# cat /etc/hosts >> ./file2
[root@base test1]# md5sum ./file2  \\先计算出这两个的md5值,以在最后做文件完整性对比
2f1ceea56549cd834703bf49ffcd9a52  ./file2
[root@base test1]# md5sum ./file1
8d7dd488456913e24f698b76c9c7e044  ./file1
[root@base test1]# df -hT \\确认缩减前的分区大小,特别注意分区已使用的空间大小和总大小
Filesystem                  Type   Size  Used Avail Use% Mounted on
/dev/mapper/vg_base-lv_root ext4    18G  5.6G   11G  34% /
tmpfs                       tmpfs  399M   72K  399M   1% /dev/shm
/dev/sda1                   ext4   485M   40M  421M   9% /boot
/dev/mapper/myvg01-data01   ext4   2.0G  369M  1.6G  20% /mnt/test1
/dev/mapper/myvg01-data02   ext4   2.0G   69M  1.9G   4% /mnt/test2
/dev/mapper/myvg01-snap     ext4   2.0G   69M  1.9G   4% /mnt/snap
[root@base test1]# cd ..
[root@base mnt]# umount /mnt/test1 \\缩减第一步,先卸载文件系统
[root@base mnt]# e2fsck -f /dev/myvg01/data01 \\缩减第二步,强制对文件系统进行检查
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/myvg01/data01: 13/131072 files (0.0% non-contiguous), 102583/524288 blocks
[root@base mnt]# resize2fs /dev/myvg01/data01 1G \\缩减第三步,调整逻辑卷,注意这里的1G一定要大于该逻辑卷已使用空间大小
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/myvg01/data01 to 262144 (4k) blocks.
The filesystem on /dev/myvg01/data01 is now 262144 blocks long.
 
[root@base mnt]# lvreduce -L 1G /dev/myvg01/data01 \\缩减第四步,缩减逻辑卷,缩减到1G,而不是缩减1G,这个大小要跟resize2fs的大小相同
  Snapshot origin volumes cannot be reduced in size yet.
  Run `lvreduce --help' for more information.
[root@base mnt]# umount /mnt/snap \\上面提示这个逻辑卷有关联的快照卷,不能缩减,只能卸载这个快照卷并移除它,解除关联
[root@base mnt]# lvremove /dev/myvg01/snap
Do you really want to remove active logical volume snap? [y/n]: y
  Logical volume "snap" successfully removed
[root@base mnt]# lvreduce -L 1G /dev/myvg01/data01 \\重试第四步
  WARNING: Reducing active logical volume to 1.00 GiB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce data01? [y/n]: y
  Reducing logical volume data01 to 1.00 GiB
  Logical volume data01 successfully resized
[root@base mnt]# mount /dev/myvg01/data01 /mnt/test1 \\缩减第五步,挂载逻辑卷
[root@base mnt]# cd /mnt/test1
[root@base test1]# ls
file1  file2  lost+found
[root@base test1]# df -hT \\确认缩减后的效果
Filesystem                  Type   Size  Used Avail Use% Mounted on
/dev/mapper/vg_base-lv_root ext4    18G  5.6G   11G  34% /
tmpfs                       tmpfs  399M   72K  399M   1% /dev/shm
/dev/sda1                   ext4   485M   40M  421M   9% /boot
/dev/mapper/myvg01-data02   ext4   2.0G   69M  1.9G   4% /mnt/test2
/dev/mapper/myvg01-data01   ext4  1008M  368M  589M  39% /mnt/test1
[root@base test1]# md5sum file2 \\验证缩减后的文件完整性,如果md5值跟上面的md5值不一致,则这些文件被损坏了
2f1ceea56549cd834703bf49ffcd9a52  file2
[root@base test1]# md5sum file1
8d7dd488456913e24f698b76c9c7e044  file1
[root@base test1]# lvscan \\查看逻辑卷大小
  ACTIVE            '/dev/myvg01/data01' [1.00 GiB] inherit
  ACTIVE            '/dev/myvg01/data02' [2.00 GiB] inherit
  ACTIVE            '/dev/vg_base/lv_root' [17.51 GiB] inherit
  ACTIVE            '/dev/vg_base/lv_swap' [2.00 GiB] inherit
[root@base test1]#