首页 > 代码库 > 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} #VG00vg的名称;/dev/vd{b,c}是加入到vg的所有pv

接下来就在vg上面创建lv

[root@server ~]# lvcreate -n http_lv -L 10G VG00 #-n指的是:lv名字;-L指的是硬盘大小,VG00指的是Lv空间来自于哪个vg

  1. 创建物理卷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