Linux运维学习-磁盘管理之LVM

LVM:逻辑卷管理器(logical Volume Managerment)

 

物理卷(PV):可以是整个硬盘sdb、或者某个分区sdb1、或者RAID

卷组(VG): 物理卷的集合

逻辑卷(LV):基于卷组之上创建,文件系统建立在逻辑卷之上

这里就只有物理卷是不可以更改的,卷组和逻辑卷都可以动态改变,如果逻辑卷不够用了,就找卷组,如果卷组不够用了,在向卷子里面添加物理卷,物理卷的最小单位为PE(物理单元),默认一个是4M

功能/命令

物理卷管理

卷组管理

逻辑卷管理

扫描

pvscan

vgscan

lvscan

建立

pvcreate

vgcreate

lvcreate

显示

pvdisplay

vgdisplay

lvdisplay

删除

pvremove

vgremove

lvremove

扩展

 

vgextend

lvextend

缩小

 

vgreduce

lvreduce

 创建物理卷(PV):

Linux运维学习-磁盘管理之LVM

[[email protected] ~]# ls -l /dev/sd*
brw-rw----. 1 root disk 8,  0 Mar 21 03:34 /dev/sda
brw-rw----. 1 root disk 8,  1 Mar 21 03:34 /dev/sda1
brw-rw----. 1 root disk 8,  2 Mar 21 03:34 /dev/sda2
brw-rw----. 1 root disk 8, 16 Mar 21 03:34 /dev/sdb
brw-rw----. 1 root disk 8, 32 Mar 21 03:34 /dev/sdc
brw-rw----. 1 root disk 8, 48 Mar 21 03:34 /dev/sdd
brw-rw----. 1 root disk 8, 64 Mar 21 03:34 /dev/sde
brw-rw----. 1 root disk 8, 80 Mar 21 03:34 /dev/sdf
[[email protected] ~]# 
创建物理卷(PV):

[[email protected] ~]# pvcreate /dev/sd[e-f]
  Physical volume "/dev/sde" successfully created.
  Physical volume "/dev/sdf" successfully created.
[[email protected] ~]# 
查看:

[[email protected] ~]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               rhel
  PV Size               19.00 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              4863
  Free PE               0
  Allocated PE          4863
  PV UUID               3qUrn1-1Epa-VUpA-XYcY-G8L4-kqIs-z016AL
   
  "/dev/sdf" is a new physical volume of "20.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdf
  VG Name               
  PV Size               20.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               uw0ylA-uSTv-3vVV-kefT-gF86-Q5kN-cddbJm
   
  "/dev/sde" is a new physical volume of "20.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sde
  VG Name               
  PV Size               20.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               XOIGMl-wjfz-uS3q-mVCt-Cf96-nQ6q-Rug6rz
   
[[email protected] ~]# 

创建卷组(VG):物理卷组成卷组

创建卷组,卷组名称为"myvg",将物理卷"/dev/sde"与"/dev/sdf"加入卷组:

[[email protected] ~]# vgcreate myvg /dev/sdf /dev/sde
  Volume group "myvg" successfully created
[[email protected] ~]#
[[email protected] ~]# 
[[email protected] ~]# vgdisplay
  --- Volume group ---
  VG Name               rhel
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               19.00 GiB
  PE Size               4.00 MiB
  Total PE              4863
  Alloc PE / Size       4863 / 19.00 GiB
  Free  PE / Size       0 / 0   
  VG UUID               qCWZIy-1Jaq-hDrp-ucrm-7CbF-dQey-n62uXB
   
  --- Volume group ---
  VG Name               myvg
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               39.99 GiB
  PE Size               4.00 MiB
  Total PE              10238
  Alloc PE / Size       0 / 0   
  Free  PE / Size       10238 / 39.99 GiB
  VG UUID               OVgeEV-DnX7-Hg6U-umf4-K2fb-Ly6g-ZOWovb
   
[[email protected] ~]# 
[[email protected] ~]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               rhel
  PV Size               19.00 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              4863
  Free PE               0
  Allocated PE          4863
  PV UUID               3qUrn1-1Epa-VUpA-XYcY-G8L4-kqIs-z016AL
   
  --- Physical volume ---
  PV Name               /dev/sdf
  VG Name               myvg
  PV Size               20.00 GiB / not usable 4.00 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              5119
  Free PE               5119
  Allocated PE          0
  PV UUID               uw0ylA-uSTv-3vVV-kefT-gF86-Q5kN-cddbJm
   
  --- Physical volume ---
  PV Name               /dev/sde
  VG Name               myvg
  PV Size               20.00 GiB / not usable 4.00 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              5119
  Free PE               5119
  Allocated PE          0
  PV UUID               XOIGMl-wjfz-uS3q-mVCt-Cf96-nQ6q-Rug6rz
   
[[email protected] ~]#

创建逻辑卷(LV):

lvcreate -n mylv myvg -l 20

-n:指定逻辑卷的名称为”mylv”

指定分区大小有2种方式:

-l:指定PE的个数,整数(PE个数)

-L:指定大小(整数+单位),当大小不是PE的整数倍时,自动向上扩展

使用卷组"myvg",创建逻辑分区"mylv01",分配20个PE:

[[email protected] ~]# lvcreate -n mylv01 myvg -l 20
  Logical volume "mylv01" created.
[[email protected] ~]# 
[[email protected] ~]# lsblk /dev/myvg/mylv01 
NAME        MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
myvg-mylv01 253:2    0  80M  0 lvm  
[[email protected] ~]#
创建文件系统,挂载使用:

[[email protected] ~]# mkfs.xfs /dev/myvg/mylv01 
meta-data=/dev/myvg/mylv01       isize=512    agcount=4, agsize=5120 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=20480, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=855, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[[email protected] ~]# 
[[email protected] ~]# mkdir /backup1
[[email protected] ~]# 
[[email protected] ~]# mount /dev/myvg/mylv01 /backup1/
[[email protected] ~]# 
[[email protected] ~]# df -hT /dev/myvg/mylv01 
Filesystem              Type  Size  Used Avail Use% Mounted on
/dev/mapper/myvg-mylv01 xfs    77M  4.2M   73M   6% /backup1
[[email protected] ~]# 

扩展逻辑卷(LV):

[[email protected] ~]# lsblk /dev/myvg/mylv01 
NAME        MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
myvg-mylv01 253:2    0  80M  0 lvm  /backup1
[[email protected] ~]# 
扩容到200M:

[[email protected] ~]# lvextend /dev/myvg/mylv01 -L 200M
  Size of logical volume myvg/mylv01 changed from 80.00 MiB (20 extents) to 200.00 MiB (50 extents).
  Logical volume myvg/mylv01 successfully resized.
[[email protected] ~]# 
重置大小:

[[email protected] ~]# xfs_growfs /dev/myvg/mylv01 
meta-data=/dev/mapper/myvg-mylv01 isize=512    agcount=4, agsize=5120 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=20480, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=855, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 20480 to 51200
[[email protected] ~]# 
[[email protected] ~]# df -hT /dev/myvg/mylv01 
Filesystem              Type  Size  Used Avail Use% Mounted on
/dev/mapper/myvg-mylv01 xfs   197M  4.4M  193M   3% /backup1
[[email protected] ~]#