Linux LVM逻辑卷LV扩容实战

什么是LVM?

什么是LVM?LVM(Logical Volume Manager)逻辑卷管理,是一种将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的 分区加入其中,这样可以事项一种磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性,使用普通的磁盘分区,当一个磁盘的分区空间不够使用的时候,可 能就会带来很大的麻烦。使用LVM在一定程度上就可以解决普通磁盘分区带来的问题。 

为什么使用LVM?

LVM通常用于装备大量磁盘的系统,但它同样适于仅有一、两块硬盘的小系统。


小系统使用LVM的益处?

传统的文件系统是基于分区的,一个文件系统对应一个分区。这种方式比较直观,但不易改变:

1.不同的分区相对独立,无相互联系,各分区空间很易利用不平衡,空间不能充分利用;

2.当一个文件系统/分区已满时,无法对其扩充,只能采用重新分区/建立文件系统,非常麻烦;或把分区中的数据移到另一个更大的分区中;或采用符号连接的方式使用其它分区的空间。

3.如果要把硬盘上的多个分区合并在一起使用,只能采用再分区的方式,这个过程需要数据的备份与恢复。

当采用LVM时,情况有所不同:

1.硬盘的多个分区由LVM统一为卷组管理,可以方便的加入或移走分区以扩大或减小卷组的可用容量,充分利用硬盘空间;

2.文件系统建立在逻辑卷上,而逻辑卷可根据需要改变大小(在卷组容量范围内)以满足要求;

3.文件系统建立在LVM上,可以跨分区,方便使用;


大系统使用LVM的益处? 

在使用很多硬盘的大系统中,使用LVM主要是方便管理、增加了系统的扩展性。 在一个有很多不同容量硬盘的大型系统中,对不同的用户的空间分配是一个技巧性的工作,要在用户需求与实际可用空间中寻求平衡。用户/用户组的空间建立在LVM上,可以随时按要求增大,或根据使用情况对各逻辑卷进行调整。当系统空间不足而加入新的硬盘时,不必把用户的数据从原硬盘迁 移到新硬盘,而只须把新的分区加入卷组并扩充逻辑卷即可。同样,使用LVM可以在不停服务的情况下。把用户数据从旧硬盘转移到新硬盘空间中去。 


【名词解释】

1. PV(Physical Volume):物理卷,处于LVM最底层,可以是物理硬盘或者分区。     

2.PP(Physical Extend):物理区域,PV中可以用于分配的最小存储单元,可以在创建PV的时候制定,如1M, 2M, 4M, 8M, 32M, 64M…组成同一VG中所有PV的PE大小应该相同。     

3.VG(Volume Group):卷组,建立在PV之上,可以含有一个到多个PV。    

4. LV(Logical Volume):逻辑卷,建立在VG之上,相当于原来分区的概念。不过大小可以动态改变。


 lvm常用的命令

功能

PV管理命令

VG管理命令

LV管理命令

scan 扫描

pvscan

vgscan

lvscan

create   创建

pvcreate

vgcreate

lvcreate

display显示

pvdisplay

vgdisplay

lvdisplay

remove   移除

pvremove

vgremove

lvremove

extend   扩展


vgextend

lvextend

reduce减少


vgreduce

lvreduce


LV扩容(XFS系统)实战

[root@ABAO208 ~]# vgs
  VG         #PV #LV #SN Attr   VSize  VFree
  vg_abao208   1   2   0 wz--n- 19.51g    0 
  vg_data      2   1   0 wz--n- 19.99g 5.99g
[root@ABAO208 ~]# lvextend -L + 2G /dev/vg_data/lv_data 
  Invalid argument for --size: +
  Error during parsing of command line.
[root@ABAO208 ~]# lvextend -L +2G /dev/vg_data/lv_data 
  Size of logical volume vg_data/lv_data changed from 14.00 GiB (3584 extents) to 16.00 GiB (4096 extents).
  Logical volume lv_data successfully resized.
[root@ABAO208 ~]# xfs_growfs /dev/vg_data/lv_data 
meta-data=/dev/mapper/vg_data-lv_data isize=256    agcount=6, agsize=655360 blks
         =                       sectsz=512   attr=2, projid32bit=0
data     =                       bsize=4096   blocks=3670016, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 3670016 to 4194304

知识扩展:

RHEL6对文件系统进行扩容

# resize2fs /dev/Vg1/LV1

注意在:RHEL7对文件系统进行扩容

xfs_growfs   设备名称

# xfs_growfs /dev/vg1/lv1

共有 1 条评论

  1. avatar

    龙的传人

    blog所有的文章都是你写的吗

回复给

Top