zoukankan      html  css  js  c++  java
  • 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。

  • 相关阅读:
    基于小程序开发的藏书馆
    picker(级联)组件及组件封装经验
    秒杀组件开发-可实现多种倒计时功能
    async/await 与 generator、co 的对比
    nodejs项目总结
    小程序开发小结-线下服务器域名部署等
    性能提速:debounce(防抖)、throttle(节流/限频)
    vuex数据管理-数据模块化
    vue 项目其他规范
    vue路由管理-保留滚动位置功能、按需加载模块名自定义
  • 原文地址:https://www.cnblogs.com/jasenin/p/14818530.html
Copyright © 2011-2022 走看看