您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > linux/Unix相关 > 如何在Linux下使用逻辑卷管理程序
如何在Linux下使用逻辑卷管理程序!对于Linux用户而言,在安装一台Linux机器的时候,遇到的问题之一就是给各分区估计和分派足够的硬盘空间。无论对一个正在为服务器寻找空间的系统管理员,还是一个磁盘即将用尽的普通用户来说,这都是一个非常常见的问题。解决的方法通常是使用符号链接,或者一些调整分区大小的工具(比如parted)。但是,这只是一个暂时性的解决办法,不久,我们又会面临同样的问题。如果你是一个站点的系统管理员,管理着数量众多的、连接在Internet之上的服务器,那么你每关机一分钟,都会给公司带来很大损失。此外,使用这种方法,在修改了分区表之后,每一次都得重新启动系统。LVM(逻辑卷管理程序)可以帮助我们解决这些问题。LVM简介LinuxLVM可以使管理工作更加轻松。相对于硬盘和分区,LVM是从更高的层次来看待存储空间的。在使用LVM之前,先来看一些将要使用到的相关概念。物理卷物理卷是指硬盘分区或者从逻辑上看起来和硬盘分区类似的设备(比如RAID设备)。逻辑卷一个或者多个物理卷组成一个逻辑卷。对于LVM而言,逻辑卷类似于非LVM系统中的硬盘分区。逻辑卷可以包含一个文件系统(比如/home或者/usr)。卷组一个或者多个逻辑卷组成一个卷组。对于LVM而言,卷组类似于非LVM系统中的物理硬盘。卷组把多个逻辑卷组合在一起,形成一个可管理的单元。LVM工作方式下面来看一看LVM到底是怎样工作的。每一个物理卷都被分成几个基本单元,即所谓的PE(PhysicalExtents)。PE的大小是可变的,但是必须和其所属卷组的物理卷相同。在每一个物理卷里,每一个PE都有一个惟一的编号。PE是一个物理存储里可以被LVM寻址的最小单元。每一个逻辑卷也被分成一些可被寻址的基本单位,即所谓的LE(LogicalExtents)。在同一个卷组中,LE的大小和PE是相同的,很显然,LE的大小对于一个卷组中的所有逻辑卷来说都是相同的。在一个物理卷中,每一个PE都有一个惟一的编号,但是对于逻辑卷这并不一定是必需的。这是因为当这些PEID号不能使用时,逻辑卷可以由一些物理卷组成。因此,LEID号是用于识别LE以及与之相关的特定PE的。正如前面所提到的,LE和PE之间是一一对应的。每一次存储区域被寻址访问或者LE的ID被使用,都会把数据写在物理存储设备之上。你可能会觉得奇怪,有关逻辑卷和逻辑卷组的所有元数据都存到哪儿去了。类似的在非LVM系统中,有关分区的数据是存储在分区表中,而分区表被存储在了每一个物理卷的起始位置。VGDA(卷组描述符区域)功能就好象是LVM的分区表,它存储在每一个物理卷的起始处。VGDA由以下信息组成:◆一个PV描述符◆一个VG描述符◆LV描述符◆一些PE描述符当系统启动LV时,VG被激活,并且VGDA被加载至内存。VGDA帮助识别LV的实际存储位置。当系统想要访问存储设备时,由VGDA建立起来的映射机制就用于访问实际的物理位置来执行I/O操作。开始工作下面具体看一看如何使用LVM。第一步:配置内核。在安装LVM之前,内核之中应该有LVM模块,可以使用以下的步骤来完成:#cd/usr/src/linux#makemenuconfig选择Multi-deviceSupport(RAIDandLVM)子菜单,选中以下两个选项:[*]Multipledevicesdriversupport(RAIDandLVM)*Logicalvolumemanager(LVM)Support.第二步:检查驱动器上空闲硬盘空间的总量。这可以通过以下命令来未完成:#df-hFilesystemSizeUsedAvailUse%Mountedon/dev/hda13.1G2.7G398M87%//dev/hda24.0G3.2G806M80%/home/dev/hda52.1G1.0G1.1G48%/var第三步:在硬盘上创建一个LVM分区。使用fdisk或者其它的分区工具来创建一个LVM分区。LinuxLVM的分区类型为8e。#fdisk/dev/hdapressp(toprintthepartitiontable)andn(tocreateanewpartition)第四步:创建一个物理卷。下述命令将在分区的起始处创建一个卷组描述符:#pvcreate/dev/hda6pvcreate---physicalvolume/dev/hda6successfullycreated#pvcreate/dev/hda7pvcreate---physicalvolume/dev/hda7successfullycreated第五步:创建一个卷组。通过下面的方法创建一个新的卷组,并且添加两个物理卷:#vgcreatetest_lvm/dev/hda6/dev/hda7vgcreate---INFO:usingdefaultphysicalextentsize4MBvgcreate---INFO:maximumlogicalvolumesizeis255.99Gigabytevgcreate---doingautomaticbackupofvolumegrouptest_lvmvgcreate---volumegrouptest_lvmsuccessfullycreatedandactivated上述命令将创建一个名为test_lvm,包含有/dev/hda6和/dev/hda7两个物理卷的卷组。使用下面命令来激活卷组:#vgchange-aytest_lvm使用“vgdisplay”命令来查看所建立卷组的细节信息。#vgdisplay---Volumegroup---VGNametest_lvmVGAccessread/writeVGStatusavailable/resizableVG#0MAXLV256CurLV1OpenLV0MAXLVSize255.99GBMaxPV256CurPV2ActPV2VGSize3.91GBPESize4MBTotalPE1000AllocPE/Size256/1GBFreePE/Size744/2.91GBVGUUIDT34zIt-HDPs-uo6r-cBDT-UjEq-EEPB-GF435E第六步:创建一个逻辑卷。使用lvcreate命令在卷组中创建一个逻辑卷:#lvcreate-L2G-nlogvol1test_lvm#mkreiserfs/dev/test_lvm/logvol1使用mount命令来加载新创建的文件系统。#mount-treiserfs/dev/test_lvm/logvol1/mnt/lv1第八步:在/etc/fstab和/etc/lilo.conf中添加一个入口。在/etc/fstab中加入以下入口,在启动时加载文件系统:/dev/test_lvm/logvol1/mnt/lv1reiserfsdefaults11如果没有覆盖原来的内核,那么拷贝一份重新编译后的内核,并且在启动时选择是否使用LVM。下面是LILO文件的内容:image=/boot/lvm_kernel_imagelabel=linux-lvmroot=/dev/hda1initrd=/boot/init_imageramdisk=8192添加以上内容后,使用以下命令重新加载LILO:#/sbin/lilo第九步:修改逻辑卷的大小。可以使用lvextend命令方便地修改逻辑卷的大小,增加逻辑卷大小的方法如下:#lvextend-L+1G/dev/test_lvm/logvol1lvextend--extendinglogicalvolume/dev/test_lvm/logvol1to3GBlvextend--doingautomaticbackupofvolumegrouptest_lvmlvextend--logicalvolume/dev/test_lvm/logvol1successfullyextended类似的,减小逻辑卷大小的方法如下:#lvreduce-L-1G/dev/test_lvm/lv1lvreduce---Warning:reducingactivelogicalvolumeto2GBlvreduce---Thismaydestroyyourdata(filesystemetc.)lvreduce---doyoureallywanttoreduce/dev/test_lvm/lv1?[y/n]:ylvreduce---doingautomaticbackupofvolumegrouptest_lvmlvreduce---logicalvolume/dev/test_lvm/lv1successfullyreduced总结从上面的讨论可以看到,LVM具有很好的可扩展性,并且使用起来很直观。一旦卷组建立起来以后,根据需求调整每一个逻辑卷的大小也非常容易。云ERP文章经过精心编写发布,转载请留名,谢谢!
本文标题:如何在Linux下使用逻辑卷管理程序
链接地址:https://www.777doc.com/doc-7027540 .html