什么是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 条评论
龙的传人
blog所有的文章都是你写的吗