linux磁盘扩容方案

方案有两种,从原有的磁盘中直接扩容,另一种是利用逻辑卷的操作,动态进行扩容。

一.第一种方案,简单快捷,不需要进行关机停服务。

在控制台对云硬盘扩容之后,操作系统的分区并未扩容,需要您手动扩容。本实例为Linux 操作系统,版本为CentOS7.2_64bit,已经挂载一块数据盘。扩容前的数据盘只有一个主分区(/dev/vdb1),ext3文件系统,挂载点/test,扩容前40G,扩容后50G,扩容完成后数据盘仍只有一个主分区。

注意事项

1.  云硬盘正在创建快照时,不允许进行扩容操作。

2.  包月云磁盘无法进行扩容操作。

3.  扩容只是扩容数据盘的容量,不是扩大文件系统容量。

4.  磁盘扩容只能扩容数据盘,不能对系统盘进行扩容。

扩容已有分区

操作步骤

1.  登录linux实例

2.  输入 df –h查看分区挂载目录

3.  卸载分区umount /dev/vdb1。

4.  删除原来的分区并创建新分区,fdisk /dev/vdb。

(1)输入 d 键,然后回车,删除已有的分区。

说明:

  • 删除分区数据盘不会丢失盘内数据。
  • 硬盘有多个分区不建议此操作。

(2)输入 n 键,然后回车,开始创建新的分区。

(3)输入 p 键,然后回车,创建主分区。

(4)输入分区编号,示例使用默认 1 编号,回车。

(5)输入第一个扇区编号,示例使用默认值,回车。

(6) 输入最后一个扇区编号,示例使用默认值,回车。

(7) 最后输入 w 键,然后回车,写入更改。

5.  检查文件系统e2fsck -f /dev/vdb1,刷新文件系统大小resize2fs /dev/vdb1。

6.  重新挂载分区mount /dev/vdb1 /test,使用df –h查看扩容后的分区。

二. 逻辑卷的操作

  

在Linux系统中使用云硬盘时,需要对云硬盘进行分区。伴随着存储需求的不断提升,会出现分区容量不足的情况。当容量不足时,通常会采用替换原有分区的方式进行扩容(具体方法可参见扩容云硬盘)。该方法操作过程复杂,需要经过备份数据、清除硬盘、重新分区、数据恢复等多个环节,此外,还需要中断业务运行。

通过逻辑卷管理LVM来管理云硬盘后,文件系统不再受限于云硬盘的大小,可以分布在多个云硬盘上,并且可以动态扩容。

逻辑卷管理LVM(Logical Volume Manager)是在Linux环境下对磁盘分区管理的一种机制。LVM是建立在云硬盘和分区之间的一个逻辑层,可以将若干个磁盘物理分区连接为一个整块的卷组VG(Vloume Group),形成一个存储池,然后,在卷组上创建逻辑卷LV(Logical Volumes))。通过这样一种方式,可以在线动态调整存储卷的大小,提高磁盘分区管理的灵活性。

LVM的基本工作原理是将底层的云硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用。

  1. 最底层的存储设备为云硬盘。
  2. 云硬盘被格式化为物理卷PV(Physical Volume)。物理卷可以是实际云硬盘上的分区,也可以是整个云硬盘,也可以是RAID设备。
  3. 在物理卷PV之上建立卷组VG。一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。
  4. 在卷组之上建立逻辑卷LV。卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展或缩小空间。

 

I.构建逻辑卷

本文以/dev/vdb、/dev/vdc和/dev/vdd三块云硬盘为例说明如何创建LVM。如下图所示,系统已经挂载了三块云硬盘,大小是20GB。

 

步骤一:安装LVM

  1. 执行如下命令,检查系统是否安装过LVM。
    rpm -qa |grep lvm2
    • 如果出现如下显示信息,则说明已经安装,可以跳过步骤一,直接执行步骤二
    • 如果没有出现如上显示信息,则执行步骤二
  2. 执行如下命令,安装LVM。
    yum install lvm2

    执行后,若出现如下信息,则说明安装成功。

步骤二:将云硬盘创建为物理卷

  1. 以root用户登录云服务器。
  2. 执行如下命令,查看当前设备挂载的云硬盘。
    fdisk -l

    从上述的显示信息中我们可以看出,当前系统挂载了三块云硬盘,分别是/dev/vdb、/dev/vdc和/dev/vdd。

  3. 创建物理卷,将希望添加到卷组的所有分区或者云硬盘创建为物理卷。将整个硬盘创建为物理卷的命令为:
    pvcreate <磁盘设备名1> <磁盘设备名2 > … <磁盘设备名n>

    多个磁盘之间用空格来分隔。

    本示例中,执行pvcreate /dev/vdb /dev/vdc /dev/vdd命令,显示如下。

  4. 执行如下命令,查看新创建的物理卷详细信息。
    pvdisplay

    从显示信息中,我们可以看到新创建的三个物理卷,分别是/dev/vdb、/dev/vdc 、/dev/vdd。

步骤三:创建卷组

  1. 将多个物理卷创建为一个卷组。
    vgcreate <卷组名> <物理卷名称1> <物理卷名称2> … <物理卷名称n>

    本示例中,执行 vgcreate lvm_example /dev/vdb /dev/vdc /dev/vdd

    如果出现如上提示信息,则说明卷组创建成功。

  2. 查看卷组详细信息
    vgdisplay
  3. (可选)卷组创建完成后,如果想将新的物理卷添加到该卷组,可以执行如下命令。
    vgextend <卷组名> <物理卷名称1>

步骤四:在卷组中创建逻辑卷

  1. 创建逻辑卷。
    lvcreate -L <逻辑卷大小> -n <逻辑卷名称> <卷组名称>

    本示例中,执行lvcreate -L 20G -n lv1 lvm_example

  2. 查看逻辑卷详情。
    lvdisplay

步骤五:创建并挂载文件系统

  1. 创建文件系统。
    mkfs.<文件格式> <逻辑卷路径>

    本示例中,执行mkfs.ext3 /dev/lvm_example/lv1

  2. 创建挂载目录。
    mkdir <挂载目录>

    示例

    mkdir /Data
  3. 挂载逻辑卷。
    mount <逻辑卷路径> <挂载目录>

    示例

    mount /dev/lvm_example/lv1 /Data
  4. 查看挂载是否成功。
    df -h

    可以看到该逻辑卷已经成功挂载在/Data下。

II。扩容逻辑卷

当逻辑卷容量不足时,可以在线动态扩展逻辑卷容量。

  1. 扩展逻辑卷容量。
    lvextend -L +/- <增减容量> <逻辑卷路径>

    示例

    //样例1:将逻辑卷lv1增加350M容量
          lvextend -L +350M /dev/lvm_example/lv1
          //样例2:将逻辑卷lv1所在卷组所有空闲空间分配到lv1中
          lvextend –l +100%FREE /dev/lvm_example/lv1
  2. 扩展文件系统容量。
    resize2fs <逻辑卷路径>

    示例

    resize2fs  /dev/lvm_example/lv1
  3. 查看扩展后的逻辑卷大小。
    df -h

    可以看到,新增加的1G容量已经加到逻辑卷上了,容量总量变为21G。

原文地址:https://www.cnblogs.com/jasenin/p/14818530.html