Logical Volume Mamager在Linux中的应用

时间:2022-03-20 03:31:43

Logical Volume Mamager在Linux中的应用

【摘要】Logical Volume Manager(LVM) 原先运用于IBM AIX Unix系统,是一种分配硬盘空间到逻辑卷的方法,这种方式比传统分区分配容易做容量的调整,它让众多硬盘结合,彷融为一体,是一种可动态调整文件系统容量的机制。

【关键词】Logical Volume Mamager;LVM;Linux;逻辑卷管理

【中图分类号】G726.88 【文章标识码】A 【文章编号】1326-3587(2012)02-0003-02

从RedHat Linux 8.0开始便可以使用Logical Volume Mamager(LVM,逻辑卷管理)来做硬盘空间的分配。使用LVM,硬盘中的分区必须加入『Logical Volume Group 逻辑卷组(简称VG),这种分区在LVM中称为『Physical Volume 物理卷(简称 PV),大家可以把Logical Volume Group想成是一个大硬盘,然后再从其中划出一块空间『 Logical Volume 逻辑卷(简称LV)对应至系统的文件系统。

除了/boot分区,其余的文件系统都可在Volume Group这个虚拟的大硬盘中。/boot分区不可以在VG中,因为启动程序无法读取到它。假如想要将根目录/分区放在VG中,则必须另外建立一个/boot分区,使其不隶属于VG。VG可以分割为几个『Logical Volume逻辑卷,将会指定它们的挂载点,例如/home与/,以及文件系统类型,如ext3。当某个卷的容量使用完时,VG中的剩余空间可以动态的增加到此卷。

LVM是原先为IBM AIX所特有的硬盘管理机制,它最主要的目的是为了克服Unix系统划分给某个文件系统固定的空间后就无法再改变的情况。例如:大家可能当初在安装操作系统时,认为/home只要500MB就足够,后来因为使用者越来越多,原先划分的空间可能就不敷使用。传统的解决办法就是将原/home的资料备份出来,重新划分一块新的分区并格式化成新的文件系统,再将原有的资料还原回去。即使现有的硬盘还有剩余的空间,你也无法马上利用这些空间,还是得重新划分新的分区。但LVM利用物理硬盘和文件系统加一层逻辑的对应机制来达到动态调整文件系统的功能进而解决传统Unix所面临的问题。

在原先IBM AIX的红皮书中的定义中,VG是LVM机制最重要的东西,就是一堆PV的组合,一个VG可能包含一个PV或数个PV。换个角度来看,其实大家可以把VG想成原先Linux 中的一颗硬盘。而硬盘可以由一个或多个分区组成,在LVM中VG是由一个或多个PV组成。所以在Linux LVM机制中的PV其实是硬盘中的分区所转换变成的。LV是VG中的一块空间,就像原来Linux中的某个分区,如:/dev/hda#,是用来对应到(mount)系统中的某个目录 (mount-point)。

Physical Vloume(PV):在AIX原有的定义将物理硬盘称为PV,在Linux上大家可想成原先的一个分区就是一个 PV。

Volume Group(VG):就是一堆PV的组合,也就是说一个VG可能包含一个PV或多个PV。

Physical Extent(PE):当数个PV组合成一个VG时,LVM会在所有的PV做类似格式化的工作,将每个PV划分成一块一块的空间,这一块一块的空间就称为PE,通常是4MB。

Logical Vloume(LV):由一群LE组成,在LVM 的机制下一个文件系统(假设是/home filesytem)实际对应的不是hda#,而是一个LV。

Logical extent(LE):LV的组成单位,它的大小为PE的倍数,通常为1:1的关系。

有两种方式可以建立LVM的机制,一是由 Disk Druid(只有安装时才提供),二是利用 LVM指令来建立管理。下面为大家示范是利用Disk Druid来实作LVM,最后示范如何动态放大 /home档案系统。

测试环境:

操作系统:RedHat Enterprise Linux AS 3.0(也适用于RedHat 8.0、9.0、Fedora)

硬盘:10GB IDE硬盘

步骤:

1、/boot 256 MB 建立 Linux 启动分区。

/boot 分区不可以在VG中,因为启动程序无法读取到它,选用Disk Druid来分区(Disk Druid只有在安装时才可使用),并新增/boot分区。

2、然后划分出三个大小为3000MB的分区:hda2、hda3、hda4,文件系统类型为LVM,此步骤相当于建立三个Physical Vloume,最后这个硬盘还剩下988MB空间未用。

3、将这三个Physical Vloume(PV)组合成一个VG,将此VG命名为rootvg。大家可以把此时的rootvg想成是一个虚拟硬盘,地位就如同hda。

4、设置LVM,当你要建立一个文件系统时,必须先新增一个LV(很像以前的分区hda#)。新增LV时,LVM会从VG中找出未使用的空间组合成你所需要的大小,这些空间实际可能对应到任一个硬盘,但使用者不用去在意真正存放在那一个硬盘。也正因这种逻辑的方式,我们才可将文件系统的容量调整得更大,因为每个文件系统对应的已不是从前物理硬盘的分区(从第几个磁柱到第几个磁柱),而是LV。只要VG还有未用的空间,LVM就可将其对应到某个LV,所以LV的大小就可增加,借此达到文件系统容量可动态调整的功能。

指定:

rootlv =6000MB / 文件系统

homelv=500MB /home 文件系统

swaplv=500MB SWAP

5、安装完毕开机时大家会看到下列讯息,便代表 LVM 设定成功。

Scanning logical volumes

vgscan reading all physical

volumes (this may take a while…)

vgscan found inactive volume group “rootvg”

vgscan“/etc/lvmtab”and“/etc/lvmtab.d”successfully created

…………

Activating logical volumes

vgchangevolume group“rootvg”successfully actived

6、开机后利用df h检查硬盘、LVM、文件系统的状况。

7、利用lvscan检查原来 LV 分配情况。

8、动态将/home文件系统放大100MB #umount/home #e2fsadm L+100 /dev/rootvg/homelv

注:L+100 代表增加 100MB #mount /home

至此,我们已经可以利用LVM动态调整Linux系统中逻辑卷的容量,即便在以后的使用中,硬盘中存储的文件不断增加,我们也可以轻松应对。

上一篇:加达默尔论审美意识及其意义 下一篇:谈我国农业技术推广工作存在的现实问题与对策