您的位置:首页 > 运维架构 > Linux

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

2012-07-01 10:48 393 查看
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所在的VG的logical extent(PE)的大小。
到这里减小操作已完成。

注:减小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自动挂载,快照等功能。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息