zoukankan      html  css  js  c++  java
  • LVM

    一、概念性的东西

    LVM2:Logical Volume Manager ,Version 2

    LVM,依赖于内核的dm模块(将一个或多个底层的设备组织成一个逻辑设备的模块)。可以将多个物理分区通过软件组合成一块看起来是独立的大磁盘(VG),然后将这块大磁盘再划分为可以使用的分区(LV),经格式化后,可以挂载使用。

    LVM主要用途:实现一个可以弹性调整容量的文件系统。

    文件名:/dev/dm-#

    文件路径:/dev/mapper/VG_NAME-LV_NAME和/dev/VG_NAME/LV_NAME。后者是前者的链接文件。

    二、LVM组成:

      PV,PhyficalVolume,物理卷:实际的分区需要调整系统标识符(system ID)为8e(LVM的标识符)。然后使用pvcreate命令将其转成LVM最底层的物理卷(PV)。

      VG,VolumeGroup,卷组:使用vgcreate命令将多个PV创建成VG,在创建VG是可以指定PE大小(默认为4M)。一个VG最多包含65534个PE(默认VG大小为    65534*4M/1024=256G),VG的大小由PE决定。

      PE,Physical Volume,物理扩展块:PE是 LVM中最小存储单元,类似于文件系统中的block,也就是说我们的文件数据都是由PE来处理的,调整PE大小能影响VG的最大容量。

      LV,Logical Volume,逻辑卷:使用lvcreate命令可以将VG切成多个LV,LV可以被格式化后挂载使用。LV的大小与LV中包含的PE有关

    VG、LV、PE关系图:

      

    三、LVM实现流程:

      

    四、LVM操作流程

      1、创建新的分区并调整System ID为8e

      

      2、创建PV

        pvcreate:将物理分区新建为PV

        pvscan:查询当前系统中任何具有PV的磁盘

        pvdisplay:显示出目前系统上的PV状态信息

        pvremove:将PV属性删除,使目标分区不具有PV属性

      

        2.1使用pvdisplay查看新建PV状态。应为还没有将PV创建为VG,所有VG NAME,PE Size为空或0。

        

      3、创建VG

        vgcreate:新建VG的命令,

          vgcreate [-s|--physicalextentsize PhysicalExtentSize[bBsSkKmMgGtTpPeE]  VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]

          即,vgcreate [-s N[MGT]]  VG名称  PV路径

            -s|--physicalextentsize:指定pe大小,默认为4M。使用-s指定大小时,数值一定要是2的n次方。

             VolumeGroupName:VG名称

             PhysicalDevicePath :组成VG的PV路径

          

        vgscan:查找系统上的VG

          

        vgdisplay:显示VG的状态信息。

          

        vgextend:在目标VG中增加额外PV,可以看到VG总包含4个PV(之前是3个此处增加一个)共8G。

          vgextend VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]

          

        vgreduce:在目标VG中删除PV

          vgreduce VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]

            

        vgremove:删除目标VG

        vgchange:设置VG是否启动(active)

      4、创建LV

        lvcreate:新建LV

          lvcreate  -L|--size LogicalVolumeSize[bBsSkKmMgGtTpPeE]   [-n|--name LogicalVolume{Name|Path}  VolumeGroup{Name|Path}

          即,lvcreate [-L N[MGT]]  [-N LV名称]  VG名称

            -L|--size:后面接LV容量

            -n|--name:后面接LV名称

            VolumeGroup{Name|Path}:目标VG名称

          

          lvcreate -l|--extents LogicalExtentsNumber[%{VG|PVS|FREE}]  [-n|--name LogicalVolume{Name|Path}  VolumeGroup{Name|Path}

          即,lvcreate [-l N] [-N LV名称]  VG名称

             -l|--extents :后接pe个数

          

          

        lvscan:查询系统上的LV

        lvdisplay:查看系统上的lv状态

        lvreduce:在LV中减少容量

        

        lvextend:在lv中增加容量

        lvresize:对LV进行容量大小的调整

    注意VG的名称是vg1,但是LV的名称必须是全名及路径名+基名即/dev/vg1/lv1

      5、格式化,挂载LV

        格式化LV

        

        挂载并使用LV

        

        

        

        

      

      

  • 相关阅读:
    Mysql 小技巧
    关于提交form不刷新的问题
    取消超链接点击默认事件
    JS获取地址栏参数
    Maven 手动添加 JAR 包到本地仓库
    Mysql函数instr、locate、position VS like
    阿里巴巴常考面试题及汇总答案
    JS跳转action
    Struts2使用ModelDriven后JSON数据返回不正确
    简单的使用AngularJS的解析JSON
  • 原文地址:https://www.cnblogs.com/wxxjianchi/p/9698089.html
Copyright © 2011-2022 走看看