Linux系统下的LVM逻辑卷管理

一、各部分介绍

 

pv                                              ##物理卷
                                                  被lv命令处理过的物理分区
vg                                              ##物理卷组
                                                  被组装到一起的物理卷
pe                                              ##物理扩展
                                                   lvm设备的最小存储单元lvm时pe的证书倍

lvm                                              ##逻辑卷
                                                   直接使用的设备,可以增大所见并保持原有数据不变

##lvm建立## 
1.分区并设定分区标签位(8e)

pvcreate /dev/vdb1
vgcreate vg0 /dev/vdb1
lvcreate  -L 50M -n lv0  vg0
mkfs.xfs /dev/vg0/lv0
mount /dev/vg0/lv0 /mnt
df -H

Linux系统下的LVM逻辑卷管理

##############先建立一个分区,刷新后,建立一个PV物理卷###########

 

Linux系统下的LVM逻辑卷管理

############建立一个VG物理卷组vg0#########

 

Linux系统下的LVM逻辑卷管理

##############在vg0物理卷组中建立一个50M的lvm#########

 

Linux系统下的LVM逻辑卷管理

##############将vdb1安装到vg0物理圈组中############

 

Linux系统下的LVM逻辑卷管理

####################将lv0挂在到 /mnt中###############

 

可以用watch -n 1 'pvs;vgs;lvs;df -h /mnt'命令进行监控

Linux系统下的LVM逻辑卷管理


 

##lvm的拉伸##

lvm支持热拉伸


1.当vg中的剩余容量充足情况

 

生于容量为144M

拉伸196:

   lvextend -L 196M /dev/vg0/lv0

   xfs_growfs /dev/vg0/lv0 ##拉伸设备

Linux系统下的LVM逻辑卷管理

#############拉伸lv0设备到196M#############

 

Linux系统下的LVM逻辑卷管理

##############最大容量196M,拉伸后剩余容量变为0#########

 

 


2.当vg中的容量不足
再次建立分区并修改标签8e
pvcreate /dev/vdb2     生成物理卷 /dev/vdb2
vgextend vg0 /dev/vdb2   物理卷/dev/vdb2加到物理卷组/dev/vg0

Linux系统下的LVM逻辑卷管理

######################新建一个vdb2分区#####################

 

Linux系统下的LVM逻辑卷管理

#################创建一个vdb2的物理卷###############

 

Linux系统下的LVM逻辑卷管理

#################将vdb2添加到vg0物理卷组中#############

 

Linux系统下的LVM逻辑卷管理

########################此时,最大容量为692M###################

 

 

Linux系统下的LVM逻辑卷管理

###############################剩余最大容量为496M##########################


lvextend -L  200M dev/vg0/lv0                   拉伸120m
xfs_growfs  /dev/vg0/lv0    格式化 /dev/vg0/lv0

Linux系统下的LVM逻辑卷管理

###########################拉伸容量至200M########################

 

Linux系统下的LVM逻辑卷管理

######################已经拉伸到了200M,剩余最大容量为492M###################


 

3.针对ext文件系统的设备的拉伸和缩减
umount /mnt

mkfs.ext4 /dev/vg0/lv0

mount /dev/vg0/lv0 /mnt

Linux系统下的LVM逻辑卷管理

################先卸载挂载,然后将lv0格式化###############

 

Linux系统下的LVM逻辑卷管理

#######################再将lv0挂载mnt上######################

 

拉伸
lvextend -L   240M /dev/vg0/lv0                                                 将设备拉伸到240M
resize2fs /dev/vg0/lv0                                                                 拉伸文件系统

Linux系统下的LVM逻辑卷管理

Linux系统下的LVM逻辑卷管理

###########################扩容后剩余容量452M##############################

 

Linux系统下的LVM逻辑卷管理

Linux系统下的LVM逻辑卷管理

 

 

缩减
缩减lvm
umount /dev/vg0/lv0
e2fsck -f /dev/vg0/lv0
resize2fs /dev/vg0/lv0 100M
lvreduce -L 100M /dev/vg0/lv0
mount /dev/vg0/lv0 /mnt
Linux系统下的LVM逻辑卷管理

####resize2fs这个命令起到检测作用,所见这个命令比较危险,所以会出现警报####

 

Linux系统下的LVM逻辑卷管理

#########这里提示缩减过小,小于正在工作的9M容量########

 

Linux系统下的LVM逻辑卷管理

################忽略警报,缩减成功#############

 

Linux系统下的LVM逻辑卷管理

##########################显示剩余容量192M#############################

 

缩减vg
移除空闲pv

Linux系统下的LVM逻辑卷管理

Linux系统下的LVM逻辑卷管理

Linux系统下的LVM逻辑卷管理

 

vgreduce vg0 /dev/vdb2
移除含有数据的设备
pvmove /dev/vdb1 /dev/vdb2
vgreduce vg0 /dev/vdb1
pvremove /dev/vdb1

Linux系统下的LVM逻辑卷管理

#######################缩减至100M#################

 

Linux系统下的LVM逻辑卷管理

###############将vdb1中的数据传输到vdb2中##############

 

Linux系统下的LVM逻辑卷管理

Linux系统下的LVM逻辑卷管理

#################################移除vdb1############################

 


4、lvm块照

lvcreate -L 60 M -n lv0-backup -s /dev/vg0/lv0

lvm的快照,原理类似于虚拟机快照


挂载mount /dev/vg0/lv0 到    /mnt  上,

会在/mnt 中查看到 lost+found文件 ,如图所示:

Linux系统下的LVM逻辑卷管理

 


rm -rf /mnt/*

umount /mnt

 lvm的删除
vgremove vg0
pvremove /dev/vdb2
lvremove /dev/vg0/lv0-backup    ##移除/dev/vg0/lv0-backup 
lvremove /dev/vg0/lv0                  ##移除/dev/vg0/lv0  

Linux系统下的LVM逻辑卷管理