天天看点

Linux LVM硬盘管理及LVM扩容

lvm磁盘管理

本文转自:http://www.cnblogs.com/gaojun/archive/2012/08/22/2650229.html

lvm是 logical volume manager(逻辑卷管理)的简写,它由heinz mauelshagen在linux 2.4内核上实现。lvm将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。

与传统的磁盘与分区相比,lvm为计算机提供了更高层次的磁盘存储。它使系统管理员可以更方便的为应用与用户分配存储空间。在lvm管理下的存储卷可以按需要随时改变大小与移除(可能需对文件系统工具进行升级)。lvm也允许按用户组对存储卷进行管理,允许管理员用更直观的名称(如"sales'、 'development')代替物理磁盘名(如'sda'、'sdb')来标识存储卷。

如图所示lvm模型:

Linux LVM硬盘管理及LVM扩容

由四个磁盘分区可以组成一个很大的空间,然后在这些空间上划分一些逻辑分区,当一个逻辑分区的空间不够用的时候,可以从剩余空间上划分一些空间给空间不够用的分区使用。

前面谈到,lvm是在磁盘分区和文件系统之间添加的一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,提供一个抽象的盘卷,在盘卷上建立文件系统。首先我们讨论以下几个lvm术语:

物理存储介质(the physical media):这里指系统的存储设备:硬盘,如:/dev/hda1、/dev/sda等等,是存储系统最低层的存储单元。

物理卷(physical volume):物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如raid),是lvm的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与lvm相关的管理参数。

卷组(volume group):lvm卷组类似于非lvm系统中的物理硬盘,其由物理卷组成。可以在卷组上创建一个或多个“lvm分区”(逻辑卷),lvm卷组由一个或多个物理卷组成。

逻辑卷(logical volume):lvm的逻辑卷类似于非lvm系统中的硬盘分区,在逻辑卷之上可以建立文件系统(比如/home或者/usr等)。

pe(physical extent):每一个物理卷被划分为称为pe(physical extents)的基本单元,具有唯一编号的pe是可以被lvm寻址的最小单元。pe的大小是可配置的,默认为4mb。

le(logical extent):逻辑卷也被划分为被称为le(logical extents) 的可被寻址的基本单位。在同一个卷组中,le的大小和pe是相同的,并且一一对应。

简单来说就是:

pv:是物理的磁盘分区

vg:lvm中的物理的磁盘分区,也就是pv,必须加入vg,可以将vg理解为一个仓库或者是几个大的硬盘。

lv:也就是从vg中划分的逻辑分区

如下图所示pv、vg、lv三者关系:

Linux LVM硬盘管理及LVM扩容

首先确定系统中是否安装了lvm工具:

    [root@www root]# rpm –qa|grep lvm

    lvm-1.0.3-4

如果命令结果输入类似于上例,那么说明系统已经安装了lvm管理工具;如果命令没有输出则说明没有安装lvm管理工具,则需要从网络下载或者从光盘装lvm rpm工具包。

要创建一个lvm系统,一般需要经过以下步骤:

1、 创建分区

使用分区工具(如:fdisk等)创建lvm分区,方法和创建其他一般分区的方式是一样的,区别仅仅是lvm的分区类型为8e。如下列图所示:

Linux LVM硬盘管理及LVM扩容

查看磁盘分区表

Linux LVM硬盘管理及LVM扩容

使用fdisk创建分区,根据设备文件的绝对路径(/dev/hda)进入分区管理

Linux LVM硬盘管理及LVM扩容
Linux LVM硬盘管理及LVM扩容

一定要指定分区的格式为8e,这是lvm的分区格式

Linux LVM硬盘管理及LVM扩容
Linux LVM硬盘管理及LVM扩容
Linux LVM硬盘管理及LVM扩容

创建完成vg之后,才能从vg中划分一个lv。

Linux LVM硬盘管理及LVM扩容

创建了一个名字为lvdata,容量大小是100m的分区,其中:-l:指定lv的大小 -n:指定lv的名。vo1group00:表示从这个vg中划分lv;

下一步需要对lv进行格式化(使用mksf进行格式化操作),然后lv才能存储资料

Linux LVM硬盘管理及LVM扩容

将格式化后的lv分区挂载到指定的目录下,就可以像普通目录一样存储数据了

Linux LVM硬盘管理及LVM扩容

挂载之后,可以看到此lv的容量。

如果要在系统启动的时候启动lv,最好是将lvdata写入fstable 文件中,如下所示:

Linux LVM硬盘管理及LVM扩容

使用vim编辑器,打开/etc/fstab,在最后一行添加如图中所示,其中/dev/volgroup00/lvdata指定需要挂载的分区lv,/root/test指定要挂载的目录(挂载点),ext3分区文件系统格式,其它使用默认即可

一、首先创建一块新的分区:

fdisk  /dev/hda

n

l        #选择逻辑分区,如果没有,则首先创建扩展分区,然后再添加逻辑分区(硬盘:最多四个分区p-p-p-p或p-p-p-e)

6        #分区号(从5开始),/dev/hda6

t      8e   #分区类型8e表示lvm分区

w        #写入分区表

partprobe   #重读分区表

mkfs.ext3

 /dev/hda6 #格式化

partx /dev/hda #查看当前硬盘的分区表及使用情况

二、创建pv,扩容vg,lv

pvcreate /dev/hda6

vgdisplay #查看当前已经存在的vg信息,以存在vg:volgroup00为例

vgextend volgroup00 /dev/hda6    #扩展volgroup00

lvdisplay   或者 pvscan #查看已经存在的lv信息,以存在lv:logvol01为例

lvextend –l 1g /dev/volgroup00/logvol01 #扩展lv

resize2fs /dev/volgroup00/logvol01 #执行该重设大小,对于当前正在使用的logvol01有效

df –h #查看挂载情况,已经扩容

email:[email protected]

继续阅读