centos6.2 配置LVM之(更改大小及删除)

 

一、查看原大小

[root@localhost /]# df -h  //查看大小

文件系统              容量  已用  可用 已用%% 挂载点

/dev/sda2              20G  2.0G   18G  11% /

tmpfs                 742M     0  742M   0% /dev/shm

/dev/sda1             194M   27M  158M  15% /boot

/dev/mapper/vg1-lv1--backup

                      2.0G   67M  1.9G   4% /backup  //原来为2G

[root@localhost /]# 

二、增加操作

lvextend -L +9G /dev/vg1/lv1-backup   //增加操作,-L +9G增大9G,也可以指定一个新的大小。后面跟LV名称

  Extending logical volume lv1-backup to 11.00 GiB

  Logical volume lv1-backup successfully resized

[root@localhost /]# lvscan  //查看LV信息

  ACTIVE            '/dev/vg1/lv1-backup' [11.00 GiB] inherit  //已经增大

[root@localhost /]# df -h

文件系统              容量  已用  可用 已用%% 挂载点

/dev/sda2              20G  2.0G   18G  11% /

tmpfs                 742M     0  742M   0% /dev/shm

/dev/sda1             194M   27M  158M  15% /boot

/dev/mapper/vg1-lv1--backup

                      2.0G   67M  1.9G   4% /backup  //但磁盘空间仍然没变,向下看。 

[root@localhost /]# resize2fs /dev/vg1/lv1-backup    //检测磁盘的大小

resize2fs 1.41.12 (17-May-2010)

Filesystem at /dev/vg1/lv1-backup is mounted on /backup; on-line resizing required

old desc_blocks = 1, new_desc_blocks = 1

Performing an on-line resize of /dev/vg1/lv1-backup to 2883584 (4k) blocks.

The filesystem on /dev/vg1/lv1-backup is now 2883584 blocks long.

[root@localhost /]# df -h

文件系统              容量  已用  可用 已用%% 挂载点

/dev/sda2              20G  2.0G   18G  11% /

tmpfs                 742M     0  742M   0% /dev/shm

/dev/sda1             194M   27M  158M  15% /boot

/dev/mapper/vg1-lv1--backup

                       11G   69M   11G   1% /backup  //此时已经更新为新的大小。

[root@localhost /]# 

注:磁盘的增大可以在线执行,但磁盘的减小就必须UMOUNT后才可以执行,并且文件可以会有丢失。

三、减小操作。注:一定要按步骤进行,否则容易出错。

[root@localhost /]# umount /backup/  //卸载分区,重要**

[root@localhost /]# e2fsck -f /dev/vg1/lv1-backup   //强制检查分区

e2fsck 1.41.12 (17-May-2010)

第一步检查inode,,和大小

第二步检查目录结构

3检查目录连接性

Pass 4: Checking reference counts

5检查簇概要信息

/dev/vg1/lv1-backup: 11/720896 files (0.0% non-contiguous), 62912/2883584 blocks

[root@localhost /]# resize2fs /dev/vg1/lv1-backup 10G //指定分区大小为10G

resize2fs 1.41.12 (17-May-2010)

Resizing the filesystem on /dev/vg1/lv1-backup to 2621440 (4k) blocks.

The filesystem on /dev/vg1/lv1-backup is now 2621440 blocks long.

[root@localhost /]# lvreduce -L 10G /dev/vg1/lv1-backup    //执行减小操作,这里的大小一定和上面的一致

  WARNING: Reducing active logical volume to 10.00 GiB

  THIS MAY DESTROY YOUR DATA (filesystem etc.)

Do you really want to reduce lv1-backup? [y/n]: y

  Reducing logical volume lv1-backup to 10.00 GiB

  Logical volume lv1-backup successfully resized

[root@localhost /]# lvscan

  ACTIVE            '/dev/vg1/lv1-backup' [10.00 GiB] inherit

[root@localhost /]# mount /dev/vg1/lv1-backup /backup/

[root@localhost /]# df -h

文件系统              容量  已用  可用 已用%% 挂载点

/dev/sda2              20G  2.0G   18G  11% /

tmpfs                 742M     0  742M   0% /dev/shm

/dev/sda1             194M   27M  158M  15% /boot

/dev/mapper/vg1-lv1--backup

                      9.9G   69M  9.3G   1% /backup

[root@localhost /]# 

 

说明:这种做法可能不是非常精确,因为MB不是LVM2空间管理的单位,空间分配是以extent为单位的。有必要先了解LV所在的VGlogical extentPE)的大小

到这里减小操作已完成。

注:减小LVM:因为1.32版本的resize2fs后面不能接磁盘大小参数,只能接磁盘块数值。所以要进行计算。

dumpe2fs /dev/vg/lv   //查看LV的磁盘区块数。

resize2fs /dev/vg/lv 新的区块数   //新的区块数算法:总块数/4096(这个值也可以在dumpe2fs指令block size查看)即是块的数量。会发现与vgdisply的块数相同。假如在建立VG时指定PE 为16M。则想要减小的数值/16得到想要减少块数。在用总块数-想要减少的块数。得到减少后的块数。然后在X4096即得到新的区块数。此时会提示e2fsck -f /dev/vg/lv,运行这个指令。

e2fsck -f /dev/vg/lv

resize2fs /dev/vg/lv   //在次运行这个指令。此时lvdisply并没有减少。

lvreduce -l 想要减少的块数 /dev/vg/lv   //减少LV

mount /dev/vg/lv /lv/lv    //挂载LV

注:一定要先减小系统文件大小,在减少LV大小。否则会提示磁盘损坏。文件将会丢失。

   如果发生先减少LV的情况,应该不要在新的LV内写入文件。并执行lvextend -L +10M /dev/vg/lv进行增大到之前的空间。此时执行resize2fs会提示nothing to do.

 

更多的说明“百分一”将不断更新,请大家多多指教。

到这里LV的建立已经完成。下结将讨论LV自动挂载,快照等功能。