一、LVM逻辑卷管理
LVM2的全名是 Logical Volume Manager(2是版本号),中文可以翻译作逻辑卷管理器。其主要是通过DM:device mapper模块将一个或多个底层块设备组织成一个逻辑设备模块,在逻辑上可以看做是一个独立的“大磁盘”,其重要功能是可弹性调整系统的存储空间。
LVM的创建流程:pv阶段-->VG阶段-->LV阶段-->格式化-->挂载使用(创建完成);
physical volume,PV,物理卷:此处需要利用fdisk命令来创建分区并将此新加分区的标识符(system ID)调整为8e,让后再利用pvcreate 命令将此硬盘转换成LVM最底层的物理卷PV;
volume group,VG,卷组:利用vgcreate创建VG,LVM就是有若干个VG组成的大磁盘;VG创建后查看命令vgdisplay。VG是由多个PV组成,因此添加了PV设备也就相当于扩展了VG的边界了,VG的功能就类似于扩展分区是没有办法直接被应用的,所以就需要建立LV啦,这个LV才是真正意义上的逻辑卷(logical volume)啦,然后在利用mkfs格式化写入文件系统,最后再将这个LV挂载只Linux系统中就可以使用了;
physical extend,PE,物理扩展块:LVM使用默认4MB的PE块,它是整个LVM的最小存储块,也就是说我们的文件数据都是以写入PE块来处理的。可简单说,PE就是有点想文件系统里面的block大小,所以调整PE的大小会影响到VG的容量。此处要明晰一个概念:PV在没有加入到VG之前是没有PE的概念的,我们可以理解为时VG卷组将底层的存储设备分成了N个PE块,不同的VG块的PE的大小是可能不等的。当PE块加入到LV逻辑卷时我们将其命名为LE(logic extend)。
LVM创建流程图
扩展逻辑卷:
1)先去扩展VG的物理边界 # lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME
2)修改逻辑边界 # resize2fs /dev/VG_NAME/LV_NAME
缩减逻辑卷:
1)先卸载文件系统 # umount /dev/VG_name/LV_name
2)强制做文件系统检测 # e2fsck -f /dev/VG_name/LV_name
3)缩减逻辑边界# resize2fs /dev/VG_name/LV_name
4) # lvreduce -L [-]#[mMgGtT]/dev/VG_NAME/LV_NAME
5)# Mount 挂载应用
二、LVM逻辑卷的snapshot功能
快照卷就类似于文件的硬链接,是指向数据的另外一条路径,具体执行过程:不断监视目标文件的元数据,一旦元数据发生变化就立刻copy一份变化时刻发送变化的数据,那么没有发生变化的数据就不需要复制了,因此快照卷一般不会太大,但是如果是长期存放,就要留有足够的快照卷容量(=源文件的大小)。同时,注意你执行快照的时间,那个是有效数据的最新版,快照卷必须和源卷在同一分区中啊。
LVM snapshot命令:
1)# lvcreate -L # [mMgGtT] -p r -s -n snapshot_lv_name original_lv_name
2)mount 快照卷就可以应用了
附:此处用说的是ext系统文件系统相关命令;