AWS 磁盘 lvm 扩展

为了对我们 AWS 的数据库实例的 EBS 卷进行不停机的动态扩容,由于之前对磁盘做了 LVM 所以我们只需要把新的 pv 往之前的 vg 添加即可。下面先介绍下基本基本概念。

概念

LVM(逻辑卷管理)是一个非常好用的硬盘系统工具。传统分区使用固定大小的分区,重新调整大小十分麻烦。但是,LVM 可以创建和管理“逻辑”卷,而不是直接使用物理硬盘。可以让管理员弹性的管理逻辑卷的扩大缩小,操作简单,而不损坏已存储的数据。可以随意将新的硬盘添加到 LVM,以直接扩展已经存在的逻辑卷。重要的是,LVM 并不需要重启就可以让内核知道分区的存在。
LVM的分层结构,如下图所示:


image.png

图中顶部,首先是实际的物理磁盘及其划分的分区和其上的物理卷(PV)。一个或多个物理卷可以用来创建卷组(VG)。然后基于卷组可以创建逻辑卷(LV)。只要在卷组中有可用空间,就可以随心所欲的创建逻辑卷。文件系统就是在逻辑卷上创建的,然后可以在操作系统挂载和访问。

步骤

  1. 首先准备好新的 EBS 卷,并分区(这里没有进行分区)


    image.png
  2. pvscan -n 查看是否有可用的物理卷,发现没有
    pvscan命令会扫描系统中连接的所有硬盘,列出找到的物理卷列表。使用pvscan命令的-n选项可以显示硬盘中的不属于任何卷组的物理卷,这些物理卷是未被使用的。

    image.png

    pvdisplay 命令用于显示物理卷的属性。pvdisplay命令显示的物理卷信息包括:物理卷名称、所属的卷组、物理卷大小、PE大小、总PE数、可用PE数、已分配的PE数和UUID。
    image.png

  3. pvcreate /dev/xvdi
    pvcreate 用于将物理硬盘分区初始化为物理卷,以便LVM使用。

    image.png

    此时 pvscan -n 可以看到有可用的物理卷
    image.png

    再次 pvdisplay 可以看到 /dev/xvdi 物理卷,但是还不属于任何卷组
    image.png

    image.png

  4. vgdisplay命令用于显示LVM卷组的信息。如果不指定"卷组"参数,则分别显示所有卷组的属性。可以看到当前的卷组信息:


    image.png
  5. 将 /dev/xvdi 物理卷加入到 datavg 卷组
    vgextend命令 用于动态扩展LVM卷组,它通过向卷组中添加物理卷来增加卷组的容量。LVM卷组中的物理卷可以在使用vgcreate命令创建卷组时添加,也可以使用vgextend命令动态的添加。

image.png
  1. 可以看到 /dev/xvdi 物理卷的空间已经加入到 datavg 卷组


    image.png
  2. 扩展逻辑卷的大小
    lvextend命令用于在线扩展逻辑卷的空间大小,而不中断应用程序对逻辑卷的访问。使用lvextend命令动态在线扩展磁盘空间,整个空间扩展过程对于应用程序来说是完全透明的。
    image.png

    image.png

    8.但是看分区大小依然没有变
    image.png

    需要激活一下
    resize2fs命令被用来增大或者收缩未加载的 “ext2/ext3” 文件系统的大小。如果文件系统是处于mount状态下,那么它只能做到扩容,前提条件是内核支持在线 resize,linux kernel 2.6 支持在mount 状态下扩容但仅限于ext3文件系统。
    image.png

    image.png

    image.png

你可能感兴趣的:(AWS 磁盘 lvm 扩展)