LVM是Linux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上、文件系统之下的一个逻辑层,可提高磁盘分区管理的灵活性。RHEL5默认安装的分区格式就是LVM逻辑卷的格式,需要注意的是/boot分区不能基于LVM创建,必须独立出来。
LVM是logical volume manager的缩写,意思是逻辑卷管理;作用是动态调整磁盘容量,提高磁盘管理的灵活性,强调/boot分区不能基于LVM创建;
LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性
lvm机制的相关概念
pv:physical volume 就是物理卷----硬盘,或使用fdisk工具建立的普通分区(未进行格式化mkfs),是由默认4MB大小的PE基本单元组成的
vg:volume group 就是卷组,有多个物理卷组成,可以在卷组上创建一个或多个“LVM分区”(逻辑卷)
lv:logical volume就是逻辑卷,类似于非LVM系统中的硬盘分区,在逻辑卷之上可以建立文件系统(比如/home或者/usr等)
如下图所示PV、VG、LV三者关系:
安装LVM
首先确定系统中是否安装了lvm工具:
[root@www root]# rpm –qa|grep lvm
创建和管理LVM
要创建一个LVM系统,一般需要经过以下步骤:1、 创建分区 :使用分区工具 fdisk,方法和创建其他分区方式一样的,唯一的区别是LVM分区的类型的8e
进入分区fdisk /dev/sda
格式一定是 8e
2、 创建PV :pvcreat
3、 创建VG
创建完成VG之后,才能从VG中划分一个LV。
4、 创建LV
创建了一个名字为lvData,容量大小是100M的分区,其中:-L:指定LV的大小 -n:指定LV的名。Vo1Group00:表示从这个VG中划分LV;
5、LV格式化及挂载
下一步需要对LV进行格式化(使用mksf进行格式化操作),然后LV才能存储资料
将格式化后的LV分区挂载到指定的目录下,就可以像普通目录一样存储数据了
如果要在系统启动的时候启动LV,最好是将lvData写入fstable 文件中,如下所示:
使用Vim编辑器,打开/etc/fstab,在最后一行添加如图中所示,其中/dev/VolGroup00/lvData指定需要挂载的分区LV,/root/test指定要挂载的目录(挂载点),ext3分区文件系统格式,后两位建议 0 0
扩容当前分区
一、首先创建一块新的分区:
fdisk /dev/hda
n
l #选择逻辑分区,如果没有,则首先创建扩展分区,然后再添加逻辑分区(硬盘:最多四个分区P-P-P-P或P-P-P-E)
6 #分区号(从5开始),/dev/hda6
t 8e #分区类型8e表示LVM分区
w #写入分区表
partprobe #重读分区表
mkfs –t ext /dev/sda6 #格式化
partx /dev/sda #查看当前硬盘的分区表及使用情况
二、创建PV,扩容VG,LV
pvcreate /dev/hda6
vgdisplay #查看当前已经存在的VG信息,以存在VG:VolGroup00为例
vgextend VolGroup00 /dev/hda6 #扩展VolGroup00
lvdisplay #查看已经存在的LV信息,以存在LV:LogVol01为例
lvextend –L 1G /dev/VolGroup00/LogVol01 #扩展LV
resize2fs /dev/VolGroup00/LogVol01 #执行该重设大小,对于当前正在使用的LogVol01有效
df –h #查看挂载情况,已经扩容
更加详细讲解参考http://dreamfire.blog.51cto.com/418026/1084729/
如图所示LVM模型
由四个磁盘分区可以组成一个很大的空间,然后在这些空间上划分一些逻辑分区,当一个逻辑分区的空间不够用的时候,可以从剩余空间上划分一些空间给空间不够用的分区使用