LVM( 二 )


LVM

文章插图
LVM抽象模型逻辑卷LV也被划分为可被定址的基本单位,称为LE 。在同一个卷组中,LE的大小和PE是相同的,并且一一对应 。图所示LVM抽象模型,展示了PV、VG、LV三者之间关係:和非LVM系统将包含分区信息的元数据保存在位于分区的起始位置的分区表中一样,逻辑卷以及卷组相关的元数据也是保存在位于物理捲起始处的VGDA(卷组描述符区域)中 。VGDA包括以下内容:PV描述符、VG描述符、LV描述符、和一些PE描述符 。系统启动LVM时激活VG,并将VGDA载入至记忆体,来识别LV的实际物理存储位置 。当系统进行I/O操作时,就会根据VGDA建立的映射机制来访问实际的物理位置 。安装首先确定系统中是否安装了lvm工具:[root@wwwroot]#rpm –qa | grep lvmlvm-1.0.3-4如果命令结果输入类似于上例,那幺说明系统已经安装了LVM管理工具;如果命令没有输出则说明没有安装LVM管理工具,则需要从网路下载或者从光碟装LVMrpm工具包 。安装了LVM的RPM软体包以后,要使用LVM还需要配置核心支持LVM 。RedHat默认核心是支持LVM的,如果需要重新编译核心,则需要在配置核心时,进入Multi-deviceSupport(RAIDandLVM)子选单,选中以下两个选项:[*]Multipledevicesdriversupport(RAIDandLVM)<*>Logicalvolumemanager(LVM)Support然后重新编译核心,即可将LVM的支持添加到新核心中 。为了使用LVM,要确保在系统启动时激活LVM,幸运的是在RedHat7.0以后的版本,系统启动脚本已经具有对激活LVM的支持,在/etc/rc.d/rc.sysinit中有以下内容:#LVMinitialization if[-e/proc/lvm-a-x/sbin/vgchange-a-f/etc/lvmtab];thenaction$"SettingupLogicalVolumeManagement:"/sbin/vgscan&&/sbin/vgchange-ayfi其中关键是两个命令,vgscan命令实现扫描所有磁碟得到卷组信息,并创建档案卷组数据档案/etc/lvmtab和/etc/lvmtab.d/*;vgchange-ay命令激活系统所有卷组 。创建管理要创建一个LVM系统,一般需要经过以下步骤:1、创建分区使用分区工具(如:fdisk等)创建LVM分区,方法和创建其他一般分区的方式是一样的,区别仅仅是LVM的分区类型为8e 。2、创建物理卷创建物理卷的命令为pvcreate,利用该命令将希望添加到卷组的所有分区或者磁碟创建为物理卷 。将整个磁碟创建为物理卷的命令为:#pvcreate /dev/hdb将单个分区创建为物理卷的命令为:#pvcreate /dev/hda53、创建卷组创建卷组的命令为vgcreate,将使用pvcreate建立的物理卷创建为一个完整的卷组:#vgcreate web_document /dev/hda5 /dev/hdbvgcreate命令第一个参数是指定该卷组的逻辑名:web_document 。后面参数是指定希望添加到该卷组的所有分区和磁碟 。vgcreate 在创建卷组web_document以外,还设定使用大小为4MB的PE(默认为4MB),这表示卷组上创建的所有逻辑卷都以4MB为增量单位来进行扩充 或缩减 。由于核心原因,PE大小决定了逻辑卷的最大大小,4MB的PE决定了单个逻辑卷最大容量为256GB,若希望使用大于256G的逻辑卷则创建卷组 时指定更大的PE 。PE大小範围为8KB到512MB,并且必须总是2的倍数(使用-s指定,具体请参考manvgcreate) 。(centos 6.2系统已发现没有这种限制)4、激活卷组为了立即使用卷组而不是重新启动系统,可以使用vgchange来激活卷组:#vgchange -ay web_document5、添加新的物理卷到卷组中当系统安装了新的磁碟并创建了新的物理卷,而要将其添加到已有卷组时,就需要使用vgextend命令:#vgextend web_document /dev/hdc1这里/dev/hdc1是新的物理卷 。6、从卷组中删除一个物理卷要从一个卷组中删除一个物理卷,首先要确认要删除的物理卷没有被任何逻辑卷正在使用,就要使用pvdisplay命令察看一个该物理卷信息:如果某个物理卷正在被逻辑卷所使用,就需要将该物理卷的数据备份到其他地方,然后再删除 。删除物理卷的命令为vgreduce:#vgreduce web_document /dev/hda17、创建逻辑卷 创建逻辑卷的命令为lvcreate:#lvcreate -L1500 -n www1 web_document该命令就在卷组web_document上创建名字为www1,大小为1500M的逻辑卷,并且设备入口为 /dev/web_document/www1(web_document为卷组名,www1为逻辑卷名) 。如果希望创建一个使用全部卷组的逻辑卷,则需 要首先察看该卷组的PE数,然后在创建逻辑卷时指定:#vgdisplay web_document | grep"TotalPE"TotalPE45230#lvcreate -l45230 web_document -n www18、创建档案系统笔者推荐使用reiserfs档案系统,来替代ext2和ext3:创建了档案系统以后,就可以载入并使用它:#mkdir/data/wwwroot#mount /dev/web_document/www1/data/wwwroot如果希望系统启动时自动载入档案系统,则还需要在/etc/fstab中添加内容:/dev/web_document/www1/data/wwwrootreiserfsdefaults129、删除一个逻辑卷删除逻辑卷以前首先需要将其卸载,然后删除:#umount /dev/web_document/www1#lvremove /dev/web_document/www1lvremove--doyoureallywanttoremove"/dev/web_document/www1"?[y/n]:ylvremove--doingautomaticbackupofvolumegroup"web_document"lvremove--logicalvolume"/dev/web_document/www1"successfullyremoved10、扩展逻辑卷大小LVM提供了方便调整逻辑卷大小的能力,扩展逻辑卷大小的命令是lvextend:#lvextend -L12G /dev/web_document/www1lvextend--extendinglogicalvolume"/dev/web_document/www1"to12GBlvextend--doingautomaticbackupofvolumegroup"web_document"lvextend--logicalvolume"/dev/web_document/www1"successfullyextended上面的命令就实现将逻辑卷www1的大小扩招为12G 。#lvextend -L +1G /dev/web_document/www1 lvextend--extendinglogicalvolume"/dev/web_document/www1"to13GBlvextend--doingautomaticbackupofvolumegroup"web_document"lvextend--logicalvolume"/dev/web_document/www1"successfullyextended上面的命令就实现将逻辑卷www1的大小增加1G 。增加了逻辑卷的容量以后,就需要修改档案系统大小以实现利用扩充的空间 。笔者推荐使用reiserfs档案系统来替代ext2或者ext3 。因此这里仅 仅讨论reiserfs的情况 。Reiserfs档案工具提供了档案系统大小调整工具:resize_reiserfs 。对于希望调整被载入的档案系统大 小:#resize_reiserfs -f /dev/web_document/www1一般建议最好将档案系统卸载,调整大小,然后再载入:#umount /dev/web_document/www1#resize_reiserfs /dev/web_document/www1#mount-treiserfs /dev/web_document/www1/data/wwwroot对于使用ext2或ext3档案系统的用户可以考虑使用工具ext2resize 。11、减少逻辑卷大小使用lvreduce即可实现对逻辑卷的容量,同样需要首先将档案系统卸载:#umount /data/wwwroot#resize_reiserfs -s -2G /dev/web_document/www1#lvreduce -L -2G /dev/web_document/www1#mount-treiserfs /dev/web_document/www1/data/wwwroot总结根据上面的讨论可以看到,LVM具有很好的可伸缩性,使用起来非常方便 。可以方便地对卷组、逻辑卷的大小进行调整,更进一步调整档案系统的大小 。优点LVM通常用于装备大量磁碟的系统,但它同样适于仅有一、两块硬碟的小系统 。小系统使用LVM的益处传统的档案系统是基于分区的,一个档案系统对应一个分区 。这种方式比较直观,但不易改变:1.不同的分区相对独立,无相互联繫,各分区空间很易利用不平衡,空间不能充分利用;2.当一个档案系统/分区已满时,无法对其扩充,只能採用重新分区/建立档案系统,非常麻烦;或把分区中的数据移到另一个更大的分区中;或採用符号连线的方式使用其它分区的空间 。3.如果要把硬碟上的多个分区合併在一起使用,只能採用再分区的方式,这个过程需要数据的备份与恢复 。当採用LVM时,情况有所不同: