理解Linux系统中的LVM管理:
LVM是 LogicalVolume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它能够在多个物理卷(PV)上创建虚拟的磁盘卷组(VG),然后在磁盘卷组上创建逻辑卷(LV),从而突破传统分区带来的一些限制,那么要更好的理解LVM,首先需要理解传统分区会有一些什么样的限制,然后理解LVM如何去突破这些限制。
首先理解使用传统分区的限制:
不同的分区相对独立,各个分区空间很容易发生利用率不平衡,比如一个分区的已经快被写满了,但是另一个分区还有很大的容量。当一个分区存储已满时,无法对其灵活的扩充,如果要对该分区扩容,只能采用该这个即将被充满,或者已经被充满的分区中的数据先复制到另一个存储设备上,然后重新规划该分区,再次建立文件系统,非常麻烦。这个过程需要数据的备份与恢复,总而言之:你无法对传统分区进行增量式的扩容,所谓增量式的扩容就是:大小为50G的D分区,这次为D分区扩容到70G,然后下次从70G扩容到90G,而这个过程不需要重新的规划分区表及格式化该分区。
LVM对传统分区概念的破突:
如下图1所示:它首先突破了传统硬盘上分区之间相互独立的特性,它将几个不同的物理卷PV(事实上就是物理分区比如图中的sdb1和sdc1),规划成一个虚拟卷组(VG),这个所谓的虚拟卷组(VG)实际上相当于将分布在sdb1和sdc1的物理卷上空余的空间组织成一张整体的虚拟硬盘(也叫虚拟卷组VG),然后在这虚拟硬盘(虚拟卷组VG)上重新的规划逻辑卷(LV),也就是相当于在虚拟硬盘上重新的规划分区,而重新被规划的分区(逻辑卷LV),它增量扩容的特性,比如说,一个逻辑卷最初被规划为10G的容量,当发现容量不够时,只需要使用相关指令将最初10G的逻辑卷增容到15G,在整个增容的过程中,你不再需要将该卷上的数据先备份出来,再做格式化,最后把数据恢复进入该卷,VLM省去了这个传统分区扩容的繁琐过程,效率将更高!
演示:在Linux操作系统上LVM的实现与效果验证
演示目标:在Linux操作系统上LVM的实现与效果验证。
演示环境:任意一台安装了3张scsi硬盘的Linux操作系统,为什么是3张硬盘?这不是因为其它什么要求或者原因,只是因为笔者的Linux系统中的第1张硬盘用于存放引导和系统文件,然后使用另外2张硬盘来完成这个实验,为什么又要使用两张硬盘?这是为了让大家看到LVM垮越多个物理卷的效果。整个实验可以通过虚拟机完成。
演示背景:演示的背景如下所述:
ü首先使用fidis –l 查看安装了2张新硬盘的情况
ü然后为两张硬盘分区,也就建立两个物理卷。
ü然后为两个物理卷指定格式系统为LVM使用的8e。
ü建立一个虚拟卷组,然后将两个物理卷加入到虚拟卷组,激活虚拟卷组。
ü在虚拟卷组上建立新的逻辑卷,使用Ext3格式化该卷,然后对该卷执行挂载,并在逻辑卷上存入数据。
ü然后增容该逻辑卷,体验LVM的优势。
演示步骤:
第一步:在终端窗口使用fdisk –l查看当前Linux系统使用硬盘的情况,用于实验的两张新硬盘是否被操作系统识别、盘号、是否被格式化等信息,具体如下图2所示;
第二步:现在进入第二张硬盘/dev/sdb,然后如下图3所示的步骤,分别为该硬盘建立一个物理分区,并将物理分区转换成Linux LVM类型的格式,最后保存分区表,这个过程特别重要一个步骤都不能少,否则待儿LVM建立会失败,注意对第三张硬盘/dev/sdc,也是采取相同的操作步骤,所以这里不再重复描述。
第三步:现在来再次使用fdisk –l来查看当前系统硬盘和分区的态状、格式类类,发下图4所示,可看出两张新硬盘,每张硬盘各自被划分为仅一个分区,分区编号分别是sdb1和adc1,然后格式类型为LinuxLVM。这为最终实现LVM作好了准备。
第四步:现在正式来配置LVM,如下图5所示,首先建立一个由两个物理分区组成的物理卷,然后在物理卷上建立一个名为vdisk1的虚拟卷组,将这个虚拟卷组激活,最后在这个虚拟卷组上建立一个逻辑卷(相当于就是一个新的可用于增量扩容的分区)。
第五步:当完成逻辑卷的建立后,现在就需要使用mkfs指令使用ext3来格式化该逻辑卷,具体操作如下图6所示,为了保证能正常的使用新建的lvml逻辑卷,你还必须将这个逻辑卷如同常规的物理分区一样的执行挂载任务。否则不能正常使用该卷。
注意:不难发现,实施LVM的过程,也正如描述LVM工作意义图那样简单,值得注意的是:在成功创建了LVM的逻辑卷后,你也必须要对该卷执行格式化和文件挂载,你必须得把该逻辑卷看成是一个正常的物理卷使用,但是当扩容该卷时会发现它的优点,下面的步骤将证实它的优势!
第六步:如果后续要为逻辑卷扩容,直接增加逻辑卷的容量即可,并不需要新格式化卷,所以也不会造成现在逻辑卷上的文件丢失,现在可以来做一个测试,在您刚创建的逻辑卷上建立一个文件(lvmtesting),主要目标是观察扩容后是否需要对逻辑卷做重新的格式化,建立的文件是否会丢失,如下图7所示。
现在将这个vdisk1卷组中的lvml逻辑卷扩容1G,使其从原来的5G变成6G的容量,具体操作如下所示,Lvextend为扩容的指令,-L+1G指示在原有容量的容量上扩容1G,并使用/dev/vdisk1/lvml申明增容的逻辑卷。