LVM的管理

 

我们先来介绍一下DM,以及逻辑卷的原理:

DMDevice Mapper 设备映射,用于提供逻辑设备的机制

1、将多个物理设备组合成一个逻辑设备

2、实现RAID,LVM2(逻辑卷2)的功能

3LVM2功能实现的核心

4、能够实现动态扩展和缩小文件系统空间

5、支持镜像的功能

DM中将多个物理设备组织成逻辑设备的方式:

Linear(线性设备)、mirror(类似于镜像)、snapshot(快照)、multipath(多路径)

快照:访问同一个数据的另一条路径。实现数据备份 

DM中多个物理磁盘组织成一个逻辑设备,逻辑设备上需要创建类似逻辑分区才能使用。

物理卷PVPhysical Volume (即多个物理设备)

卷组VGVolume Group  (逻辑设备,PV的组合)

逻辑卷:Logical Volume (可动态扩展的分区)

每一个逻辑卷都是一个独立的文件系统,它有两个边界:物理边界,逻辑边界

可对逻辑卷创建快照,逻辑卷和快照都存于VG中。

 

卷组是由一个个的PE组成,而PE过渡到逻辑卷时,被称为VE

PEPhysial Extend,物理盘区。物理卷只有加入卷组后才能成为PE

LELogical Extend,逻辑盘区

接下来说一下逻辑卷的管理: 

建议将逻辑卷创建到raid上。(硬件raid

 

pv

pvcreate:创建pv

-f:强制创建

例:#  pvcreate  /dev/sda{10,11}

pvscan | pvs:扫描当前系统上一共有多少个pv

pvdisplay:查看pv的详细信息,可指定一个pv

例:#  pvdisplay  /dev/sda10

pvmove:将存有数据的盘区里的数据移动到另一个盘区中

例:#  pvmove  /dev/sda10

pvremove:将一个盘区里的源数据给抹除掉

例:#  pvremove  /dev/sda10 (删除/dev/sda10盘区)

准备创建pv是需要先有几个磁盘,且将磁盘类型设定为8e,即LVM类型。

 

vg:

vgcreate:创建vg

-s #:指定PE大小,默认为4M

例:#  vgcreate  myvg  /dev/sda{10,11}

vgremove:删除vg

例:#  vgremove myvg

vgextend:扩展vg的大小,即添加一个PE

例:#  vgextend  myvg  /dev/sda12

vgreduce:缩减vg的大小,即移除一个PE的过程

例:#  vgreduce  myvg  /dev/sda10

vgs:查看当前系统上有多少个卷组

vgdisplay:查看vg的详细信息,可指定一个vg

 

lv

lvcreate:创建lv

-n:指定名字

-L:指定大小

lvcreate  -n  LV_NAME  -L  #G  VG_NAME

例:#  lvcreat  -L  50M  -n  testlv myvg

lvremove:移除lv

例:#  lvremove  /dev/myvg/testlv

lvs:查看当前系统上有多少个lv

vgdisplay:查看lv的详细信息,可指定一个lv

例:#  vgdisplay  /dev/myvg/testlv

 

扩展和缩减逻辑卷

前提:不影响逻辑卷中的数据

一、扩展逻辑卷

先扩展物理边界,再扩展逻辑边界

扩展逻辑卷的物理边界

lvextend

-L  [+]#  /path/to/lv

例:#  lvextend  -L  5G  /dev/myvg/testlv

扩展逻辑边界

resize2fs

resize2fs  /path/to/lv 5G

-p :扩展到最大

 

: #  resize2fs /dev/myvg/testlv  5G

二、缩减逻辑卷

注意:1、不能在线缩减,得先卸载;

  2、确保缩减后的空间大小依然能存储原有的所有数据;

  3、在缩减之前应该先强行检查文件,以确保文件系统处于一致性状态

其顺序:

df -lh (查看逻辑卷已用的空间)

umount (卸载)

mount(查看是否卸载成功)

e2fsck -f(强行检查文件系统)

resize2fs (缩减逻辑边界)

resize2fs  /path/to/pv  #G

例:#  resize2fs  /dev/myvg/testlv  3G

lvreduce (缩减物理边界)

lvreduce  -L  [-]#  /path/to/lv

例: #  lvreduce  -L  3G  /dev/myvg/testlv

重新挂载

三、快照卷

注意:

1、生命周期为整个数据访问时长;在这段时长内,数据的增长量不能超出快照卷大小

2、快照卷应该是只读的;

3、跟原卷在同一卷组内;

用法:

lvcreate

-s:快照卷

-p r|w:快照卷的权限

格式:

lvcreate  -L  #  -n  SLV_NAME  -p  r  /path/to/lv

例:#  lvcreate  -L  50M  -n  testlv-snap  -s  -p  r  /dev/myvg/testlv