zoukankan      html  css  js  c++  java
  • Linux中LVM逻辑卷管理

    一.简介

        LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区 进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。
    LVM最大的特点就是可以对磁盘进行动态管理。使用了LVM管理分区,动态的调整分区的 大小,标准分区是做不到的!

    二.LVM包含的组件

        PV(Physical Volume) 物理卷 

        物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘,也可以是raid设备。 

       VG(Volume Group)    卷组

        卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添 加物理卷到卷组中。

         一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组。 
       LV(Logical Volume) 逻辑卷

       逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后 可以动态地扩展和缩小空间。
       系统中的多个逻辑卷可以属于同一个卷组,也可以属于不同的多个卷组。
       PE(Physical Extent) 物理块

       PE是整个LVM 最小的储存区块,默认每个PE区块是4MB大小,也就是说,其实我们的数 据都是由写入PE 来处理的。简单的说,这个PE 就有点像文件系统里面的block 大小。
    三.建立 LVM 的步骤: 

    要有新的物理盘或者分区
    把物理分区/或整个磁盘建立成为物理卷(PV)
    把物理卷整合成为卷组(VG)。卷组就已经可以动态的调整大小了,可以把 物理卷PV加入卷组,实现扩容
    把卷组再划分成为逻辑卷(LV),当然逻辑卷也是可以直接调整大小的。 对于上层应用或者用户来说逻辑卷就是分区,所以也需要格式化和挂载。
    创建简化: 分区 创建pv 创建vg 创建lv 格式化 挂载
    删除简化: 卸载 删除lv 删除vg 删除pv
    创建PV #pvcreate 
    例:pvcreate /dev/sdb1
    删除PV #pvremove
    例:pvremove /dev/sdb1
    pvdisplay #查看pv
    

      

    创建VG #vgcreate
    例: vgcreate vg1 /dev/sdb1
    删除VG vgremove vg1 /dev/sdb1
    例:vgremove 
    vgdisplay #查看vg
    常用选项:
    -s PE 大小:指定 PE 的大小,单位可以是 MB,GB,TB 等。如果不写默认 PE 大小事 4MB,一般不改
    vgdisplay #查看VG 
    

      

    创建LV #lvcreate
    例:lvcreate -L 5G -n lv1 vg1 #创建一个5G的lv1 
    删除LV #lvremove
    例:lvremove -L 5G -n lv1 vg1
    常用选项:
    -L 容量:指定逻辑卷大小,单位 MB,GB,TB 等
    -l 个数:按照 PE 个数指定逻辑卷大小
    -n 逻辑卷名:指定逻辑卷名
    

      

    lvs 格式化LV mkfs.xfs /dev/vg0/lv1 
    挂载 mkdir /mnt/lv1
    mount /dev/vg0/lv1 /mnt/lv1/
    

      

    四.LVM的扩容

        LVM最大的好处就是可以对磁盘进行动态管理,而且不会丢失现有的数据。 如果lv1的使用量达到了80%,需要扩容,那么 VG的先扩容
    增加PV,然后将新的PV添加到VG中
       VG的扩容 vgextend vg1 /dev/sdc1 卷组vg1扩大
       LV的扩容
       查看vg1 的剩余容量,决定好扩容多少 对lv1进行扩容。
        # lvextend -L +1G /dev/vg1/lv1 有+:原有的基础质上增加1G
       # lvextend -L 30G /dev/vg1/lv1 没有+:容量改变到30G 
    五.LVM的缩小
        命令: vgreduce lvreduce
    注意:我们一般情况下,都是对磁盘进行扩容,缩减没的什么实际意义.

  • 相关阅读:
    MyBatis源码分析-IDEA新建MyBatis源码工程
    MyBatis源码分析-SQL语句执行的完整流程
    揭开C++类中虚表的“神秘面纱”
    MyBatis源码分析-MyBatis初始化流程
    由一个多线程共享Integer类变量问题引起的。。。
    Java Web之Servlet技术
    Java内存模型与垃圾回收
    Java Web之会话技术
    Spring学习之第一个AOP程序
    Java Web之JSP技术
  • 原文地址:https://www.cnblogs.com/t-ym/p/11616930.html
Copyright © 2011-2022 走看看