LINUX基础之LVM卷管理Page2课程大纲LVM的简介1234LVM的构成如何使用LVM案例介绍一5命令回顾Page3课程大纲LVM的简介1234LVM的构成如何使用LVM案例介绍一5命令回顾Page4LVM简介LVM是LogicalVolumeManager(逻辑卷管理)的简写,在LVM管理下的存储卷可以按需要随时改变大小与移除(可能需对文件系统工具进行升级)。LVM也允许按用户组对存储卷进行管理,允许管理员用更直观的名称(如sales'、'development')代替物理磁盘(如'sda'、'sdb')来标识存储卷。Page5LVM的优点传统的文件系统LVM文件系统不同的分区相对独立,无相互联系,各分区空间很易利用不平衡,空间不能充分利用硬盘的多个分区由LVM统一为卷组管理,可以方便的加入或移走分区以扩大或减小卷组的可用容量,充分利用硬盘空间当一个文件系统/分区已满时,无法对其扩充,只能采用重新分区/建立文件系统,或把分区中的数据移到另一个更大的分区中,或采用符号连接的方式使用其它分区的空间。文件系统建立在逻辑卷上,而逻辑卷可根据需要改变大小(在卷组容量范围内)以满足要求如果要把硬盘上的多个分区合并在一起使用,只能采用再分区的方式,这个过程需要数据的备份与恢复文件系统建立在LVM上,可以跨分区,方便使用系统中有有很多不同容量硬盘时,对不同的用户的空间分配以及日后调整比较麻烦可以随时按要求增大,或根据使用情况对各逻辑卷进行调整。当系统空间不足而加入新的硬盘时,不必把用户的数据从原硬盘迁移到新硬盘,而只须把新的分区加入卷组并扩充逻辑卷即可Page6课程大纲LVM的简介1234LVM的构成如何使用LVM案例介绍一5命令回顾Page7LVM的构成VGPVPVPEPEPEPEPEPEPEPELVlvhomeLVlvvarPage8lvm的几个术语PV(物理卷(physicalvolume))物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。VG(卷组(VolumeGroup))LVM卷组类似于非LVM系统中的物理硬盘,其由物理卷组成。可以在卷组上创建一个或多个“LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组成。LV(逻辑卷(logicalvolume))LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上可以建立文件系统(比如/home或者/usr等)。PE(physicalextent)每一个物理卷被划分为称为PE(PhysicalExtents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。Page9LVM规则1)一块物理硬盘(PV)只能属于一个卷组(VG)2)一个VG里的最大逻辑卷(LV)数目是2553)每个PV最大PE数目是65536,可在创建VG时通过vgcreate–e设定4)每个VG中最大PV数目是255,可在创建VG时通过vgcreate–p设定Page10课程大纲LVM的简介1234LVM的构成如何使用LVM案例介绍一5命令回顾Page11创建使用lvm的步骤1、创建分区使用fdisk创建LVM分区,方法和创建其他一般分区的方式是一样的,区别仅仅是LVM的分区类型为8e(默认为83)2、创建物理卷创建物理卷的命令为pvcreate,利用该命令将希望添加到卷组的所有分区或者磁盘创建为物理卷。将整个磁盘创建为物理卷的命令为:#pvcreate/dev/hdb将单个分区创建为物理卷的命令为:#pvcreate/dev/hda53、创建卷组创建卷组的命令为vgcreate,将pv创建为一个完整的卷组:#vgcreatevgtest/dev/hda5/dev/hdb4、创建逻辑卷创建逻辑卷的命令为lvcreate:1、便于管理,易于处理错误2、避免交错方式中性能下降1、把已存在的系统合并到LVM中2、把一个大硬盘分给不同的VG使用Page12常用管理LVM的命令添加新的物理卷到卷组中当系统安装了新的磁盘并创建了新的物理卷,而要将其添加到已有卷组时,就需要使用vgextend命令:#vgextendVG_name/dev/hdc1这里/dev/hdc1是新的物理卷从卷组中删除一个物理卷要从一个卷组中删除一个物理卷,首先要确认要删除的物理卷没有被任何逻辑卷正在使用,就要使用pvdisplay命令察看一个该物理卷信息,如果某个物理卷正在被逻辑卷所使用,就需要将该物理卷的数据备份到其他地方,然后再删除。删除物理卷的命令:#vgreduceVG_name/dev/hda1Page13常用管理LVM的命令•扩展逻辑卷LVM提供了方便调整逻辑卷大小的能力,扩展逻辑卷大小的命令是lvextend:#lvextend-L12G/dev/vgtest/lvtest上面的命令就实现将逻辑卷lvtest的大小扩招为12G#lvextend-L+1G/dev/vgtest/lvtest上面的命令就实现将逻辑卷lvtest的大小增加1G。增加了逻辑卷的容量以后,就需要修改文件系统大小以实现利用扩充的空间:resize2fs/dev/vgtest/lvtest一般建议最好将文件系统卸载,调整大小,然后再加载Page14常用管理LVM的命令•缩小逻辑卷首先卸载文件系统:#umount/test强迫检查文件系统正确性:#e2fsck-f/dev/vg_root/lv_首先缩小文件系统:#resize2fs/dev/vg_root/lv_大小:#lvreduce-L100G/dev/vg_root/lv_最后挂载文件系统:#mount/test检查缩小后的大小及数据完整性。Page15常用命令详解lvcreate[options]-n逻辑卷名卷组名[PV1...]其中的常用可选项有:-iStripes:采用交错(striped)方式创建LV,其中Stripes指卷组中PV的数量-IStripe_size:采用交错方式时采用的块大小(单位为KB),Stripe_size必须为2的指数:2N,N=2,3...9-lLE/PEs:指定LV的逻辑块数-Lsize:指定LV的大小,其后可以用K、M、G表示KB、MB、GB-s:创建一已存在LV的snapshot卷-nname:为LV指定名称Page16vgcreate-l卷组最大能包含的逻辑参数-p卷组最大能包含的物理卷数-e卷组中每个物理卷最多能包括的物理单元(PE)数-s卷组中物理单元(PE)的尺寸大小pvmove把一个pv所有活动PE中的数据转移到其它PV上,两个pv必须在同一个vg里并且有足够的空间。如要把PV1:/dev/hda1上的数据移到PV2:/dev/sda1上可用命令:pvmove/dev/hdb1/dev/sdg1如果在该PV之上的LV采用交错方式存放,则这个转移过程不能被打断Page17课程大纲LVM的简介1234LVM的构成如何使用LVM案例介绍一5命令回顾Page18案例介绍一更换卷组硬盘由于某种原因,需要用新的硬盘替代卷组中的旧硬盘,如用一SCSI硬盘替换IDE硬盘,其步骤为:1、初始化新硬盘首先用pvcreate命令初始化新的硬盘,如使用整个硬盘:#pvcreate/dev/sdf2、加入卷组把新硬盘加入卷组:#vgextendvgtest/dev/sdfPage19案例介绍一3、数据搬家在移除旧硬盘前,要把其上的数据转移到新硬盘上。在转移数据时,不要求卸载文件系统,但建议在数据转移前进行备份,以防转移进程中意外导致数据丢失。使用pvmove用来实现数据转移,根据数据量的多少,它可能要使用大量的时间,并可降低逻辑卷的性能,因此要在系统不太忙时操作。#pvmove/dev/hdb/dev/sdf4、移除未用硬盘当数据被转移到其它硬盘后,就可以从卷组中删除这块不再使用的硬盘:#vgreducedev/dev/hdb卷组vgtest不再使用IDE硬盘/dev/hdb,这块硬盘可以从机器中拆下或用作它途。Page20案例介绍二迁移卷组到其它系统把一个卷组转移到其它系统是很容易的(如更换服务器),这要用命令vgexport与vgimport。1、卸载文件系统为整体搬迁卷组,应首先把它从文件系统中卸载,如:#umount/挂载点2、设置卷组为非活动状态把卷组从内核中卸载,以避免任何对它可能的操作:#vgchange-anvgtest3、Export卷组这个操作不是必须的,它可以防止系统对卷组的访问:#vgexportvgtest当机器关机后,构成卷组的硬盘就可被转移到新的服务器上。Page21案例介绍二4、import卷组在新的服务器上,可用pvscan查看卷组情况,如在这台计算机上,硬盘新的设备为/dev/sdb,使用pvscan可有:#pvscan5、然后import卷组vgtest(同时也激活它)以安装其上的文件系统#vgimportvgtest/dev/sdb1/dev/sdb2#mount/dev/vgtest/lvtest/挂载点在完成以上操作后,原卷组在新的服务器上就可使用了Page22案例介绍三分割卷组这种情况是:需要在系统中加入新的卷组,但没有其它可用新硬盘,而已有的卷组中还有大量空间可用。如向系统加入一个vgnew卷组。1、检查可用空间#pvscanpvscan--ACTIVEPV/dev/sdg1ofVGops[996MB/432MBfree]pvscan--ACTIVEPV/dev/sdg2ofVGdev[996MB/632MBfree]把/dev/sdg1与/dev/sdg2分配组vgnew,但首先要把其上的物理块移走。2、从选定硬盘移出数据由于硬盘上的逻辑卷仍在使用,故首先要转移它们的数据。把所有在使用的物理块从/dev/sdg1上转移到/dev/sde,及从/dev/sdg2转移到/dev/sdf。#pvmove/dev/sdg1/dev/sde#pvmove/dev/sdg2/dev/sdfPage23案例介绍三3、创建新卷组现在把/dev/sdg2从卷组vgtest从分割出并加入到新卷组vgnew中。可用vgreduce与vgcreate完成工作,但vgsplit此时更方便:#vgsplitvgtestvgnew/dev/sdg24、移除剩余的卷接下来的工作把/dev/sdg1从卷组vgold中分出并加入卷组vgnew:#vgreducevgold/dev/sdg1#vgextendvgnew/dev/sdg15、建立新逻辑卷及文件系统在卷组vgnew上建立逻辑卷,为今后的方便,现只使用一部分空间:#lvcreate-L750M-nlvnewvgnew#mkfs-text3/dev/vgnew/lvnew#mount/dev/vgnew/lvnew/挂载点现在就可使用卷组vgnew。为方便使用,可把下面一行加入文件/etc/fstab中:/dev/vgnew/lvnew/挂载点ext3defaults12Page24课程大纲LVM的简介1234LVM的构成如何使用LVM案例介绍一5命令回顾Page25回顾1、物理卷命令pvscan:在系统的所有磁盘中搜索已存在的物理卷pvdisplay物理卷全路径名称:用于显示指定物理卷的属性pvcreate设备全路径名:用于在磁盘或磁盘分区上创建物理卷初始化信息,以便对该物理卷进行逻辑卷管理。pvmove源物理卷全路径[目的物理卷全路径名]:用于把某物理卷中的数据转移到同卷组中其他的特刊卷中。Page262、卷组命令vgscan:检测系统中所有磁盘vgdisplay[卷组名]:显示卷组的属性信息vgrename原卷组名新卷组名:重命名vgchange-ay|n[卷组名]:改变卷组的相应属性是否可分配vgcha