一、LVM的基本概念
在对磁盘进行分区大小规划时,有时往往不能确定这个分区要使用的总空间大小,而用fdisk对磁盘分区后,每个分区的大小已经固定了,如果分区设置的过大,就白白浪费了磁盘空间,而分区设置的过小,就会导致空间不够用的情形,此时最常见的方法是重新划分磁盘分区,或者通过软连接的方式将此分区的目录链接到另一个分区,虽然能临时解决问题,但是给管理带来了麻烦.如何能解决这些问题呢,LVM是一个不错的方法.
LVM,是Logical Volume Manager的缩写,中文意思是逻辑卷管理,它是linux下对磁盘分区进行管理的一种机制,LVM是建立在磁盘分区和文件系统之间的一个逻辑层,管理员利用LVM可以在磁盘不用重新分区的情况下动态的调整分区的大小.如果系统新增了一块硬盘,通过LVM就可以将新增的硬盘空间直接扩展到原来的磁盘分区上.
二、 LVM的使用术语
通过LVM技术,屏蔽了磁盘分区的底层差异,在逻辑上给文件系统提供了一个卷的概念,然后在这些卷上建立相应的文件系统,在认识LVM之前,先熟悉下LVM中几个常用的术语,在LVM中主要涉及以下几个概念.
物理存储设备(physical media):指系统的存储设备文件,比如:/dev/sda、/dev/hdb等等.
物理卷(physical volume):简称PV,是指硬盘分区或者从逻辑上看起来和硬盘分区类似的设备(比如RAID设备).
卷组(Volume Group):简称VG,类似与非LVM系统中的物理硬盘,一个LVM卷组有一个或者多个物理卷组成.
逻辑卷(logical volume):简称LV,类似与非LVM系统上的硬盘分区,LV建立在VG上,可以在LV上创建文件系统.
PE(physical extent):PV中可以分配的最小存储单元称为PE,PE的大小是可指定的,默认为4M.
LE(logical extent):LV中可以分配的最小存储单元称为LE,在同一个卷组中,LE的大小和PE是一样的,且一一对应.
图1清楚的说明了LVM各个组成部分之间的对应关系:
图1 LVM磁盘组织结构图
在图1中:
有两块物理硬盘组成了LVM的底层结构,这两块硬盘的大小、型号可以不同.
PV可以看作是硬盘上的分区,因此,可以说物理硬盘A划分了两个分区,物理硬盘B划分了3个分区.
然后将前三个PV组成了一个卷组VG1,后两个PV组成了一个卷组VG2.
接着在卷组VG1上划分了两个逻辑卷LV1和LV2,在卷组VG2上划分了一个独立的逻辑卷LV3.
,在逻辑卷LV1、LV2和LV3上创建文件系统,分别用来挂载/usr、/home和/var分区.
三、 安装LVM工具
通过下面的命令确认LVM是否已经安装:
[root@localhost ~]# rpm -qa|grep lvm
lvm2-2.02.16-3.el5
system-config-lvm-1.0.22-1.0.el5
如果有类似上面的输出,就说明系统中已经安装了LVM,如果没有任何输出,则说明系统中还没有安装LVM,可以从系统安装光盘或者网络上找到对应的rpm包安装即可,安装方法这里不在讲述.
现在默认的linux发行版本内核一般都支持LVM,因此只要安装好LVM工具,即可使用LVM提供的强大功能.
四、 LVM的创建与管理
LVM的创建需要经过以下几个步骤:
1.创建物理分区
在使用LVM之前,需要划分磁盘分区,也就是用fdisk命令划分磁盘分区,划分的方法在上个章节已经介绍过,稍微不同的是,在创建分区的时候,需要指定分区类型为linux LVM,对应的ID为8e(其实LVM也能识别linux默认的分区类型83),
这里我们将所有分区类型都指定为8e,假定linux下新增了两块硬盘,分区后显示如下:
[root@localhost ~]# fdisk -l /dev/sdb /dev/sdc
Disk /dev/sdb: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/ |