首页 > 代码库 > LVM
LVM
PV:物理卷,在逻辑卷管理系统最底层,可为整个物理硬盘或实际物理硬盘上的分区。
VG:卷组,是建立在物理卷上,一卷组中至少要包括一物理卷,卷组建立后可动态的添加卷到卷组中,一个逻辑卷管理系统工程中可有多个卷组
LV:逻辑卷,建立在卷组基础上,卷组中未分配空间用于分区,逻辑卷建立后可以动态扩展和缩小空间。
PE:叫物理扩展;物理区域是物理卷中可用于分配的最小存储单元,物理区域大小在建立卷组时指定,一旦确定不能更改,同一卷组所有物理卷的物理区域大小需一致,新的pv加入到vg后,pe的大小自动更改为vg中定义的pe大小。
LE:逻辑扩展;逻辑区域是逻辑卷中可用于分配的最小存储单元,逻辑区域的大小取决于逻辑卷所在卷组中的物理区域的大小。
卷组描述区域:卷组描述区域存在于每个物理卷中,用于描述物理卷本身、物理卷所属卷组、卷组中逻辑卷、逻辑卷中物理区域的分配等所有信息,它是在使用pvcreate建立物理卷时建立的。
FS:创建文件系统
快照不是备份,要从快照上面把数据拷出来,快照不需要永生
在生产环境中,我们要尽可能的留一些未使用的空间;因为在使用的过程中发现哪里不合理可以进行动态的扩容;这就是LVM给我们提供的使用习惯;LVM有两个比较重要的特点:
第一:支持在线扩容#这是基本磁盘不支持的;不仅支持在线扩大还支持离线缩小;所谓离线是在不访问,不挂载的情况下;不过缩小基本没什么用
第二:支持快照;一般只有在备份的情况下,才使用快照;LVM有一定局限性,他不像我们虚拟机可以支持很多快照;LVM快照只能支持一个,用完了删掉它,才能继续创建;多数是用于备份,保持一致性的功能叫快照;快照是通过什么机制来实现的?命令很简单,就一个参数;snapshot -s
========================================================
创建 扫描(是否启用) 显示详细 显示(摘要)扩展 缩小 删除 更改 ...
pvcreate pvscan pvdisplay pvs pvresize pvresize pvremove
vgcreate vgscan gdisplay vgs gextend vgremove vgchange
lvcreate lvscan lvdisplay lvs lvextend vreduce lvremove lvchange
========================================================
显示详细:就是查看所有属性;一般不用,因为显示信息太多
扫描(是否启用):查看状态,非激活状态是不能放数据的
PS:对于pvresize,如果原先的PV分区被扩大,那么命令后面直接跟该分区(或者存储设备)的设备文件就可一将PV扩容
如果想要缩小PV(不推荐)那么后面要跟参数pvresize --setphysicalvolumesize 40G /dev/sda1
pv:翻译过来就是物理卷,可以是分区,可以是raid,可以是磁盘;不过一般不用分区(推荐用raid,因为底层可以容错)
vg:叫卷组,其实他叫存储池
Lv:叫逻辑卷,可以分配,可以格式化,挂载的逻辑设备,扩容必须在lv所在的卷组上
创建的时候先创建pv,在创建vg,最后创建lv;删的时候先删lv,在删vg,最后删pv
[root@server ~]# pvcreate /dev/vd{b,c} #创建物理卷PV
切记:pv只支持MBR分区类型的硬盘,不支持GPT分区类型
硬盘中原有分区先删除,再用硬盘创建pv
[root@server ~]# vgcreate VG00 /dev/vd{b,c} #VG00是vg的名称;/dev/vd{b,c}是加入到vg的所有pv
接下来就在vg上面创建lv
[root@server ~]# lvcreate -n http_lv -L 10G VG00 #-n指的是:lv名字;-L指的是硬盘大小,VG00指的是Lv空间来自于哪个vg
- 创建物理卷PV 2. 创建卷组VG 3. 创建逻辑卷LV 4. 创建文件系统并挂载
扩展逻辑卷
[root@server ~]# lvextend -l +40 /dev/VG00/http_lv
第一种情况:lv所在的卷组还有足够用于扩展的空间
[root@localhost ~]# lvs 查看当前LV大小(扩容前)
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
lv02 vg02 -wi-ao 400.00M
[root@localhost ~]# vgs 查看VG可用空间
VG #PV #LV #SN Attr VSize VFree
vg02 1 2 0 wz--n- 100.00G 98.82G
[root@localhost ~]# lvextend -L 1G /dev/vg02/lv02 //扩展逻辑卷
[root@localhost ~]# lvscan
ACTIVE ‘/dev/vg02/lv02‘ [1.00 GB] inherit 查看结果,扩到1G
[root@localhost ~]# resize2fs /dev/vg02/lv02 #扩文件系统,让文件系统识别扩容后的LV大小
[root@localhost ~]# df -h
第二种情况:lv所在的卷组没有足够的空间
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg02 1 4 0 wz--n- 9.97G 0 查看VG没用空间!
[root@localhost ~]# pvcreate /dev/sdd //建立PV
[root@localhost ~]# vgextend vg02 /dev/sdd //扩展卷组
[root@localhost ~]# lvextend -L 100T /dev/vg02/lv02 //扩展逻辑卷
[root@localhost ~]# resize2fs /dev/vg02/lv02 //刷新扩容结果;都做完刷新一下
创建文件系统并挂载
[root@server ~]# mkfs.ext4 /dev/mapper/VG00-http_lv
[root@localhost ~]# df -hT 查看磁盘使用情况
LVM