快速业务通道

lvm的扩容及缩小

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-05-02
LVM是Logical Volume Manager(逻辑卷管理)的简写,它由HeinMauelshagen在Linux2.4内核上实现.与传统的磁盘与分区相比,LVM为计算机提供了更高层次的磁盘存储.它使系统管理员可以更方便的为应用与用户分配存储空间.在LVM管理下的存储卷可以按需要随时改变大小与移除(可能需对文件系统工具进行升级).LVM也允许按用户组对存储卷进行管理,允许管理员用更直观的名称(如"sales''、''development'')代替物理磁盘名(如''sda''、''sdb'')来标识存储卷.
LVM的结构如下:
hda1 hdc1 sdc (PV:s 物理卷,一般为分区或整个硬盘)
| /
| /
diskvg (VG 卷组由物理卷组成)
/ |
/ |
usrlv rootlv varlv (LV:s 逻辑卷在卷组上创建)
| | |
ext2/3 reiserfs xfs (建立在逻辑卷上的文件系统)

LVM的扩容

接好盘之后执行一下fdisk -l 会列出盘的识别的设备名例如是/dev/sdc 的一个设备
然后做如下操作:
1)pv创建
#pvcreate /dev/sdc

2)把pv加入到vg中,以加入vg0为例.
#vgcreate vg0 /dev/sda

3) LVM提供了方便调整逻辑卷大小的功能,扩展逻辑卷大小的命令是“lvextent”

例如,将“lvtest2”的空间大小调整到 160M,操作如下:
# lvextend -L 160M /dev/vgtest/lvtest2
Extending logical volume lvtest2 to 160.00 MB
Logical volume lvtest2 successfully resized
也可以在原来的基础增加相应的大小,如下:
# lvextend -L 40M /dev/vgtest/lvtest2
Extending logical volume lvtest2 to 160.00 MB
Logical volume lvtest2 successfully resized
逻辑卷扩展后并不会马上生效,需要使用“resize2fs”命令重新加载逻辑卷的大
小,该命令只针对ext2/ext3的文件系统(若是 reiserfs的文件系统,则使用
“resize_reiserfs”命令),如果该逻辑卷正在使用中,就应该先将该逻辑卷卸载
后再执行 “resize2fs”命令,操作如下:
# umount /dev/vgtest/lvtest2
# resize2fs /dev/vgtest/lvtest2
resize2fs 1.35 (28-Feb-2004)
The filesystem is already 163840 blocks long. Nothing to do!
# mount /dev/vgtest/lvtest2 /mnt/lvtest2/
以上这些操作可以通过“ext2online”命令直接来实现,这样就不用做卸载逻辑卷等
操作了,如下:
# ext2online /dev/vgtest/lvtest2
ext2online v1.1.18 - 2001/03/18 for EXT2FS 0.5b

方法2:

1.对新硬盘分区建立物理卷
pvcreate /dev/sdc
2.把新物理卷加入到原有的卷组中
vgextend VolGroup00 /dev/sdc
3.扩展分区前先卸载(例如您要扩展的是/opt)
umount /opt
4.扩展硬盘的空间到原有的逻辑卷中(比如您的sdc是120的盘)
e2fsadm -L 120G /dev/VolGroup/LogGroup02
5.重新挂载分区
mount /opt
即可完成扩容.

逻辑卷可扩展同样也可缩小,lvm的缩小方法如下:
1、如果单纯的缩小LV,以vg0中的lv1为例,方法如下:
缩小lv可能导致数据丢失,先备份数据.

卸载lv
# umount /dev/vg0/lv1

减小lv 以减少1G为例
# lvreduce -L-1G /dev/vg0/lv1
WARNING: Reducing active logical volume to 1.00 GB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lv1? [y/n]: y
Reducing logical volume lv1 to 1.00 GB
Logical volume lv1 successfully resized

逻辑卷减小后并不会马上生效,需要使用“resize2fs”命令重新加载逻辑卷的大小,该命令只针对ext2/ext3的文件系统(若是eiserfs的文件系统,则使用“resize_reiserfs”命令),如果该逻辑卷正在使用中,就应该先将该逻辑卷卸载
后再执行 “resize2fs”命令,操作如下:
# umount /dev/vg0/lv1
# resize2fs /dev/vg/lv1
resize2fs 1.35 (28-Feb-2004)
The filesystem is already 163840 blocks long. Nothing to do!
# mount /dev/vg0/lvt1 /test/
以上这些操作可以通过“ext2online”命令直接来实现,这样就不用做卸载逻辑卷等
操作了,如下:
# ext2online /dev/vg0/lv1
ext2online v1.1.18 - 2001/03/18 for EXT2FS 0.5b

但是空闲的这个空间可能在一个pv的一部分这样是不能动态的重新把这部分空间分给另一个vg的,一个pv是不能同属于多个vg但可以把这个空间在lv之间划分.

2、想把这个vg上的空间化到另一个vg中,需要缩小lv的时候缩小的空间要是中的一个pv的大小,然后把其中的pv重新划到另一个 vg 中.
例如中的一个pv的大小是10G, 名称为pv2,对应的设备是sdc1,把他从 /vg0/lv1
中挪到vg1中其过程如下:
1)、根据上面的方法减小lv

2)、把pv2移出/dev/vg0/lv1
vgreduce vg0 /dev/hdc1

注:此操作的前提是pv2上没有数据并且lvm没有在使用,并不在挂载状态.

3)、把这个pv加到vg2中
vgextend vg2 /dev/hdc1

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号