lvm 逻辑卷管理
1>lvm名词 小姿势
lvm可以使硬盘无限扩容:
PV(physical volume):物理卷在逻辑卷管理系统最底层,可谓整个物理硬盘或实际物理硬盘上的分区。
VG(volume group):卷组建立在物理卷上,一卷组中至少要包括一些物理卷,卷组建立后可动态添加卷到卷组中,一个逻辑卷管理系统工作中可有多个卷组。
LV (logical volume):逻辑卷建立在卷组基础上,卷组中未分配空间可用于建立新的逻辑卷,逻辑卷建立后可动态拓展或缩小空间
PE(physical extend): 物理分区是物理卷中可用于分配的最小存储单元,物理区域大小在建立卷组时指定,一旦确定不能更改,同一卷组所有物理卷的物理区域大小需一致,新的pv加入vg后,pe的大小自动更改为vg中定义的pe大小。
LE(logical extend):逻辑区域是逻辑卷中可用于分配的最小存储单元,逻辑区域的大小取决于逻辑卷所在卷组中的物理卷区域的大小。
卷组描述区域:卷组描述区域存在于每个物理卷中,用于描述物理卷本身,物理卷所属卷组,卷组中逻辑卷,逻辑卷中物理区域的分配等信息,他是在建立pvcreate建立物理卷时建立的。
lvm 逻辑卷,可以让设备自由伸缩的一个设备管理软件
pv 物理卷
vg 物理卷组
pe 物理拓展,lvm最小的存储单元
2>lvm制作
1.umount /mnt
2.fdisk /dev/vdb #删除分区信息
3.partprobe
3.vim /etc/fstab #删除挂载
4.watch -n 1 'pvs;vgs;lvs;df -h /mnt'#监控
pvs |pvdisplay #查看物理卷
vgs |vgdisplay #查看物理圈组
lvs |lvdisplay #对逻辑卷设备进行查看
5.fdisk /dev/vdb #重新分区,i为8e,大小为1G
Device Boot Start End Blocks Id System
/dev/vdb1 2048 2099199 1048576 8e Linux LVM
/dev/vdb2 2099200 4196351 1048576 8e Linux LVM
/dev/vdb3 4196352 6293503 1048576 8e Linux LVM
6.partprobe
7.fdisk -l
8.pvcreate /dev/vdb1 #把物理分区做成物理卷
9.vgcreate vg0 /dev/vdb1 #用制作好的/dev/vdb1这个物理卷做成一个物理卷组
10.lvcreate -L 300M -n lv0 vg0 #在vg0组中建立出lv0设备 -L 指定设备大小 -n 指定设备的名字lv0
11.mkfs.xfs /dev/vg0/lv0 #格式化
pvcreate /dev/vdb1 #把物理分区做成物理卷
vgcreate vg0 /dev/vdb1 #用制作好的/dev/vdb1这个物理卷做成一个物理卷组
lvcreate -L 300M -n lv0 vg0 #在vg0组中建立出lv0设备 -L 指定设备大小 -n 指定设备的名字lv0
mkfs.xfs /dev/vg0/lv0 #格式化3>lvm的扩大:
1.针对xfs文件系统:
lvm扩大:
1 lvextend -L 500M /dev/vg0/lv0 #扩大lvm设备
2 xfs_growfs /dev/vg0/lv0 #扩大xfs文件
vg扩大:
1 pvcreate /dev/vdb2 #把物理分区做成物理卷
2 vgextend vg0 /dev/vdb2 #把新建立的/dev/vdb2添加到vg0中
3 lvextend -L 1500M /dev/vg0/lv0 #扩大lvm设备
4 xfs_growfs /dev/vg0/lv0 #扩大xfs文件
2.针对ext文件系统
lvm扩大:
1 mkfs.ext4 /dev/vg0/lv0 #格式化成ext文件系统
2 lvextend -L 2G /dev/vg0/lv0 #扩大lvm设备到2G
3 resize2fs /dev/vg0/lv0 #设备文件系统大小和系统同步
vg扩大:
1 pvcreate /dev/vdb3 #在pv中增加一块设备/dev/vdb3
2 vgextend vg0 /dev/vdb3 #把/dev/vdb2添加到vg0中
3 lvextend -L 2G /dev/vg0/lv0 #扩大lvm设备到2G
4 resize2fs /dev/vg0/lv0 #设定文件系统大小和设备同步
lvm缩小:
1 umount /mnt #卸载
2 e2fsck -f /dev/vg0/lv0 #扫描文件是否被损坏
3 resize2fs /dev/vg0/lv0 1000M #缩小lvm文件系统为1000M
4 mount /dev/vg0/lv0 /mnt/ #挂载lv0
5 lvreduce -L 1000M /dev/vg0/lv0 #缩小lv设备
e2fsck -f /dev/vg0/lv0 #扫描文件是否被损坏
缩减vg:
当vg缩减时缩减的设备被占用时,即该设备中有数据
1 pvremove /dev/vdb1 /dev/vdb2 #先将/dev/vdb1中的数据移动到闲置的/dev/vdb2中,前提是vdb2的容量要大于vdb1中的数据容量
2 vgreduce vg0 /dev/vdb1 #删除vg0中的/dev/vdb1
3 pvremove /dev/vdb1 #/dev/vdb1上的管理信息删除
4>LVM制作快照lv0backup:
扩大vg0
1 pvcreate /dev/vdb1
2 vgextend vg0 /dev/vdb1
制作快照:
1 lvcreate -L 50M -n lv0backup -s /dev/vg0/lv0 #制作一个容量为50M的快照lv0backup
2 mount /dev/vg0/lv0backup /mnt/ 同步到文件系统
3 ls /mnt
4 rm -fr /mnt/*
5 ls
6 umount /mnt
7 lvremove /dev/vg0/lv0backup
8 lvcreate -L 50M -n lv0backup -s /dev/vg0/lv0
9 mount /dev/vg0/lv0backup /mnt/
10ls /mnt
11umount /mnt/
12lvremove /dev/vg0/lv0backup #删除vg0中的快照
lvcreate -L 50M -n lv0backup -s /dev/vg0/lv0
mount /dev/vg0/lv0backup /mnt/
lvremove /dev/vg0/lv0backup
制作快照实验:
快照被挂载时使所有的操作都是对快照进行的,不会破坏原有设备
5> 删除lvm
1 umount /mnt/
2 lvremove /dev/vg0/lv0backup #删除快照
3 lvremove /dev/vg0/lv0 #删除lv0
4 vgremove vg0 #删除vg0
5 pvremove /dev/vdb{1..2} #删除物理分区
1 umount /mnt/
2 lvremove /dev/vg0/lv0backup #删除快照
3 lvremove /dev/vg0/lv0 #删除lv0
4 vgremove vg0 #删除vg0
5 pvremove /dev/vdb{1..2} #删除物理分区最终结果: