Logical volume manager 逻辑卷管理,建立在硬盘及硬盘分区之上
我们根据此图进行操作
1、首先对硬盘sdc进行分区
2、PV-是Phusical Volume 的缩写,即物理卷
将硬盘或分区设备映射为PV的动作,可以使用pvcreate 命令完成
lsblk
# 查看块设备
# 可以一次将多个硬盘或分区创建成PV
pvcreate /dev/sdb /dev/sdc{1,2} /dev/sd{d,e}
# 查看pv列表
pvs
# 删除分区表,分区之后分区表还在dd删除分区表
dd if=/dev/zero of=/dev/vdc bs=512 count=1
3、VG-是volume group的缩写,即卷组
在lvm中,一个或多个物理卷PV可以组成一个卷组VG
卷组VG 的容量是其包含的物理卷PV容量总和
将PV组成卷组的动作可以使用vgcreate这个命令完成
# 创建卷组vg1
# vgcreate 跟 卷组的名字 以及要加入卷组的物理卷
vgcreate vg1 /dev/sdb /dev/sdc1
# 查看卷组 大小
vgs
# 创建卷组vg2. 以及物理卷sdc2加入卷组
vgcreate vg2 /dev/sdc2
# 扩展卷组vg2. 将sdd sde扩展加入到vg2
vgextend vg2 /dev/sdd /dev/sde
# 将已加入的物理卷移除VG(卷组)
/usr/sbin/vgreduce vg2 /dev/sde
# 查看vg
vgs
4、LV-是Logical volume的缩写,即逻辑卷
创建逻辑卷LV的命令是lvcreate
# 第一个参数指定从哪个卷组VG创建 --name 指定逻辑卷lv的名称 --size指定创建逻辑卷lv的大小
lvcreate vg1 --name lv1 --size 5G
# 含义就是从vg1中创建一个5G大小的逻辑卷lv1
lvcreate vg2 --name lv1 --size 10G
lvcreate vg2 --name lv2 --size 10G
# 查看
lvs
# 注意截图红色的箭头 lv逻辑卷 可以同名前提是在不同的vg卷组下
5、格式化块设备的文件系统并挂载
fdisk -l
# 用lvs查询把
lvs
#
root@b /home# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root b-vg -wi-ao---- 8.54g
swap_1 b-vg -wi-ao---- 976.00m
lv1 vg1 -wi-ao---- 5.00g
lv1 vg2 -wi-ao---- 10.00g
lv2 vg2 -wi-ao---- 5.00g
# 根据LVS的查询结果进行格式化
mkfs.ext4 /dev/vg1/lv1
mkfs.ext4 /dev/vg2/lv1
mkfs.ext4 /dev/vg2/lv2
# 挂载
cd /home
mkdir a b c
mount /dev/vg1/lv1 /home/a
mount /dev/vg2/lv1 /home/b
mount /dev/vg2/lv2 /home/c
# 查询挂在情况
df -h
# 开机自启前边介绍过
这里的路径多了 mapper 是因为这个目录下保存了所有的lv
6、LV空间扩展
lv的空间扩展,主要先看VG是否有空余空间free 有的话直接添加即可
新硬盘到了,转换成pv 加入到vg也会获得新空间
如上图,首先看到vg1和vg2都有空闲10g的空间
可以对将vg1的lv1 升级到15g vg2的lv2升级到15g
# 把lv的空间增加到15G
lvextend /dev/mapper/vg1-lv1 --size 15G
# 把lv的空间利用vg剩余的所有空间
lvextend /dev/mapper/vg1-lv1 -l +100%FREE
lvextend /dev/mapper/vg2-lv2 -l +100%FREE
# df -h 查看挂载的文件系统空间并没有变化
# ext文件系统用这个刷新
resize2fs /dev/mapper/vg1-lv1
resize2fs /dev/mapper/vg2-lv2
# xfs文件系统用这个刷新
xfs_growfs /dev/mapper/vg1-lv1