Linux下lvm在线扩容步骤

Posted 与f

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux下lvm在线扩容步骤相关的知识,希望对你有一定的参考价值。

 转 :https://jingyan.baidu.com/article/25648fc18f22b29191fd0011.html

图片看不清可以看原文

 

LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。LVM是在磁盘分区和文件系统之间添加的一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,提供一个抽象的盘卷,在盘卷上建立文件系统。物理卷(physical volume)物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。

 

优势:

    能够在线扩容当前的分区容量。

    Linux用户安装Linux操作系统时遇到的一个最常见的难以决定的问题就是如何正确地给评估各分区大小,以分配合适的硬盘空间。而遇到出现某个分区空间耗尽时,解决的方法通常是使用符号链接,或者使用调整分区大小的工具(比如PatitionMagic等),但这都只是暂时解决办法,没有根本解决问题。随着Linux的逻辑盘卷管理功能的出现,这些问题都迎刃而解,用户在无需停机的情况下方便地调整各个分区大小。

 

结构:

    在整个LVM结构当中以此分为:“物理卷、物理卷分区、卷组、逻辑卷”,下面我详细解释一下这四种结构:

1:物理卷:Physical Volume,简称PV,一个物理卷只不过是一个有LVM管理数据添加在里面的物理存储介质。要使用LVM系统,首先对要用于LVM的磁盘进行初始化,初始化的目的就是将磁盘或分区标识为LVM 的物理卷。使用pvcreate 命令可以将一个磁盘标记为 LVM 物理卷。

 

2:物理分区:Physical Extents,简称PE,LVM将每个物理卷分别叫做物理分区的可寻址存储单元,存储单元的大小通常为几MB。磁盘的开头部分为LVM元数据,之后从索引为零开始,每个物理分区的索引依次递增一,按顺序进行分配。

 

3:卷组:Volume Group,简称VG,物理卷可以组织为卷组。卷组可以由一个或多个物理卷组成,同时系统中可以有多个卷组。创建了卷组之后,该卷组(而不是磁盘)便是表示数据存储的实体。因此,尽管以前是将磁盘从一个系统移动到另一个系统,使用了 LVM 之后,会将卷组从一个系统移动到另一个系统。出于这种原因,通常在一个系统上创建多个卷组会比较方便。

 

4:逻辑分区:Logical Extents,简称LE,逻辑卷的基本分配单元称为逻辑分区。逻辑分区映射到物理分区,因此,如果物理分区的尺寸小为4MB,那么逻辑分区的尺寸也将为4MB。逻辑卷的大小取决于所分配的逻辑分区数量。

技术分享图片

 

工具/原料

  • 一台安装有Linux操作系统的服务器或者笔记本
  • 虚拟机环境也可以

 

方法/步骤

 
  1.  

        要建立LVM,首先需要为LVM准备磁盘或者分区。如果使用磁盘分区作为物理卷的话,需要将分区标识为“Linux LVM”,其分区ID为“0x8e”,接下来我为大家演示一下配置的过程和分区的在线扩容。

     

        本次试验目标:将在线扩容LINUX系统的根分区

     

    下面截图解释一下:

        我在安装系统的时候选择的是默认分区,这时系统默认分配2个区,boot和root,而root分区为LVM系统,以方便未来的在线扩容,现在我要做的就是将根分区扩大5G,当前为17G,扩大5G之后大小为22G,扩容方式为在线扩容,业务不中断,机器也不需要关机,扩容目标为根分区。

    技术分享图片
    技术分享图片
    技术分享图片
  2.  

    扩容顺序:

        创建新的PV---将新的PV加入到当前VG---扩容现有LV----扩容文件系统

     

        下图划分出一个分区,大小5G,分区标识号:83,我需要修改成8E,继续下面配置,如果想知道分区标识号有哪些,可以查看帮助。

    技术分享图片
    技术分享图片
    技术分享图片
  3.  

        创建新PV并将新的PV加入到现有的VG:

    命令:pvcreate (创建PV,如果是创建VG前面修改成VG即可,只是语法稍有区别)

    命令:vgextend (对VG进行扩容)

    语法:vgextend 现有的VG + PV绝对路径

    语法:pvcreate 分区1 + 分区2 + 分区3 + …

    语法:vgcreate –s pe vgname pv + + + (这里的参数-S表示在创建VG的时候修改PE块的大小)

    注:PE块的大小只能是2的倍数,最低从4开始,以此类推8、16、32… 最大应该是64M

     

        下图中是原来的VG,大小为17G,这里新的VG还未加入进来,将新的VG加入进来之后的查看结果,可以看到大小变成了22G,可分配的PE也有了159个。

    技术分享图片
    技术分享图片
    技术分享图片
    技术分享图片
  4.  

        进行LV的扩容和文件系统的扩容:

    命令:lvresize 或者lvextend

    语法:lvresize -L size 需要扩容的LV绝对路径

     

        下图显示现在已经扩容成功,当前容量已经达到了21G,扩容前容量为16G,下面使用命令查看一下当前的LV状态。

    技术分享图片
    技术分享图片
    技术分享图片
    技术分享图片
  5.  

        到这里LV的容量已经成功扩容到21G,比之前增加了5G,但是当前文件系统还未扩容,所以根分区的大小依然不变,还是17G,如下截图

     

        整个根目录就已经成功扩容到22G,相比之前的17G,增加了5G的容量,整个操作过程全部是在线完成的,业务没有中断,系统也不需要重启。

    技术分享图片
    技术分享图片
     

注意事项

 
  • 如果是将根分区缩减,是不能在线进行的,缩减的风险往往大于扩容的风险,如缩减不成功将导致整个文件系统损毁

 

 

 

 

以上是关于Linux下lvm在线扩容步骤的主要内容,如果未能解决你的问题,请参考以下文章

Linux磁盘LVM在线扩容

超大磁盘在线扩容

lvm卷管理,在线扩容/home目录分区大小

Linux下调整磁盘大小后的基于LVM的磁盘扩容

CentOS7下的lvm(逻辑卷)在线扩容

xfs文件系统lvm在线扩容