Linux磁盘管理:LVM逻辑卷基本概念及LVM的工作原理_第1页
Linux磁盘管理:LVM逻辑卷基本概念及LVM的工作原理_第2页
Linux磁盘管理:LVM逻辑卷基本概念及LVM的工作原理_第3页
Linux磁盘管理:LVM逻辑卷基本概念及LVM的工作原理_第4页
Linux磁盘管理:LVM逻辑卷基本概念及LVM的工作原理_第5页
已阅读5页,还剩17页未读, 继续免费阅读

下载本文档

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

文档简介

Linux磁盘管理:LVM逻辑卷基本概念及LVM的工作原理这篇将详细讲解Linux磁盘管理机制中的LVM逻辑卷的基本概念以及LVM的工作原理!!!一、传统的磁盘管理其实在Linux操作系统中,我们的磁盘管理机制和windows上的差不多,绝大多数都是使用MBR(MasterBootRecorder)都是通过先对一个硬盘进行分区,然后再将该分区进行文件系统的格式化,在Linux系统中如果要使用该分区就将其挂载上去即可,windows的话其实底层也就是自动将所有的分区挂载好,然后我们就可以对该分区进行使用了。但是这种传统的磁盘管理经常会带来很多的问题,比如说当我们使用的一个分区,其空间大小已经不再够用了,这个时候我们没有办法通过拉伸分区来进行分区扩充,当然目前也有其他第三方的磁盘管理软件可以进行磁盘的分区空间划分,但是这样会给我们的文件系统造成很大的伤害,有时会导致文件系统崩溃等问题。对于传统的磁盘管理如果说我们碰到当分区大小不足的时候,我们只能通过增加新的硬盘,然后在新的硬盘上创建分区,对分区进行格式化以后,然后将之前分区的所有东西都拷贝到新的分区里面才行。但是新增加的硬盘是作为独立的文件系统存在的,原有的文件系统并没有得到任何的扩充,上层应用只能访问到一个文件系统。这样的方式对个人的电脑来说可能还能接受,但是如果对于生产环境下的服务器来说,这是不可接受的。因为如果要把一个分区的内容都拷贝到另一个分区上去,势必要首先卸载掉之前的那个分区,然后*对整个分区进行拷贝,如果服务器上运行着一个重要的服务,比如说WWW或者FTP,其要求是7*24小时运行正常的,那么卸载掉分区这是不可想象的,同时如果该分区保存的内容非常非常的多,那么在对分区进行转移时时间可能会耗费很久,所以,这个时候我们就会受到传统磁盘管理的限制,因为其不能够进行动态的磁盘管理。因此,为了解决这个问题,LVM技术就诞生了!!!二、LVM的磁盘管理正是因为传统的磁盘管理不能对我们的磁盘空间进行动态的管理,因此就诞生出了LVM这个技术,那么LVM到底是什么呢?它又是怎么对磁盘进行管理的呢?LVM(LogicalvolumeManager)是逻辑卷管理的简称。它是Linux环境下对磁盘分区进行管理的一种机制。现在不仅仅是Linux系统上可以使用LVM这种磁盘管理机制,对于其它的类UNIX操作系统,以及windows操作系统都有类似与LVM这种磁盘管理软件。LVM的工作原理其实很简单,它就是通过将底层的物理硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用。在传统的磁盘管理机制中,我们的上层应用是直接访问文件系统,从而对底层的物理硬盘进行读取,而在LVM中,其通过对底层的硬盘进行封装,当我们对底层的物理硬盘进行操作时,其不再是针对于分区进行操作,而是通过一个叫做逻辑卷的东西来对其进行底层的磁盘管理操作。比如说我增加一个物理硬盘,这个时候上层的服务是感觉不到的,因为呈现给上次服务的是以逻辑卷的方式。LVM最大的特点就是可以对磁盘进行动态管理。因为逻辑卷的大小是可以动态调整的,而且不会丢失现有的数据。我们如果新增加了硬盘,其也不会改变现有上层的逻辑卷。作为一个动态磁盘管理机制,逻辑卷技术大大提高了磁盘管理的灵活性!!!三、LVM的原理要想理解好LVM的原理,我们必须首先要掌握4个基本的逻辑卷概念。①PE(PhysicalExtend)物理拓展②PV(PhysicalVolume)物理卷③VG(VolumeGroup)卷组④LV(LogicalVolume)逻辑卷我们知道在使用LVM对磁盘进行动态管理以后,我们是以逻辑卷的方式呈现给上层的服务的。所以我们所有的操作目的,其实就是去创建一个LV(LogicalVolume),逻辑卷就是用来取代我们之前的分区,我们通过对逻辑卷进行格式化,然后进行挂载操作就可以使用了。那么LVM的工作原理是什么呢?所谓无图无真相,咱们下面通过图来对逻辑卷的原理进行解释!!1.将我们的物理硬盘格式化成PV(PhysicalVolume)我们看到,这里有两块硬盘,一块是sda,另一块是sdb,在LVM磁盘管理里,我首先要将这两块硬盘格式化为我们的PV(PhysicalVolume),也就是我们的物理卷,其实格式化物理卷的过程中LVM是将底层的硬盘划分为了一个一个的PE(PhysicalExtend),我们的LVM磁盘管理中PE的默认大小是4M大小,其实PE就是我们逻辑卷管理的最基本单位。比如说我有一个400M的硬盘,那么在将其格式化成PV的时候,其实际就是将这块物理硬盘划分成了100个的PE,因为PE默认的大小就是4M。这个就是我们的第一步操作。2.创建一个VG(VolumeGroup)在将硬盘格式化成PV以后,我们第二步操作就是创建一个卷组,也就是VG(VolumeGroup),卷组在这里我们可以将其抽象化成一个空间池,VG的作用就是用来装PE的,我们可以把一个或者多个PV加到VG当中,因为在第一步操作时就已经将该硬盘划分成了多个PE,所以将多个PV加到VG里面后,VG里面就存放了许许多多来自不同PV中的PE,我们通过上面的图片就可以看到,我们格式化了两块硬盘,每个硬盘分别格式化成了3个PE,然后将两块硬盘的PE都加到了我们的VG当中,那么我们的VG当中就包含了6个PE,这6个PE就是两个硬盘的PE之和。通常创建一个卷组的时候我们会为其取一个名字,也就是该VG的名字。3.基于VG创建我们最后要使用的LV(LogicalVolume)【注意】PV以及VG创建好以后我们是不能够直接使用的,因为PV、VG是我们逻辑卷底层的东西,我们其实最后使用的是在VG基础上创建的LV(LogicalVolume),所以第三步操作就是基于VG来创建我们最终要使用的LV。当我们创建好我们的VG以后,这个时候我们创建LV其实就是从VG中拿出我们指定数量的PE,还是拿上图来说,我们看到我们此时的VG里面已经拥有了6个PE,这时候我们创建了我们的第一个逻辑卷,它的大小是4个PE的大小,也就是16M(因为一个PE的默认大小是4M),而这4个PE有三个是来自于第一块硬盘,而另外一个PE则是来自第二块硬盘。当我们创建第二个逻辑卷时,它的大小就最多只有两个PE的大小了,因为其中的4个PE已经分配给了我们的第一个逻辑卷。所以创建逻辑卷其实就是我们从VG中拿出我们指定数量的PE,VG中的PE可以来自不同的PV,我们可以创建的逻辑卷的大小取决于VG当中PE存在的数量,并且我们创建的逻辑卷其大小一定是PE的整数倍(即逻辑卷的大小一定要是4M的整数倍)。4.将我们创建好的LV进行文件系统的格式化,然后挂载使用在创建好LV以后,这个时候我们就能够对其进行文件系统的格式化了,我们最终使用的就是我们刚创建好的LV,其就相当于传统的文件管理的分区,我们首先要对其进行文件系统的格式化操作,然后通过mount命令对其进行挂载,这个时候我们就能够像使用平常的分区一样来使用我们的逻辑卷了。我们在创建好LV以后,我们会在/dev目录下看到我们的LV信息,例如/dev/vgname/lvname,我们每创建一个VG,其会在/dev目录下创建一个以该VG名字命名的文件夹,在该VG的基础上创建好LV以后,我们会在这个VG目录下多出一个以LV名字命名的逻辑卷。下面我们来对整个LVM的工作原理进行一个总结:(1)物理磁盘被格式化为PV,空间被划分为一个个的PE(2)不同的PV加入到同一个VG中,不同PV的PE全部进入到了VG的PE池内(3)LV基于PE创建,大小为PE的整数倍,组成LV的PE可能来自不同的物理磁盘(4)LV现在就直接可以格式化后挂载使用了(5)LV的扩充缩减实际上就是增加或减少组成该LV的PE数量,其过程不会丢失原始数据

我们看到,我们这里如果要对LV进行扩充,直接加进来一块sdc硬盘,然后将其格式化成PE,然后将该PV加入到了VG当中,这个时候我们就可以通过增加LV中PE的数量来动态的对LV进行扩充了,只要我们的LV的大小不要超过我们VG空余空间的大小就行了!!本篇主要讲解了传统磁盘管理与LVM动态管理磁盘机制的不同,并详细讲解了LVM的工作原理,在下一篇随笔当中,将会详细的讲解LVM的基本配置,包括创建PV、VG以及VG,并动态的对我们的LV进行扩充、减少操作!!!Linux磁盘管理:LVM逻辑卷的创建及使用在前面Linux磁盘管理:LVM逻辑卷基本概念及LVM的工作原理,详细的讲解了Linux的动态磁盘管理LVM逻辑卷的基本概念以及LVM的工作原理,包括LVM中最重要的四个基本点(PE、PV、VG以及LV),这篇随笔将会详细的讲解LVM逻辑卷的创建、使用以及删除.一、创建LVM逻辑卷

我们通过图文并茂的方式来看看如何创建我们的LVM,在上一篇随笔中,我们已经熟悉了LVM的工作原理,首先是要将我们的物理硬盘格式化成PV,然后将多个PV加入到创建好的VG中,最后通过VG创建我们的LV。所以我们第一步就是将我们的物理硬盘格式化成PV(物理卷)①将物理硬盘格式化成PV(物理卷)使用的是pvcreate命令这里我已经事先虚拟化了3快物理硬盘,每块硬盘的大小为8G,通过fdisk-l命令可以查看[root@xiaoluo~]#fdisk-lDisk/dev/sda:21.5GB,21474836480bytes255heads,63sectors/track,2610cylindersUnits=cylindersof16065*512=8225280bytesSectorsize(logical/physical):512bytes/512bytesI/Osize(minimum/optimal):512bytes/512bytesDiskidentifier:0x00093d90DeviceBootStartEndBlocksIdSystem/dev/sda11523419430482Linuxswap/SolarisPartition1doesnotendoncylinderboundary./dev/sda2*52326111677619283LinuxDisk/dev/sdb:8589MB,8589934592bytes255heads,63sectors/track,1044cylindersUnits=cylindersof16065*512=8225280bytesSectorsize(logical/physical):512bytes/512bytesI/Osize(minimum/optimal):512bytes/512bytesDiskidentifier:0x00000000Disk/dev/sdc:8589MB,8589934592bytes255heads,63sectors/track,1044cylindersUnits=cylindersof16065*512=8225280bytesSectorsize(logical/physical):512bytes/512bytesI/Osize(minimum/optimal):512bytes/512bytesDiskidentifier:0x00000000Disk/dev/sdd:8589MB,8589934592bytes255heads,63sectors/track,1044cylindersUnits=cylindersof16065*512=8225280bytesSectorsize(logical/physical):512bytes/512bytesI/Osize(minimum/optimal):512bytes/512bytesDiskidentifier:0x00000000这里我们根据上面图所示,我们先将/dev/sdb、/dev/sdc两块硬盘格式化成PV[root@xiaoluo~]#pvcreate/dev/sdb/dev/sdc

Physicalvolume"/dev/sdb"successfullycreatedPhysicalvolume"/dev/sdc"successfullycreated创建完PV以后,我们可以使用pvdisplay(显示详细信息)、pvs命令来查看当前pv的信息[root@xiaoluo~]#pvdisplay"/dev/sdb"isanewphysicalvolumeof"8.00GiB"---NEWPhysicalvolume---PVName/dev/sdbVGNamePVSize8.00GiBAllocatableNOPESize0TotalPE0FreePE0AllocatedPE0PVUUID93UEEl-cxBU-A4HC-LNSh-jp9G-uU5Q-EG8LM9"/dev/sdc"isanewphysicalvolumeof"8.00GiB"---NEWPhysicalvolume---PVName/dev/sdcVGNamePVSize8.00GiBAllocatableNOPESize0TotalPE0FreePE0AllocatedPE0PVUUIDlH1vul-KBHx-H2C6-wbt1-8AdK-yHpr-bBIul5[root@xiaoluo~]#pvsPVVGFmtAttrPSizePFree/dev/sdblvm2a--8.00g8.00g/dev/sdclvm2a--8.00g8.00g通过这两个命令我们可以看到我们已经创建好的PV的信息,两个PV都是8G,目前还没有使用,PFree都是8G.②创建卷组(VG),并将PV加入到卷组中通过vgcreate命令在创建完PV以后,这时候我们需要创建一个VG,然后将我们的PV都加入到这个卷组当中,在创建卷组时要给该卷组起一个名字[root@xiaoluo~]#vgcreatexiaoluo/dev/sdb/dev/sdc

Volumegroup"xiaoluo"successfullycreated同样,在创建好VG以后,我们也可以使用vgdisplay或者vgs命来来查看VG的信息。[root@xiaoluo~]#vgdisplay---Volumegroup---VGNamexiaoluoSystemIDFormatlvm2MetadataAreas2MetadataSequenceNo1VGAccessread/writeVGStatusresizableMAXLV0CurLV0OpenLV0MaxPV0CurPV2//当前这里有两个PV,分别是我们的/dev/sdb和/dev/sdcActPV2VGSize15.99GiB//当前VG的大小PESize4.00MiB//通过这个我们也可以看到我们LVM默认的PE大小就是4MTotalPE4094//因为VG里面存放的就是各个PV中的PE,所以PE的数量就是VG大小除以默认PE的大小AllocPE/Size0/0FreePE/Size4094/15.99GiBVGUUIDB8eavI-21kD-Phnm-F1t1-eo4K-wgvg-T5qUbt[root@xiaoluo~]#vgsVG#PV#LV#SNAttrVSizeVFreexiaoluo200wz--n-15.99g15.99g③基于卷组(VG)创建逻辑卷(LV)通过lvcreate命令因为创建好的PV、VG都是底层的东西,我们上层使用的是逻辑卷,所以我们要基于VG创建我们的逻辑卷才行[root@xiaoluo~]#lvcreate-nmylv-L2Gxiaoluo

Logicalvolume"mylv"created通过lvcreate命令基于VG创建好我们的逻辑卷,名字为mylv,大小为2G,同样我们可以使用lvdisplay或者lvs命令来查看创建好的逻辑卷的信息[root@xiaoluo~]#lvdisplay---Logicalvolume---LVPath/dev/xiaoluo/mylv//逻辑卷的路径LVNamemylv//逻辑卷的名字VGNamexiaoluo//逻辑卷所属卷组的名字LVUUIDPYuiYy-WpI6-XZB8-IhnQ-ANjM-lcz0-dlk4LRLVWriteAccessread/writeLVCreationhost,timexiaoluo,2013-05-2323:45:08+0800LVStatusavailable#open0LVSize2.00GiB//逻辑卷的大小CurrentLE512Segments1AllocationinheritReadaheadsectorsauto-currentlysetto256Blockdevice253:0[root@xiaoluo~]#lvsLVVGAttrLSizePoolOriginData%MoveLogCpy%SyncConvertmylvxiaoluo-wi-a----2.00g这样子我们的逻辑卷也就已经创建好了,我们这个时候再通过vgs还有pvs命令查看一下我们的PV与VG的信息[root@xiaoluomnt]#vgsVG#PV#LV#SNAttrVSizeVFreexiaoluo210wz--n-15.99g13.99g//我们看到LV的数量此时变成了1,因为我们刚创建好了一个LV,LVFree还有14G

[root@xiaoluomnt]#pvsPVVGFmtAttrPSizePFree/dev/sdbxiaoluolvm2a--8.00g6.00g//刚创建好的LV用的是/dev/sdb这块硬盘的,所以这块硬盘的PFree还剩下6G/dev/sdcxiaoluolvm2a--8.00g8.00g我们发现,当我们每创建完一个LV时,VG与PV的信息都是时时在变化的,并且我们创建LV的大小是根据当前VG的大小来决定的,不能超过当前VG的剩余大小!我们在上一篇随笔里面有讲过,每创建好一个逻辑卷,都会在/dev目录下出现一个以该卷组命名的文件夹,基于该卷组创建的所有的逻辑卷都是存放在这个文件夹下面,我们可以查看一下[root@xiaoluo~]#ls/dev/xiaoluo/mylv

/dev/xiaoluo/mylv我们每创建一个新的逻辑卷,该VG目录下都会多出这么一个设备。二、格式化并使用我们的逻辑卷我们已经创建好了我们的PV、VG以及LV,这时候我们如果要使用逻辑卷,就必须将其格式化成我们需要用的文件系统,并将其挂载起来,然后就可以像使用分区一样去使用逻辑卷了

[root@xiaoluo~]#mkfs.ext4/dev/xiaoluo/mylv

mke2fs1.41.12(17-May-2010)Filesystemlabel=OStype:LinuxBlocksize=4096(log=2)Fragmentsize=4096(log=2)Stride=0blocks,Stripewidth=0blocks131072inodes,524288blocks26214blocks(5.00%)reservedforthesuperuserFirstdatablock=0Maximumfilesystemblocks=53687091216blockgroups32768blockspergroup,32768fragmentspergroup8192inodespergroupSuperblockbackupsstoredonblocks:32768,98304,163840,229376,294912Writinginodetables:doneCreatingjournal(16384blocks):doneWritingsuperblocksandfilesystemaccountinginformation:doneThisfilesystemwillbeautomaticallycheckedevery31mountsor180days,whichevercomesfirst.Usetune2fs-cor-itooverride.

格式化我们的逻辑卷以后,就可以使用mount命令将其进行挂载,我们将其挂载到/mnt目录下[root@xiaoluo~]#mount/dev/xiaoluo/mylv/mnt

[root@xiaoluo~]#mount/dev/sda2on/typeext4(rw)procon/proctypeproc(rw)sysfson/systypesysfs(rw)devptson/dev/ptstypedevpts(rw,gid=5,mode=620)tmpfson/dev/shmtypetmpfs(rw,rootcontext="system_u:object_r:tmpfs_t:s0")noneon/proc/sys/fs/binfmt_misctypebinfmt_misc(rw)sunrpcon/var/lib/nfs/rpc_pipefstyperpc_pipefs(rw)/dev/mapper/xiaoluo-mylvon/mnttypeext4(rw)

[root@xiaoluo~]#cd/mnt/[root@xiaoluomnt]#lslost+found[root@xiaoluomnt]#touchxiaoluo.txt[root@xiaoluomnt]#lslost+foundxiaoluo.txt我们看到,我们的卷组已经挂载好了,并且可以像使用分区一样来对其进行文件操作了。三、删除逻辑卷我们在创建好逻辑卷后可以通过创建文件系统,挂载逻辑卷来使用它,如果说我们不想用了也可以将其删除掉。【注意:】对于创建物理卷、创建卷组以及创建逻辑卷我们是有严格顺序的,同样,对于删除逻辑卷、删除卷组以及删除物理卷也是有严格顺序要求的①首先将正在使用的逻辑卷卸载掉通过umount命令②将逻辑卷先删除通过lvremove命令③删除卷组通过vgremove命令④最后再来删除我们的物理卷通过pvremove命令[root@xiaoluo/]#mount/dev/xiaoluo/mylv/mnt/

[root@xiaoluo/]#umount/mnt/[root@xiaoluo/]#lvremove/dev/xiaoluo/mylvDoyoureallywanttoremoveactivelogicalvolumemylv?[y/n]:yLogicalvolume"mylv"successfullyremoved[root@xiaoluo/]#vgremovexiaoluoVolumegroup"xiaoluo"successfullyremoved[root@xiaoluo/]#pvremove/dev/sdbLabelsonphysicalvolume"/dev/sdb"successfullywiped此时我们的刚创建的逻辑卷mylv,卷组xiaoluo以及物理卷/dev/sdb已经从我们当前操作系统上删除掉了,通过lvs、vgs、pvs命令可以查看一下[root@xiaoluo/]#lvsNovolumegroupsfound//逻辑卷已经没有了

[root@xiaoluo/]#vgsNovolumegroupsfound//卷组也没有了

[root@xiaoluo/]#pvsPVVGFmtAttrPSizePFree/dev/sdclvm2a--8.00g8.00g//sdb物理卷已经没有了,只剩下sdc物理卷了本篇详细讲解了LVM逻辑卷的创建、使用及删除,在下一篇随笔里我们将继续讲解LVM逻辑卷的知识,包括如何对逻辑卷进行动态的拉伸以及对其进行压缩!!!Linux磁盘管理:LVM逻辑卷的拉伸及缩减在前面详细讲解了LVM逻辑卷的创建及使用,我们知道创建逻辑卷的步骤是先格式化物理硬盘位PV,然后创建一个VG,再将多个PV加入到VG中,最后基于VG创建我们的LV。在这篇随笔里,我们将继续学习LVM逻辑卷的知识,包括逻辑卷的拉伸及缩减...一、拉伸一个逻辑卷我们知道相比于传统磁盘管理方式的各种问题,使用LVM逻辑卷来管理我们的磁盘,我们可以对其进行动态的管理。在传统的磁盘管理方式中,我们如果出现分区大小不足的情况下,我们此时只能通过加入一块物理硬盘,然后对其进行分区,因为加入的硬盘作为独立的文件系统存在,所以对原有分区并没有影响,如果此时我们需要扩大分区,就只能先将之前的分区先卸载掉,然后将所有的信息转移到新的分区下,最后再将新的分区挂载上去,如果是在生产环境下,这样是不可想象的,正因为如此,我们才出现了LVM的磁盘管理方式,可以动态的对我们的磁盘进行管理。我们首先来看下动态拉伸一个逻辑卷的示意图:

我们从上图可以看到,我们在对逻辑卷进行拉伸时,其实际就是向逻辑卷中增加PE的数量,而PE的数量是由VG中剩余PE的数量所决定的。【注意:】逻辑卷的拉伸操作可以在线进行,不需要卸载掉我们的逻辑卷这样的好处就是当我们的逻辑卷的大小不够用时,我们不需要对其进行卸载,就可以动态的增加我们的逻辑卷的大小,并不会对我们的系统产生任何影响。例如如果我们的服务器上运行着一个重要的服务或者数据库,并要求我们7*24小时不间断保持在线,那么这样的动态增加逻辑卷的大小就非常的有必要了。接下来我们来看看拉伸逻辑卷的步骤:因为我们的逻辑卷的拉伸操作是可以在线进行的,所以这里我们先将逻辑卷挂载上,并在使用情况下动态的拉伸我们的逻辑卷。[root@xiaoluo~]#mount/dev/xiaoluo/mylv/mnt[root@xiaoluo~]#cd/mnt[root@xiaoluomnt]#vixiaoluo.txt[root@xiaoluomnt]#catxiaoluo.txtIamxiaoluo[root@xiaoluomnt]#lslost+foundxiaoluo.txt

①查看当前VG的信息,保证VG中有足够的空闲空间通过vgdisplay或者vgs命令[root@xiaoluomnt]#vgdisplay

---Volumegroup---VGNamexiaoluoSystemIDFormatlvm2MetadataAreas2MetadataSequenceNo2VGAccessread/writeVGStatusresizableMAXLV0CurLV1OpenLV0MaxPV0CurPV2ActPV2VGSize15.99GiBPESize4.00MiBTotalPE4094AllocPE/Size512/2.00GiBFreePE/Size3582/13.99GiB//我们的VG当前还有14G,还有足够的空闲空间VGUUIDCn2iaV-gkf0-pg3M-5ZpY-Wqx9-C3r2-vmtnpM

在我们的VG中还有足够的空闲空间时,我们就可以动态的对逻辑卷进行拉伸操作了②扩充逻辑卷通过lvextend命令

比如我这里要对mylv逻辑卷扩充1G的大小,此时我们就可以使用lvextend-L+1G/dev/xiaoluo/mylv命令来执行操作[root@xiaoluomnt]#lvsLVVGAttrLSizePoolOriginData%MoveLogCpy%SyncConvertmylvxiaoluo-wi-a----2.00g//我们之前创建的mylv逻辑卷的大小为2G[root@xiaoluomnt]#lvextend-L+1G/dev/xiaoluo/mylvExtendinglogicalvolumemylvto3.00GiBLogicalvolumemylvsuccessfullyresized

③查看完扩充后LV大小扩充完后我们可以使用lvdisplay或者lvs命令来查看一下当前lv的信息[root@xiaoluomnt]#lvdisplay---Logicalvolume---LVPath/dev/xiaoluo/mylvLVNamemylvVGNamexiaoluoLVUUIDV8j32N-dTes-vADG-47gj-vSSk-LwdX-k3FPddLVWriteAccessread/writeLVCreationhost,timexiaoluo,2013-05-2420:42:46+0800LVStatusavailable#open0LVSize3.00GiB//扩充以后我们的mylv逻辑卷大小变成了3G了CurrentLE768Segments1AllocationinheritReadaheadsectorsauto-currentlysetto256Blockdevice253:0这个时候我们发现拉伸以后我们的逻辑卷大小变成了3G了,此时我们正在使用我的逻辑卷,并没有卸载掉该逻辑卷,同时我们查看逻辑卷里面的内容,发现其里面的文件还在,并且没有受到一点损害[root@xiaoluomnt]#lslost+foundxiaoluo.txt[root@xiaoluomnt]#catxiaoluo.txtIamxiaoluo④更新文件系统通过resize2fs命令我们在对逻辑卷进行拉伸以后,我们通过df-h命令可以查看一下当前的文件系统信息[root@xiaoluomnt]#df-hFilesystemSizeUsedAvailUse%Mountedon/dev/sda216G3.8G12G25%/tmpfs249M560K248M1%/dev/shm/dev/mapper/xiaoluo-mylv2.0G68M1.9G4%/mnt我们发现我们当前的挂载的逻辑卷的文件系统大小还是2G,并没有变成3G,其原因就是我们的文件系统是在创建完LV以后就马上格式化的,此后我们对逻辑卷进行拉伸以后,其并不会改变当前的文件系统,所以我们这个时候必须更新我们的文件系统,通过使用resize2fs命令[root@xiaoluomnt]#resize2fs/dev/xiaoluo/mylvresize2fs1.41.12(17-May-2010)Filesystemat/dev/xiaoluo/mylvismountedon/mnt;on-lineresizingrequiredolddesc_blocks=1,new_desc_blocks=1Performinganon-lineresizeof/dev/xiaoluo/mylvto786432(4k)blocks.Thefilesystemon/dev/xiaoluo/mylvisnow786432blockslong.[root@xiaoluomnt]#df-hFilesystemSizeUsedAvailUse%Mountedon/dev/sda216G3.8G12G25%/tmpfs249M560K248M1%/dev/shm/dev/mapper/xiaoluo-mylv3.0G68M2.8G3%/mnt//这个时候我们的文件系统已经更新了,大小也变成了3G此时我们发现,我们这时的文件系统也已经更新了,大小变成了3G.我们通过上面的步骤可以发现,拉伸一个逻辑卷的其实是非常简单的,首先就是保持VG中有足够的空闲空间,其次就是对我们的逻辑卷进行动态的拉伸,最后在拉伸完逻辑卷以后我们还必须要更新我们的文件系统。同时我们可以发现,在对逻辑卷进行拉伸时我们并不需要先卸载掉逻辑卷,可以在线进行,并且逻辑卷里面的文件内容都不会发生变化。二、拉伸一个卷组上面介绍了如何拉伸一个逻辑卷,如果说此时我们的VG中PE的数量已经不足了,此时我们如果需要拉伸我们的逻辑卷,发现卷组中的空间已经不够用了,这个时候我们就必须对我们的卷组进行拉伸,使得卷组中有足够的空闲空间,最后再来拉伸我们的逻辑卷。我们知道卷组其实就是将多块PV加入到VG当中,所以卷组的拉伸也非常的简单,我们只需要增加一块物理硬盘,将其格式化成PV,然后再将这个PV加入到该卷组中即可。这里我们首先模拟一下将VG中的剩余空间全部拉伸到我们的逻辑卷当中,然后我们通过增加一块物理硬盘,来对我们的卷组进行拉伸操作[root@xiaoluomnt]#vgs//查看当前vg的空闲空间大小VG#PV#LV#SNAttrVSizeVFreexiaoluo210wz--n-15.99g12.99g

[root@xiaoluomnt]#lvextend-L+11G/dev/xiaoluo/mylv//我们将11G的空间拉伸给当前的逻辑卷Extendinglogicalvolumemylvto14.00GiBLogicalvolumemylvsuccessfullyresized

[root@xiaoluomnt]#resize2fs/dev/xiaoluo/mylv//更新文件系统resize2fs1.41.12(17-May-2010)Filesystemat/dev/xiaoluo/mylvismountedon/mnt;on-lineresizingrequiredolddesc_blocks=1,new_desc_blocks=1Performinganon-lineresizeof/dev/xiaoluo/mylvto3670016(4k)blocks.Thefilesystemon/dev/xiaoluo/mylvisnow3670016blockslong.[root@xiaoluomnt]#df-h//查看当前文件系统信息FilesystemSizeUsedAvailUse%Mountedon/dev/sda216G3.8G12G25%/tmpfs249M560K248M1%/dev/shm/dev/mapper/xiaoluo-mylv14G69M14G1%/mnt这个时候我们如果还要对逻辑卷进行扩充,但是此时我们的VG中空闲空间的大小已经不太够用了,我们这个时候就需要对我们的卷组进行动态的拉伸了①将要添加到VG的硬盘格式化成PV通过pvcreate命令

[root@xiaoluomnt]#pvcreate/dev/sddPhysicalvolume"/dev/sdd"successfullycreated[root@xiaoluomnt]#pvsPVVGFmtAttrPSizePFree/dev/sdbxiaoluolvm2a--8.00g0/dev/sdcxiaoluolvm2a--8.00g1.99g/dev/sddlvm2a--8.00g8.00g//此时我们新加入的一块硬盘还没有添加到VG当中

②将新的PV添加到指定的VG当中通过vgextend命令[root@xiaoluomnt]#vgextendxiaoluo/dev/sddVolumegroup"xiaoluo"successfullyextended[root@xiaoluomnt]#pvsPVVGFmtAttrPSizePFree/dev/sdbxiaoluolvm2a--8.00g0/dev/sdcxiaoluolvm2a--8.00g1.99g/dev/sddxiaoluolvm2a--8.00g8.00g③查看当前VG的信息通过vgdisplay或者vgs命令[root@xiaoluomnt]#vgdisplay---Volumegroup---VGNamexiaoluoSystemIDFormatlvm2MetadataAreas3MetadataSequenceNo5VGAccessread/writeVGStatusresizableMAXLV0CurLV1OpenLV1MaxPV0CurPV3ActPV3VGSize23.99GiBPESize4.00MiBTotalPE6141AllocPE/Size3584/14.00GiBFreePE/Size2557/9.99GiB//此时我们发现我们VG的大小以及得到拉伸了VGUUIDh5oPBH-24zo-hn4N-zevL-MQVw-4EiX-x9QAyb三、缩小一个逻辑卷上面讲的都是如何对逻辑卷进行拉伸以及对卷组进行拉伸,其实逻辑卷还可以动态的对其进行缩小,虽然在实际情况中,我们几乎不会遇到缩小一个逻辑卷的这种情况,不过还是有必要学习一下如何缩小一个逻辑卷,首先我们也是先来看看缩小逻辑卷的一个示意图我们看到缩小逻辑卷其实就是从当前的LV中拿出指定的PE数量放回到VG当中。【注意:】逻辑卷的缩小操作必须离线执行,要先卸载掉逻辑卷才可以上面在讲的逻辑卷的拉伸操作时我们可以在线执行,不需要卸载掉逻辑卷,但是在进行逻辑卷的缩小操作时,我们必须要先卸载掉逻辑卷才行,否则就可能造成逻辑卷里的文件发生损害。接下来我们来看一下对逻辑卷进行缩小操作的步骤①卸载已经挂载的逻辑卷通过umount命令[root@xiaoluomnt]#cd[root@xiaoluo~]#umount/mnt//先将我们的逻辑卷卸载掉②缩小文件系统(会提示需要运行fsck来检查文件系统)通过resize2fs命令我们在讲到对逻辑卷进行拉伸的时候,其顺序是先对逻辑卷进行拉伸操作,然后再更新我们的文件系统,但是在对逻辑卷进行缩小操作时,我们必须先执行缩小文件系统这个操作!!!这个顺序必须要记清楚!!![root@xiaoluo~]#lvs//首先我们看下我们当前的逻辑卷大小,此时为14G,我们这里假设要将其缩减为10G的大小LVVGAttrLSizePoolOriginData%MoveLogCpy%SyncConvertmylvxiaoluo-wi-a----14.00g

[root@xiaoluo~]#resize2fs/dev/xiaoluo/mylv10G//这条命令的作用就是缩小我们的文件系统,将我们的文件系统缩小到10Gresize2fs1.41.12(17-May-2010)Pleaserun'e2fsck-f/dev/xiaoluo/mylv'first.//提示我们首先需要运行e2fsck命令来对我们的文件系统进行检查[root@xiaoluo~]#e2fsck-f/dev/xiaoluo/mylv//使用e2fsck命令来检查我们的文件系统e2fsck1.41.12(17-May-2010)Pass1:Checkinginodes,blocks,andsizesPass2:CheckingdirectorystructurePass3:CheckingdirectoryconnectivityPass4:CheckingreferencecountsPass5:Checkinggroupsummaryinformation/dev/xiaoluo/mylv:12/917504files(0.0%non-contiguous),75249/3670016blocks

[root@xiaoluo~]#resize2fs/dev/xiaoluo/mylv10G//此时再使用resize2fs命令来缩小我们的文件系统,缩小为10Gresize2fs1.41.12(17-May-2010)Resizingthefilesystemon/dev/xiaoluo/mylvto2621440(4k)blocks.Thefilesystemon/dev/xiaoluo/mylvisnow2621440blockslong.这个时候我们的逻辑卷的文件系统已经被缩小为10G了,接下来我们就可以缩小我们的逻辑卷的大小了③缩小LV通过lvreduce命令因为我们之前的LV大小为14G,我们通过缩小文件系统将其缩减为10G,所以此时我们需要缩小4G大小的逻辑卷[root@xiaoluo~]#lvreduce-L-4G/dev/xiaoluo/mylv//缩小4G大小的逻辑卷WARNING:Reducingactivelogicalvolumeto10.00GiBTHISMAYDESTROYYOURDATA(filesystemetc.)//这里会提示一个警告可能会损坏我们的文件,这种情况会出现在当我们需要缩小的文件大小与实际操作时缩小的文件大小不一致时,比如这里我如果多缩小了1个G大小的逻辑卷,这个时候就会出现文件损坏的情况Doyoureallywanttoreducemylv?[y/n]:yReducinglogicalvolumemylvto10.00GiBLogicalvolumemylvsuccessfullyresized

[root@xiaoluo~]#lvs//此时我们的逻辑卷已经被缩小为10G了LVVGAttrLSizePoolOriginData%MoveLogCpy%SyncC

温馨提示

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

评论

0/150

提交评论