LVM划分磁盘及扩容缩容

lvm:logical volume monitor 逻辑卷管理器

 作用采用lvm划分磁盘:磁盘空间不够时,方便扩展磁盘物理卷加到卷组时被划分等大的pe,pv是由众多pe构成.pe是卷组的最小单位.默认情况下一个pe对应一个le。一个le可以对应多个pe(相当于raid1,一般不做),但一个pe只能对应一个le。

   1.pv: physical volume  物理卷  命令有:pvs/ pvdisplay/pvcreate/pvmove/pvremove

 2.vg: volume group  卷组.   命令有:vgs/vgdisplay/vgcreate/vgextend/vgreduce/vgremove

 3.lv: logical volume 逻辑卷.  命令有:lvs/lvdisplay/lvcreate/lvextend/lvreduce/lvremove

 4.pe: physical extent 物理分区

 5.le:logical extent 逻辑分区


查看物理卷(pv).

 查看物理卷: pvs  或者  pvdisplay  无输出则表示没有物理卷.

[root@lbg test]# pvs

[root@lbg test]# pvdisplay

添加物理卷:

 添加2pv. 命令为: pvcreate +磁盘映射点(分区表不能为gpt)

[root@lbg test]# pvcreate /dev/sdb   /dev/sdc           ---创建物理卷

  Physical volume "/dev/sdb" successfully created.

  Physical volume "/dev/sdc" successfully created.


再次查看物理卷:

 [root@lbg test]# pvs

  PV         VG Fmt  Attr PSize PFree

  /dev/sdb      lvm2 ---  2.00g 2.00g

  /dev/sdc      lvm2 ---  2.00g 2.00g

新建卷组并添加物理卷:

 /deb/sdb添加到名为lbgvg的新建卷组里: vgcreate  vg_name  pv_path

[root@lbg test]# vgcreate lbgvg /dev/sdb     ---新建卷组名为lbgvg

Volume group "lbgvg" successfully created


查看卷组:
可知其有
1pv0lv.  命令为: Vgs 或者 vgdisplay  .

 [root@lbg test]# vgs

  VG    #PV #LV #SN Attr   VSize  VFree 

 lbgvg   1   0   0 wz--n- <2.00g <2.00g


在卷组里创建逻辑卷
(lv):

 从组lbgvg里创建1G,名为lbglv的逻辑卷(+1G表示添加2G,而单独的1G表示总空间为1G) 

[root@lbg test]# lvcreate -L 1G -n lbglv lbgvg   --从卷组lbgvg里新建逻辑卷lbglv

逻辑卷创建完后相当于分区完成.


查看逻辑卷:
lvs 或者 
lvdisplay

 [root@lbg test]# lvs

  LV    VG    Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert

  lbglv lbgvg -wi-a----- 1.00g   

[root@lbg test]# lvdisplay

  --- Logical volume ---

  LV Path   /dev/lbgvg/lbglv  ---可知逻辑卷映射在操作系统为: /dev/lbgvg/lbglv.可在此路径查看。

  LV Name                lbglv

  VG Name                lbgvg

  LV UUID                Pkjmem-LUH6-1EXM-m0rP-Vjfa-ac03-dVycbc

  LV Write Access        read/write

  LV Creation host, time lbg, 2018-10-04 23:16:37 +0800

  LV Status              available

  # open                 0

  LV Size                1.00 GiB

  Current LE             256

  Segments               1

  Allocation             inherit

  Read ahead sectors     auto

  - currently set to     8192

  Block device           253:0

[root@lbg test]# cd /dev/lbgvg

[root@lbg lbgvg]# ll

lrwxrwxrwx 1 root root 7 Oct  4 23:16 lbglv -> ../dm-0


然后可以创建文件系统再挂载即可使用
.

 [root@lbg lbgvg]# mkfs.xfs /dev/lbgvg/lbglv 

[root@lbg lbgvg]# mount /dev/lbgvg/lbglv /mnt/hh

[root@lbg /]# df -Th

/dev/mapper/lbgvg-lbglv xfs      1014M   33M  982M   4% /mnt/hh 


卷组扩容
扩容卷组即是新建物理卷并将其加入到卷组中即可

 查看卷组:发现只有1pv,大小为2g.

[root@lbg /]# vgs

  VG    #PV #LV #SN Attr   VSize  VFree   

  lbgvg   1   1   0 wz--n- <2.00g 1020.00m


先创建物理卷并查看:

 [root@lbg /]# pvcreate /dev/sdc

  Physical volume "/dev/sdc" successfully created.

[root@lbg /]# pvs

  PV         VG    Fmt  Attr PSize  PFree   

  /dev/sdb   lbgvg lvm2 a--  <2.00g 1020.00m

  /dev/sdc         lvm2 ---   2.00g    2.00g


再将物理卷添加到卷组里然后查看可知卷组为
3.99G(命令:vgextend lbgvg  /dev/sdc)

 [root@lbg /]# vgextend lbgvg /dev/sdc

  Volume group "lbgvg" successfully extended

[root@lbg /]# vgs

  VG    #PV #LV #SN Attr   VSize VFree

  lbgvg   2   1   0 wz--n- 3.99g 2.99g


逻辑卷扩容:

逻辑卷的大小不能超过卷组的大小,故一般扩容是先扩容卷组,再扩容逻辑卷.扩容卷组即是新建物理卷并将其加入到卷组中即可.逻辑卷扩容可以直接在挂载情况下使用 。且逻辑卷扩容,需先扩展物理边界再扩展逻辑边界.

 扩展物理边界命令: lvextend -L +2G /dev/lbgvg/lbglv

[root@lbg /]# lvextend -L +2G /dev/lbgvg/lbglv 

  Size of logical volume lbgvg/lbglv changed from 1.00 GiB (256 extents) to 3.00 GiB (768 extents).

  Logical volume lbgvg/lbglv successfully resized.

[root@lbg /]# lvs

  LV    VG    Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert

  lbglv lbgvg -wi-ao---- 3.00g   

此时lvs查看是3G,df -h查看却是1G,因为还需扩展逻辑边界.


扩展逻辑边界:

 [root@lbg /]# resize2fs /dev/lbgvg/lbglv        ---扩展逻辑边界

[root@lbg /]# lvdisplay

  --- Logical volume ---

  LV Path                /dev/lbgvg/lbglv

  LV Name                lbglv

  VG Name                lbgvg

  LV UUID                Pkjmem-LUH6-1EXM-m0rP-Vjfa-ac03-dVycbc

  LV Write Access        read/write

  LV Creation host, time lbg, 2018-10-04 23:16:37 +0800

  LV Status              available

  # open                 0

  LV Size                3.00 GiB

  Current LE             768

  Segments               2

  Allocation             inherit

  Read ahead sectors     auto

  - currently set to     8192

  Block device           253:0

注意其中open的状态:1说明在用,可知mount里查看.open0,说明没有挂载.

扩展逻辑边界后的结果是:文件系统的大小(挂载情况下df -h)=设备大小(lvs)


逻辑卷缩容

必须先umount,再强制文件系统检查,然后缩容逻辑边界,最后缩容物理边界.

强制文件系统检查命令: e2fsck -f  /dev/lbgvg/lbglv

 [root@lbg /]# e2fsck -f /dev/lbgvg/lbglv 

缩容逻辑边界,改为1G

[root@lbg /]# resize2fs /dev/lbgvg/lbglv 1G

最后缩容物理边界,改为1G(会销毁数据.)

[root@lbg /]# lvreduce -L 1G /dev/lbgvg/lbglv 

再查看:lvs

[root@lbg /]# lvs

  LV    VG    Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert

  lbglv lbgvg -wi-a----- 1.00g 


卷组缩容
:先移走数据再卷组缩容最后删除物理卷.

移走数据时要求空闲的空间大于要移走的物理卷大小.具体步骤如下:

 [root@lbg /]# pvmove /dev/sdc

[root@lbg /]# vgreduce lbgvg /dev/sdc

[root@lbg /]# pvremove /dev/sdc

 

原文地址:https://www.cnblogs.com/lbg-database/p/10109961.html