LVM在生产环境中做测试还是挺有用的

wKiom1jL39uywW7fAAFxoS1lDtY071.png-wh_50

LVM

结合内核中的dm模块,将一个或多个底层块设备组织成一个逻辑设备的模块;通俗来说就是将多个物理设备(分区也行)组成一个可“灵活”伸缩的文件系统

PV物理卷->VG卷组->LV逻辑卷

PV物理卷的理解就是一个个的物理硬盘,分区,RAID也可以;将这些PV物理卷在划分成一个大的VG卷组;然后VG卷组将下面的PV物理卷划分成一个个的PE空间(physical extent),来组成最后的LV逻辑卷;比方说VG将一个PV划分出来上有四个PE,一个PE大小为4M,那么LV空间大小就为16M;

同时,增加PV的大小,也就会相应增加LV的大小。支持动态扩展LV,不会影响LV上正在操作的数据。这也是LVM的优势。

pv管理工具

pvs:简要pv信息显示

pvdisplay:显示pv的详细信息 

1.  pvcreate /dev/DEVICE :创建pv  例子:pvcreate /dev/sdb1 /dev/sdc(要是分区接下要创建文件系统并更改id为8e)

pvremove:删除

pvmove 搬家 移动PE空间到同一个卷组上的成员上 例:pvmove /dev/sdb

vg管理工具

vgs

2. vgcreate vgNAME  /dev/DEVICE 创建vg -s可以指定PE大小(默认4M大小) 例子:vgcreate vg0 -s 16M /dev/sdb1 /dev/sdc

vgdisplay 

vgextend vgNAME DEVICE扩展

vgreduce vgNAME DEVICE移除

先做pvmove 将pv上的pe空间移动到同一个卷组的pv上

lv管理工具

lvs

lvdisplay

lvremove移除  移除之前需要先卸载

4. lvextend扩展 -L 指定大小 例子:lvextend -L 5G /dev/vg0/lv1   注意ext文件系统需要执行:resize2fs /dev/vg0/lv1(给扩展的空间“装修文件系统”)

注意xfs文件系统需要执行:xfs_growfs /dev/vg0/lv0  (lvextend /dev/vg0/lv0 -l +100%FREE所有空闲空间全部都使用)

又或者lvextend -r -L 4G /dev/vg0/lv1 这条命令一步到位,将空间和文件系统一并扩展(可以省掉上面扩展文件系统的命令)

 注意缩减时需要离线缩减,且只有ext文件系统支持缩减。顺序是先缩减文件系统,在缩减空间

例:缩减逻辑卷

1、umount 先卸载

2、e2fsck -f /dev/vg0/lv1 检查文件系统完整性

3、resize2fs /dev/vg0/lv1 3G 缩减文件系统到3G

4、lvreduce -L 3G /dev/vg0/lv1 缩减空间

5、mount

lvresize指定逻辑卷大小

lvmconf逻辑卷配置文件

3.  lvcreate -n指定名字 -L大小[M,G,T]   例子:lvcreate -n vg0 -L 10G vg0(指定vg0这个卷组)

mkfs.xfs /dev/vg0/lv0  创建文件系统

mount /dev/vg0/lv0 /mnt/lv0  挂载


lv拍摄快照:lvcreate  -n snap-shot-lv0-2 -L 2G -s -p r /dev/vg0/lv0  -n指定名字 -s指定创建快照逻辑卷 -p r指定只读权限