zoukankan      html  css  js  c++  java
  • linux lvm

    一、linux的lv(logical volume)

    lv各层次示例图如下:

    核心思想:最底层的pv就是一个一个的磁盘,在保证总体容量的情况下,可以移除部分磁盘,在pv上面设置一个vg,相当于vg把所有pv的容量融合在一起,在vg之上再进行逻辑磁盘的容量分配,vg给lv进行空间分配时,是以pe为单位进行的。pe在lv层面叫le,这些功能都是由linux的dm模块,也就是device mapper模块实现的。

      实现lv的好处在于,在保证总体容量,不影响使用的情况下,lv,vg可以扩展或者减少容量,pv同样可以加可以撤。

     lv可以实现:多路径(几个路径做备份,那个坏了,另一个可以顶上,而且平时还可以让数据并行传输),快照(快照中只保存数据更改的部分)

    二、新建lv过程

     新建分区(磁盘类型调整为linux lvm类型的)

    1.pvcreate /dev/sda{10,11} 创建pv

    2.pvs 简单查看pv信息或者pvdisplay 查看pv的详细信息

       pvdisplay /dev/sda10

       pvscan 扫描当前系统上的pv

    3.创建vg

    vgcreate myvg /dev/sda{10,11}

    vgcreate 用法:

        -s:可以指定pe大小,默认为4M。单位可以为b、k、m、g

     延伸:

          删除vg命令

          vgremove  vgname

          缩减vg过程:

         先执行pvmove命令:

          pvmove /dev/sda11,将pv sda11中的数据移到其他pv

          vgreduce myvg /dev/sda11

         pvremove /dev/sda11 将pv删除

    4.vgs

       vgdisplay myvg 

    5.扩展vg 

    vgextend myvg /dev/sda12

    6.创建lv

    lvcreate -n LV_NAME -L (容量大小)#M,G VG_NAME

    lvcreate  -L 50M -n testlv myvg

    lv 存放在 /dev/mapper/VG_NAME-LV_NAME, 被/dev/VG_NAME/LV_NAME软链接

    7.格式化

     mke2fs -j /dev/myvg/testlv

    8.挂载

    mount   /dev/myvg/testlv

    9.移除lv

     umount  /dev/myvg/testlv

    lvremove  /dev/myvg/testlv

    三、扩展lv

    先扩展物理边界,再扩展逻辑边界

    扩展物理边界:先检查vg是否够用

     lvextend -L 

         -L[+]#:表示扩展了5G,-L +5G ,扩展到5G: -L 5G

    扩展逻辑边界

    resize2fs

    resize2fs -p /path/to/lv 物理设备能提供多少,就扩展多少。

    四、缩减逻Lv

    umonut /path/to/lv

    缩减逻辑边界

    resize2fs /path/to/lv # 表示缩减逻辑卷

    不能在线缩减,得先卸载

    确保缩减后的空间大小,依然能存储原有的数据

    在缩减之前应该先检查文件系统,确保文件系统处于一致性状态。e2fsck -f 

    缩减物理边界

    lvredude -L{-} # /path/to/lv

    缩减逻辑边界

    lvreduce -l /path/to/lv

    五、创建快照卷

    1.注意:

      (1).生命周期为整个数据访问时长,在这段时长内,数据的增长量不能超出快照卷大小,

      (2).快照卷应该是只读的

      (3).快照卷要跟原卷在同一卷组

    2.创建

     lvcreate 

      -s

       -p r|w

    lvcreate -L #

    eg:lvcreate -L 50M -N testlv-snap -s -p r  /dev/myvg/testlv

    挂载

    mount /dev/myvg/testlv-snap /mnt

    快照创建后,对原卷中的数据进行改变,不会影响快照中的数据。

  • 相关阅读:

    字符串比较
    String对象的简单方法(特别讲解length()方法的实现。
    Character类
    线性结构应用实例:多项式加法运算
    队列的顺序和链式存储实现
    堆栈用数组和用链表实现
    广义表和多重链表(十字链表)
    powerDesigner的name和comment转化
    jquery-validate
  • 原文地址:https://www.cnblogs.com/dfyz/p/4881047.html
Copyright © 2011-2022 走看看