一、什么是lvm
LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它由Heinz Mauelshagen在Linux 2.4内核上实现,目前最新版本为:稳定版1.0.5,开发版 1.1.0-rc2,以及LVM2开发版。
Linux用户安装Linux操作系统时遇到的一个常见的难以决定的问题就是如何正确地评估各分区大小,以分配合适的硬盘空间。普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文件系统的限制,也不能跨越多个分区来存放,所以也不能同时放到别的磁盘上。
而遇到出现某个分区空间耗尽时,解决的方法通常是使用符号链接,或者使用调整分区大小的工具,但这只是暂时解决办法,没有从根本上解决问题。
随着Linux的逻辑卷管理功能的出现,这些问题都迎刃而解,用户在无需停机的情况下可以方便地调整各个分区大小。
二、LVM(逻辑分区管理)中的几个概念
PV(physical volume):物理卷在逻辑卷管理系统最底层,可为整个物理硬盘或实际物理硬盘上的分区。
VG(volume group):卷组建立在物理卷上,一卷组中至少要包括一物理卷,卷组建立后可动态的添加卷到卷组中,一个逻辑卷管理系统工程中可有多个卷组。
LV(logical volume):逻辑卷建立在卷组基础上,卷组中未分配空间可用于建立新的逻辑卷,逻辑卷建立后可以动态扩展和缩小空间。
PE(physical extent):物理区域是物理卷中可用于分配的最小存储单元,物理区域大小在建立卷组时指定,一旦确定不能更改,同一卷组所有物理卷的物理区域大小需一致,新的pv加入到vg后,pe的大小自动更改为vg中定义的pe大小。
LE(logical extent):逻辑区域是逻辑卷中可用于分配的最小存储单元,逻辑区域的大小取决于逻辑卷所在卷组中的物理区域的大小。
PV | 物理卷,被pvcreate处理过的lvm分区 |
---|---|
VG | 物理卷组,被组装到一起的物理卷 |
PE | 物理块,lvm设备的最小存储单元是PE的整数倍 |
lvm | 逻辑卷,直接使用的设备,可以增大缩减并保持原有数据不变 |
三、建立lvm逻辑卷
步骤一:使用监控命令监控lvm
watch -n 1 "pvs;echo === ;vgs ;echo === ; lvs ; echo === ; df -h /weixindata "
fdisk /dev/vdb
使用fdisk -l 查看分区类型
步骤三:创建一个物理分区
pvcreate /dev/vdb3
步骤四:将PV加入到物理卷组VG中
vgcreate vg0 /dev/vdb3
lvcreate -L 200M -n lv0 vg0
步骤六:将从物理卷组中分出来的逻辑卷格式化
步骤七:将逻辑卷通过挂载到软件,让用户使用。
mount /dev/vg0/lv0 /weixindata
四、拉伸逻辑卷lvm
情况一:当划分出来的主分区/dev/vdb3够用时,直接拉伸
lvextend -L 400M /dev/vg0/lv0
xfs_growfs /dev/vg0/lv0
情况二:当划分出来的主分区/dev/vdb3不够时,再划分出一个分区进行拉伸
步骤一:重新创建一个分区
fdisk /dev/vdb
pvcreate /dev/vdb5
vgcreate vg0 /dev/vdb5
lvextend -L 600M /dev/vg0/lv0
xfs_growfs /dev/vg0/lv0
注:xfs文件系统不能进行缩减,ext4文件系统支持拉伸缩减
五、ext4文件系统
1、ext4文件系统的拉伸
步骤一:卸载/weixindata
umount /weixindata
mkfs.ext4 /dev/vg0/lv0
mount /dev/vg0/lv0 /weixindata
lvcreate -L 700M /dev/vg0/lv0
resize2fs /dev/vg0/lv0
umount /weixindata
e2fsck -f /dev/vg0/lv0
resize2fs /dev/vg0/lv0 200M
mount /dev/vg0/lv0
步骤五:查看挂载信息及大小
df -H /weixindata
lvreduce -L 400M /dev/vg0/lv0
3、将/dev/vdb5里的东西移到/dev/vdb3,将/dev/vdb5空闲出来·
步骤一:将lvm中所有/dev/vdb5中存储的内容全部移动到/dev/vdb3
pvmove /dev/vdb5 /dev/vdb3
vgreduce vg0 /dev/vdb5
步骤三:将/dev/vdb5聪PV中移出
pvremove /dev/vdb5
六、建立lvm快照
步骤一:在文件系统无挂载情况下,照快照
lvcreate -L 40M -n lv0-backup -s /dev/vg0/lv0
mount /dev/vg0/lv0-backup /weixindata
步骤三:查看大小及挂载情况
df -H
umount /weixindata
lvremove /dev/vg0/lv0-backup
lvcreate -L 40M -n lv0-backup -s /dev/vg0/lv0
mount /dev/vg0/lv0-backup /weixindata
七、lvm的删除
步骤一:卸载
umount /weixindata
lvremove /dev/vg0/lv0-backup
lvremove /dev/vg0/lv0
步骤四:删除物理卷组
vgremove vg0