初识LVM及ECS上LVM分区扩容

摘要: LVM是逻辑卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的逻辑层,来提高磁盘分区管理的灵活性。

一. LVM简介

二. LVM基本术语

三. 安装LVM

四. 创建和管理LVM

创建PV

创建VG

创建LV

LV格式化及挂载

五. ECS上LVM扩容实战(磁盘扩容)

一. 简介

LVM是逻辑卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的逻辑层,来提高磁盘分区管理的灵活性。

LVM的工作原理其实很简单,它就是通过将底层的物理磁盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用。在传统的磁盘管理机制中,我们的上层应用是直接访问文件系统,从而对底层的物理硬盘进行读取,而在LVM中,其通过对底层的硬盘进行封装,当我们对底层的物理硬盘进行操作时,其不再是针对于分区进行操作,而是通过逻辑卷来对其进行底层的磁盘管理操作。比如说我增加一个物理硬盘,这个时候上层的服务是感觉不到的,因为呈现给上层服务的是以逻辑卷的方式。

LVM最大的特点就是可以对磁盘进行动态管理。因为逻辑卷的大小是可以动态调整的,而且不会丢失现有的数据。如果我们新增加了硬盘,其也不会改变现有上层的逻辑卷。作为一个动态磁盘管理机制,逻辑卷技术大大提高了磁盘管理的灵活性。

二. LVM基本术语

物理磁盘

物理存储介质(The physical media):这里指系统的存储设备:硬盘,如:/dev/xvda、/dev/vdb等等,是存储系统最低层的存储单元。

PV(Physical Volume)- 物理卷 

物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘

VG(Volumne Group)- 卷组 

卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组。

LV(Logical Volume)- 逻辑卷 

逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个逻辑卷可以属于同一个卷组,也可以属于不同的多个卷组。

LVM使用分层结构,如下图所示:

初识LVM及ECS上LVM分区扩容_第1张图片

三. 安装LVM

3.1 检查系统内是否安装了LVM管理工具

# rpm -qa |grep lvm

lvm2-2.02.143-12.el6_9.1.x86_64

lvm2-libs-2.02.143-12.el6_9.1.x86_64

lvm2-devel-2.02.143-12.el6_9.1.x86_64

lvm2-cluster-2.02.143-12.el6_9.1.x86_64

注:目前线上的镜像基本都集成了该工具

3.2 如果没有安装,可以使用yum的方式安装

# yum -y install lvm2*

四. 创建和管理LVM

4.1 创建一个 LVM 分区 

fdisk的参数(n/p/1/回车/回车/t/8e/w)

初识LVM及ECS上LVM分区扩容_第2张图片
初识LVM及ECS上LVM分区扩容_第3张图片

注:8e代表是lvm的分区

初识LVM及ECS上LVM分区扩容_第4张图片

4.2 创建 PV

# pvcreate /dev/xvdb1

Physicalvolume"/dev/xvdb1"successfully created

查看 PV 信息,可以看到有 30G 的容量

初识LVM及ECS上LVM分区扩容_第5张图片

注:有些信息是后补的,因此可能会有前后信息不一致的情况,请见谅

使用下列命令可以删除物理卷:

# pvremove /dev/xvdb1

4.3 创建 VG

# vgcreate vg1 /dev/xvdb1

Volume group "vg1" successfully created

查看卷组信息

初识LVM及ECS上LVM分区扩容_第6张图片

从输出中,我们可以看见卷组的使用量/总量,物理卷给卷组提供空间,只要在这个卷组中还有可用空间,我们就可以创建/扩展逻辑卷。

使用下列命令删除卷组:

#

# vgdisplay (看下剩下多少)

# lvcreate -L 30G -n lv1 vg1

Volume group "vg1" has insufficient free space (7679 extents): 7680 required.

vgdisplay看有30g,但是实际创建的时候报错了,

free PE 7679 * pe size 4M /1024=29.99 ,先创建一个29G的lv出来再扩展试下

4.5 扩容 LV

# vgdisplay (看下剩下多少)

可以看到还剩下1020M,添加1020M到lv1里面

#  lvextend -L +1020M /dev/vg1/lv1

注:这个扩容是VG本身还有余量,给LV扩容余量而非物理磁盘的扩容

4.6 格式化+挂载 LVM 分区

# mkfs.ext4 /dev/vg1/lv1

挂载 LVM

# mount /dev/vg1/lv1 /lvm

查看容量信息

# df -h

五. ECS上LVM扩容实战(磁盘扩容)

5.1 控制台扩容磁盘(这里不做详细图示了)

ECS控制台--实例列表--管理--本实例磁盘--更多--磁盘扩容

设置目标容量,确定扩容

扩容完成后需要控制台重启一下ecs实例才可以

注:如果是待挂载状态则挂载后系统内看到的就是扩容后的容量了

5.2 登陆扩容

#fdisk -l

注:查看一下磁盘信息,可以看到,数据盘已经扩容到50g,但是lvm分区还是30g

初识LVM及ECS上LVM分区扩容_第7张图片

因为是物理磁盘级别的扩容,因此需要卸载挂载的分区,并取消分区卷组的激活

#  umount /lvm

# vgchange -an vg1

0 logical volume(s)involume group"vg1"now active

注:取消激活后,可以尝试mount /dev/vg(tab键补充)就会发现已经没有vg的路径了

将扩容后的空闲磁盘创建一个分区出来

初识LVM及ECS上LVM分区扩容_第8张图片
初识LVM及ECS上LVM分区扩容_第9张图片
初识LVM及ECS上LVM分区扩容_第10张图片

将新增的分区加到卷组里面

# vgextend vg1 /dev/xvdb2

Physical volume"/dev/xvdb2"successfully created 

Volumegroup"vg1"successfully extended

查看卷组信息可以看到FREE PE多了出来

初识LVM及ECS上LVM分区扩容_第11张图片

扩容前重新激活一下逻辑卷

# vgchange -ay vg1

1 logical volume(s)involume group"vg1"now active

将这20G空间扩容到逻辑卷上

# lvextend -L +20G /dev/vg1/lv1

Sizeoflogical volume vg1/lv1 changed from30.00GiB (7679extents) to50.00GiB (12799extents). 

Logical volume lv1 successfully resized.

查看卷组信息,已经都分配完了

初识LVM及ECS上LVM分区扩容_第12张图片

重置一下逻辑卷的大小并挂载

初识LVM及ECS上LVM分区扩容_第13张图片
初识LVM及ECS上LVM分区扩容_第14张图片

注:实际操作中如果df -h看不到扩容后的大小,看下resize2fs是不是有提示执行e2fsck的提示

# resize2fs /dev/vg1/lv1

resize2fs1.41.12(17-May-2010)

Please run'e2fsck -f /dev/vg1/lv1'first.

区别应是我前面挂载了所以直接resize成功,不挂载则需要检查一下磁盘信息

你可能感兴趣的:(初识LVM及ECS上LVM分区扩容)