LVM的基本概念:
logical volume manager的缩写,逻辑卷管理,它是对磁盘分区进行管理的一种机制。
LMV是建立在磁盘分区和文件系统之间的一个逻辑层,管理员利用LVM可以在磁盘不用重新分区的情况下动态的调整分区的大小。
LVM的使用术语:
物理存储设备physical media:指系统的存储设备文件 /dev/sda  /dev/hdb
物理卷 physical volume (PV):硬盘分区或者从逻辑上看起来和硬盘分区类似的设备(比如RAID设备)
卷组 volume group (VG):类似于非LVM系统中的物理硬盘
逻辑卷 logical volumn(LV):类似于非LVM系统上的硬盘分区
PE(physical extent):PV中可以分配的最小存储单元称为PE
LE(logical extent):LV中可以分配的最小存储单元
安装LVM工具
直接使用rpm -qa |grep lvm
如果显示lvm2-2.02.16-3.e15
system-config-lvm-1.0.22-1.0.el5说明lvm已经安装
LVM的创建和管理
1 创建物理分区
使用fdisk命令划分磁盘分区,需要指定分区类型为LINUX lvm,对应的ID为8e。
查看磁盘分区fdisk -l /dev/sdb /dev/sdc
/dev/sdb
/dev/sdb1            1              1044           8385898+      5     Extended
/dev/sdb5            1               250            2008062        8e   LINUX  LVM
/dev/sdb6            251           500            2008093+        8e   LINUX  LVM
/dev/sdb7            501           750            2008093+        8e   LINUX  LVM
/dev/sdb8            751           1044          2361523+        8e   LINUX  LVM
/dev/sdc
/dev/sdb1            1              1044           8385898+      5     Extended
/dev/sdb5            1               499            4008154+        8e   LINUX  LVM
/dev/sdb6            500           1044           4377681         8e   LINUX  LVM
2 创建物理卷
pvcreate
pvcreate /dev/sdb5 /dev/sdb6 /dev/sdb7 /dev/sdb8 /dev/sdc5 /dev/sdc6
physical volume "/dev/sdb5" successfully created 
3 创建卷组
vgcreate 卷组名 物理卷
这里创建2个卷组myvg1和myvg2,同时两个卷组都跨越了不同的磁盘
vgcreate myvg1 /dev/sdb5 /dev/sdb6 /dev/sdc5
vgcreate myvg2 /dev/sdb7 /dev/sdb8 /dev/sdc6
4 激活卷组
vgchange -a y myvg1
vgchange -a y myvg2
5 显示卷组,物理卷属性信息
vgdisplay 卷组名 可以查看卷组大小和每个PE大小
pvdisplay  物理卷名
6 创建逻辑卷
lvcreate [-L 逻辑卷大小| -l PE数] -n 逻辑卷名称 所属的卷组名
这里我们在卷组myvg1下创建2个逻辑卷mylv11 和mylv12,在卷组myvg2下创建一个逻辑卷mylv2
lvcreate -L 4G -n mylv11 myvg1 创建一个大小为4G的逻辑卷mylv11
vgdisplay myvg1|grep "Free PE" 查看卷组myvg1中可用的卷组空间
lvcreate -l 934 -n mylv12 myvg1 创建一个大小为934PE的逻辑卷mylv12
vgdisplay myvg1|grep "Free PE" 再次查看卷组myvg1中可用的卷组空间
vgdisplay myvg2|grep "Free PE" 查看卷组myvg2中可用的卷组空间
lvcreate -l 2134 -n mylv2 myvg2  创建一个大小为2134PE的逻辑卷mylv2
7 格式化逻辑卷,创建文件系统
文件系统是创建在逻辑卷上的,这里假定使用默认的ext3文件系统,使用mkfs.ext3格式化文件系统
mkfs.ext3 /dev/myvg1/mylv11
mkfs.ext3 /dev/myvg1/mylv12
mkfs.ext3 /dev/myvg2/mylv2
最后建立挂载目录,挂载这些逻辑卷即可
mkdir /mylv11
mkdir /mylv12
mkdir /mylv2
mount /dev/myvg1/mylv11 /mylv11
mount /dev/myvg1/mylv12 /mylv12
mount /dev/myvg2/mylv2 /mylv2
df -h |grep mylv查看新挂载的这些逻辑卷
新增加磁盘已经可以工作,如果开机自动挂载,只需要编辑/etc/fstab文件,加上新增的3个逻辑分区就可以。
8 添加新的物理卷到卷组
vgextend 卷组名 新加入的物理卷
这里假定新增一块4G硬盘/dev/sdd,
先使用fdisk进行分区,对应的分区/dev/sdd5,现在把硬盘分区加入卷组myvg2,
vgdisplay myvg2|grep "Free PE" 查看卷组myvg2中可用的卷组空间,这里应该为0
pvcreate /dev/sdd5
vgextend myvg2 /dev/sdd5
vgdisplay myvg2|grep "Free PE" 此时剩余卷组空间4GB,新增加空间
9修改逻辑卷大小
LVM最主要的功能就是动态的调整分区的大小,其实就是修改逻辑卷的大小,主要用到下面的几个命令
lvextend(扩展逻辑卷)和lvreduce(缩减逻辑卷)
lvextend [-L (+size) -l (+PE数)] 逻辑卷名称
lvreduce [-L (-size) -l (-PE数)] 逻辑卷名称
ext2resize命令 修改文件系统大小
ext2resize 设备文件或逻辑卷 空间大小
(1)扩充逻辑卷空间
         利用扩展逻辑卷命令lvextend扩展逻辑卷空间
         卸载已经挂载的逻辑卷分区
         利用ext2resize指令修改文件系统大小以实现空间扩充
         挂载扩充后的逻辑卷分区
         lvextend -L +4G /dev/myvg2/mylv2
         umount /dev/myvg2/mylv2
         ext2resize /dev/myvg2/mylv2
          mount /dev/myvg2/mylv2 /mylv2
         df -h |grep mylv2
   (2)减少逻辑卷的空间
         卸载已经挂载的逻辑卷分区
         利用ext2resize指令修改文件系统大小以实现空间缩减
          利用减小逻辑卷命令lvreduce减少逻辑卷空间
          挂载缩减后的逻辑卷分区
         umount /mylv2
         ext2resize /dev/myvg2/mylv2 11G
        lvreduce -L 11G /dev/myvg2/mylv2
         ext2resize /dev/myvg2/mylv2
         mount /dev/myvg2/mylv2 /mylv2
         df -h |grep mylv2
10.如何删除物理卷,卷组和逻辑卷
       删除卷组的顺序:
       卸载逻辑卷分区--删除卷组上所有逻辑卷--删除卷组
       pvremove删除物理卷
       vgreduce将物理卷从卷组移除
       vgremove删除卷组
        lvremove删除逻辑卷