Linux-LVM逻辑卷管理介绍.docx_第1页
Linux-LVM逻辑卷管理介绍.docx_第2页
Linux-LVM逻辑卷管理介绍.docx_第3页
Linux-LVM逻辑卷管理介绍.docx_第4页
Linux-LVM逻辑卷管理介绍.docx_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Linux LVM逻辑卷管理本文介绍了LVM的概念、作用以及使用方法。一、 什么是LVM1.1 LVM概念LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是对磁盘分区进行管理的一种机制,建立在硬盘和分区之上的一个逻辑层,用来提高磁盘管理的灵活性。通过LVM可将若干个磁盘分区连接为一个整块的卷组(Volume Group),形成一个存储池。可以在卷组上随意创建逻辑卷(Logical Volumes),并进一步在逻辑卷上创建文件系统,与直接使用物理存储在管理上相比,提供了更好灵活性。LVM本质上是一个虚拟设备驱动,处于物理设备和文件系统层之间,维护着逻辑盘区和物理盘区之间的映射。它将几块磁盘或者分区组合起来形成一个存储池或者卷组,LVM从卷组中划分出不同大小的逻辑卷创建新的逻辑设备。 图1是LVM结构模拟图示。图1 LVM构成结构示意图1.2 LVM优点LVM将存储虚拟化,使用逻辑卷,你不会受限于物理磁盘的大小,另外,与硬件相关的存储设置被其隐藏,你可以不用停止应用或卸载文件系统来调整卷大小或数据迁移。这样可以减少操作成本。LVM与直接使用物理存储相比,有以下优点:1.灵活的容量当使用逻辑卷时,文件系统可以扩展到多个磁盘上,你可以聚合多个磁盘或磁盘分区成单一的逻辑卷。2.可伸缩的存储池你可以使用简单的命令来扩大或缩小逻辑卷大小,不用重新格式化或分区磁盘设备。3.在线的数据再分配你可以在线移动数据,数据可以在磁盘在线的情况下重新分配。比如,你可以在线更换可热插拔的磁盘。4.方便的设备命名逻辑卷可以按你觉得方便的方式来起任何名称。5.磁盘条块化你可以生成一个逻辑盘,它的数据可以被条块化存储在2个或更多的磁盘上。这样可以明显提升数据吞吐量。6.镜像卷LVM逻辑卷提供方便的方法来镜像你的数据。7.卷快照使用逻辑卷,你可以获得设备快照用来一致性备份或者测试数据更新效果而不影响真实数据。二、LVM的作用通过LVM可以方便的在线调整存储卷的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配,例如按照使用用途进行定义:“development”和“sales”,而不是使用物理磁盘名“sda”和 “sdb”。当系统添加了新的磁盘,通过LVM可以直接扩展文件系统跨越该磁盘,而不必将文件移动到新的磁盘上。此外,LVM快照功能以及LVM镜像功能,也被普遍应用于数据的备份与恢复系统中。三、LVM相关基本概念图2 PV、VG、LV的关系3.1物理存储介质(The physical media)这里指系统的存储设备:硬盘,如:/dev/hda1、/dev/sda等等,是存储系统最低层的存储单元。3.2物理卷(Physical Volume)物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。3.3卷组(Volume Group)卷组由物理卷组成,类似于非LVM系统中的物理硬盘,可以在卷组上创建一个或多个LVM分区(逻辑卷)。3.4逻辑卷(Logical Volume)LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上可以建立文件系统(比如/home或者/usr等)。线性逻辑卷 (Linear Volumes)一个线性逻辑卷聚合多个物理卷成为一个逻辑卷.比如,如果你有两个60GB硬盘,你可以生成120GB的逻辑卷.3.5条块化的逻辑卷(Striped Logical Volumes)当你写数据到此逻辑卷中时,文件系统可以将数据放置到多个物理卷中.对于大量连接读写操作,它能改善数据I/O效率.3.6镜像的逻辑卷(Mirrored Logical Volumes)镜像在不同的设备上保存一致的数据.数据同时被写入原设备及镜像设备.它提供设备之间的容错。3.7 快照卷(Snapshot Volumes)快照卷提供在特定瞬间的一个设备虚拟映像,当快照开始时,它复制一份对当前数据区域的改变,由于它优先执行这些改变,所以它可以重构当前设备的状态。3.8 PE(Physical Extent)每一个物理卷被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。3.9 LE(Logical Extent)逻辑卷也被划分为被称为LE(Logical Extents)的可被寻址的基本单位。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。3.10 VGDA(卷组描述符区域)和非LVM系统将包含分区信息的元数据保存在位于分区的起始位置的分区表中一样,逻辑卷以及卷组相关的元数据也是保存在位于物理卷起始处的VGDA(卷组描述符区域)中。VGDA包括以下内容:PV描述符、VG描述符、LV描述符、和一些PE描述符。系统启动LVM时激活VG,并将VGDA加载至内存,来识别LV的实际物理存储位置。当系统进行I/O操作 时,就会根据VGDA建立的映射机制来访问实际的物理位置。四、安装LVM首先请确定内核支持LVM,Turbolinux发行版内核均已支持LVM。如果您的内核不支持LVM,您可以手工编译内核,在配置内核时,进入Multi-device Support (RAID and LVM)子菜单,选中以下选项:* Multiple devices driver support (RAID and LVM)然后重新编译内核,即可将LVM的支持添加到新内核中。确定系统中是否安装了lvm工具:# rpm -qa | grep lvmlvm2-2.02.16-3如果命令结果类似于上例,说明系统已经安装了LVM管理工具;如果命令没有输出则说明没有安装LVM管理工具,则需要从网络下载或者从光盘装LVM rpm工具包。为了使用LVM,要确保在系统启动时激活LVM,Turbolinux发行版在启动时已经具有对激活LVM的 支持,在/etc/rc.d/rc.sysinit中有以下内容: if -x /sbin/lvm.static ; then action $Setting up Logical Volume Management: /sbin/lvm.static vgchange -a y ignorelockingfailure fi五、创建和管理LVM要创建一个LVM系统,一般需要经过以下步骤,参考图3所示:1)通过fdisk 工具将磁盘转换为linux分区;2)通过pvcreate命令将linux分区转换成物理卷(PV);3)通过vgcreate命令将创建好的物理卷处理成卷组(VG);4)通过lvcreate命令将卷组分成若干个逻辑卷(LV);5)对逻辑卷进行格式化、挂载、动态调整逻辑卷的大小,并且该操作不会影响逻辑卷(Lv)上的数据。图3 LVM创建流程图具体步骤操作命令见如下详细介绍。5.1、 创建分区使用分区工具(如:fdisk等)创建LVM分区,方法和创建其他一般分区的方式是一样的,区别仅仅是LVM的分区类型为8e。当然,在lvm2版本中已经没有分区类型的限制。fdisk -l /dev/sdb /dev/sdc如果要将使用整块盘,可以通过下面的命令来覆盖磁盘上的原有分区信息:#dd if=/dev/zero of=/dev/sdc bs=512 count=15.2、 创建物理卷创建物理卷的命令为pvcreate,利用该命令将希望添加到卷组的所有分区或者磁盘创建为物理卷。将整个磁盘创建为物理卷的命令为:# pvcreate /dev/sdbPhysical volume /dev/sdb successfully created将单个分区创建为物理卷的命令为:# pvcreate /dev/sdc1Physical volume /dev/sdc1 successfully created也可以同时生成多个卷:#pvcreate /dev/sdb /dev/sdc15.3、扫描块设备通过lvmdiskscan可以看到那些设备成为了物理卷.#lvmdiskscan5.4、显示物理卷可以使用pvs,pvscan,pvdisplay来显示当前系统中的物理卷.#pvs#pvscan#pvdisplay5.5、移除物理卷#pvremove /dev/sdcLabels on physical volume /dev/sdc successfully wiped5.6、 创建卷组创建卷组的命令为vgcreate,将使用pvcreate建立的物理卷创建为一个完整的卷组:# vgcreate lvm_test /dev/sdc1 /dev/sdbVolume group lvm_test successfully createdvgcreate命令第一个参数是指定该卷组的逻辑名:lvm_test。后面参数是指定希望添加到该卷组的所有分区和磁盘。vgcreate在创建卷组 lvm_test 以外,还设置使用大小为4 MB的PE(默认为4MB),这表示卷组上创建的所有逻辑卷都以 4 MB 为增量单位来进行扩充或缩减。PE最小为1KB,并且必须总是1KB的 2n 的倍数(使用-s指定,具体请参考man vgcreate)。5.7、 激活卷组卷组在创建时默认激活,也可以使用vgchange来激活卷组:# vgchange -a y lvm_test5.8、 添加新的物理卷到卷组中当系统安装了新的磁盘或新建分区并创建了新的物理卷,而要将其添加到已有卷组时,就需要使用vgextend命令:#fdisk -l /dev/sdc#pvcreate /dev/sdc2# vgextend lvm_test /dev/sdc2这里/dev/sdc2是新的物理卷。5.9、显示卷组显示卷组可以使用vgs和vgdisplay.# vgs# vgdisplay5.10、扫描磁盘生成缓存文件#vgscan5.11、 从卷组中删除一个物理卷要从一个卷组中删除一个物理卷,首先要确认要删除的物理卷没有被任何逻辑卷正在使用,就要使用pvdisplay命令察看一个该物理卷信息:#pvdisplay /dev/sdc2 Physical volume PV Name /dev/sdc2VG Name lvm_testPV Size 1.53 GB / not usable 868.00 KBAllocatable yesPE Size (KByte) 4096Total PE 392Free PE 392Allocated PE 0 (表示未被使用)PV UUID jAiils-1vRz-Td9k-1AiD-kIJs-191z-YMz09H如果某个物理卷正在被逻辑卷所使用,就需要将该物理卷的数据备份到其他地方,然后再删除。删除物理卷的命令为vgreduce:# vgreduce lvm_test /dev/sdc2Removed /dev/sdc2 from volume group lvm_test5.12、 创建逻辑卷创建逻辑卷的命令为lvcreate:# lvcreate -L 1500 n test lvm_testLogical volume test created该命令就在卷组lvm_test上创建名字为test,大小为1500M的逻辑卷,并且设备入口为/dev/lvm_test/test (lvm_test为卷组名,test为逻辑卷名)。如果希望创建一个使用全部卷组的逻辑卷,则需要首先察看该卷组的PE数,然后在创建逻辑卷时指定:# vgdisplay lvm_test| grep Total PETotal PE 4731# lvcreate -l 4731 lvm_test -n testLogical volume test created5.13、创建条块化的逻辑卷# lvcreate -L 500M -i2-n test lvm_testUsing default stripesize 64.00 KBRounding size (125 extents) up to stripe boundary size (126 extents)Logical volume test created-i2指此逻辑卷在两个物理卷中条块化存放数据,默认一块大小为64KB.5.14、创建镜像的逻辑卷。#lvcreate -L 52M-m1-n test lvm_test /dev/sdb1 /dev/sdc1 /dev/sdb2Logical volume test created-m1表示只生成一个单一镜像,镜像分别放在/dev/sdb1和/dev/sdc1上,镜像日志放在/dev/sdb2上.5.15、创建快照卷。#lvcreate size 10 snapshot name snaptest /dev/lvm_test/test5.16、 创建文件系统如使用ext3文件系统:#mkfs.ext3 /dev/lvm_test/test创建了文件系统以后,就可以加载并使用它:# mkdir /mnt/test# mount /dev/lvm_test/test /mnt/test如果希望系统启动时自动加载文件系统,则还需要在/etc/fstab中添加内容:/dev/lvm_test/test /mnt/test ext3 defaults 1 25.17、 删除一个逻辑卷删除逻辑卷以前首先需要将其卸载,然后删除:# umount /dev/lvm_test/test# lvremove /dev/lvm_test/testDo you really want to remove active logical volume test? y/n: yLogical volume test successfully removed5.18、 扩展逻辑卷大小LVM提供了方便调整逻辑卷大小的能力,扩展逻辑卷大小的命令是lvextend:# lvextend -L12G /dev/lvm_test/testExtending logical volume test to 12.00 GBLogical volume test successfully resized上面的命令就实现将逻辑卷test的大小扩大为12G。# lvextend -L+1G /dev/lvm_test/testExtending logical volume test to 13.00 GBLogical volume test successfully resized上面的命令就实现将逻辑卷test的大小增加1G。增加了逻辑卷的容量以后,就需要修改文件系统大小以实现利用扩充的空间。对于希望调整被加载的文件系统大小,使用ext2online(ext2resize) 或 resize2fs.#df -h# ext2online /dev/lvm_test/testext2online /dev/lvm_test/testext2online v1.1.18 2001/03/18 for EXT2FS 0.5b#df -hFilesystem容量已用 可用 已用% 挂载点/dev/mapper/VolGroup00-LogVol01 16G 11G3.6G76% /dev/sda1 494M 18M451M 4% /bootnone 506M 0506M 0% /dev/shm/dev/mapper/lvm_test-test 13G 63M 13G 1% /mnt/test一般建议最好将文件系统卸载,调整大小,然后再加载:# umount /dev/lvm_test/test#resize2fs /dev/lvm_test/test# mount/dev/lvm_test/test /mnt/test5.19、 减少逻辑卷大小使用lvreduce即可实现对逻辑卷的容量,同样需要首先将文件系统卸载:# umount /mnt/test#e2fsck -f /dev/lvm_test/test# resize2fs /dev/lvm_test/test11G# lvreduce -L -1.992G /dev/lvm_test/test(少2个PE的大小)# resize2fs /dev/lvm_test/test(通过此命令确认是否文件系统大小与收缩后的逻辑卷大小匹配)# mount /dev/lvm_test/test /mnt/test5.20、显示逻辑卷通过lvscan,lvs及lvdisplay可以察看当前系统中存在的逻辑卷。# lvdisplay#lvscan#lvs -o +devices5.21、使用过滤控制LVM的设备扫描通过编辑/etc/lvm/lvm.conf 中的filter段,来定义过滤那些设备要扫描。filter = a|/dev/sd.*|, a|/dev/hd.*|, r|.*| 上面对scsi及ide设备扫描,对其它设备均不扫描。5.22、在线数据迁移通过pvmove可以将一个PV上的数据迁移到新的PV上,也可以将PV上的某个LV迁移到另一个PV上。#lvs -o +devicesLV VG Attr LSizeOrigin Snap%Move Log Copy%DevicesLogVol00 VolGroup00 -wi-ao2.88G /dev/sda2(0)LogVol01 VolGroup00 -wi-ao1.00G /dev/sda2(92)test lvm_test -wi-ao 52.00M /dev/sdb1(0)#pvmove -n test /dev/sdb1 /dev/sdc1#lvs -o +devicesLV VG Attr LSizeOrigin Snap%Move Log Copy%DevicesLogVol00 VolGroup00 -wi-ao2.88G/dev/sda2(0)LogVol01 VolGroup00 -wi-ao1.00G /dev/sda2(92)test lvm_test -wi-ao 52.00M /dev/sdc1(0)5.23、删除卷组按照顺序卸载文件系统,删除逻辑卷,然后删除卷组。#umount /mnt/test# lvremove /dev/lvm_test/testDo you really want to remove active logical volume test? y/n: yLogical volume test successfully removed#vgremove lvm_testVolume group lvm_test successfully removed5.24、故障排查通过在命令后加 -v,-vv,-vvv或-vvvv来获得更详细的命令输出。通过在lvs,vgs后加-P可以更好的查看失败设备.#vgs -a -o +devices -PPartial mode. Incomplete volume groups will be activated read-only.VG#PV #LV #SN Attr VSize VFree DevicesVolGroup00 1 2 0 wzn- 3.88G 0/dev/sda2(0)VolGroup00 1 2 0 wzn- 3.88G 0/dev/sda2(92)lvm_test 2 2 0 wzn- 1016.00M 896.00M pvmove0(0)lvm_test 2 2 0 wzn- 1016.00M 896.00M /dev/sdb(0),/dev/sdc(0)#lvs -a -o +devices -PPartial mode. Incomplete volume groups will be activated read-only.Failure parsing mirror status fraction: 1 coreFailure parsing mirror status fraction: 1 coreLV VG Attr LSizeOrigin Snap%Move Log Copy%DevicesLogVol00VolGroup00 -wi-ao2.88G /dev/sda2(0)LogVol01VolGroup00 -wi-ao1.00G /dev/sda2(92)pvmove0 lvm_test p-C-ao 60.00M /dev/sdb /dev/sdb(0),/dev/sdc(0)test lvm_test -wI-a- 60.00M pvmove0(0)六、LVM操作的相关命令6.1、物理卷命令pvcreate创建LVM物理卷pvdisplay显示已创建的物理卷信息pvchange设置PV的性

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论