一、概念性的东西

LVM2:Logical Volume Manager ,Cersion 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

    

    

    

    

  

  

linuxLVM的更多相关文章

  1. Linux----LVM扩容磁盘空间

    Linux系统LVM扩容一个分区相对于Windows来说没有那么直观,但是熟悉命令后,扩容起来也是蛮方便的. 扩容场景如下: [root@rhel06 ~]# df -Th Filesystem Ty ...

  2. Linux-lvm逻辑卷管理和提示丢失pv物理卷

    问题描述: 有次在使用lvm扩容的时候,整错了,导致显示如下情况 提示缺少一个pv导致无法继续,pvdisplay的时候查看到unknown 使用pvs查看找到pvname的unknown对应群组ce ...

  3. Linux----LVM扩容磁盘空间(讲的也很好)

    转:https://www.cnblogs.com/tail-f/p/6143085.html

  4. linuxLVM之LV扩大和缩小容量(非xfs文件系统)

    LVM的基础请见:https://www.cnblogs.com/wxxjianchi/p/9698089.html 一.放大LV的容量.放大容量是由内而外来操作的. 1.设置新的lvm分区:用fdi ...

  5. linux-LVM磁盘扩容

    查看磁盘 [ops@stock_kline_database ~]$ sudo fdisk -l 磁盘 /dev/sda: 字节, 个扇区 Units = 扇区 of * = bytes 扇区大小(逻 ...

  6. LVM pvcreate,vgcreate,lvcreate,mkfs

    首先介绍LVM的几个概念:     1. 物理卷Physical volume (PV):可以在上面建立卷组的媒介,可以是硬盘分区,也可以是硬盘本身或者回环文件(loopback file).物理卷包 ...

  7. Linux下逻辑卷创建与管理

    用虚拟机加一块硬盘后,查看硬盘状况,使用fdisk-l命令: [root@jerrybj ~]# fdisk -l Disk /dev/sda: 21.4 GB, 21474836480 bytes ...

  8. Linux-逻辑卷LVM

    LVM逻辑卷管理器 为什么要使用逻辑卷? 逻辑卷管理器是Linux系统用于对硬盘分区进行管理的一种机制,为了解决硬盘设备在创建分区后不易修改分区大小的缺陷.尽管对传统的硬盘分区进行强制扩容或缩容从理论 ...

  9. Linux中对逻辑卷的建立

    大体上与主分区的建立相同,只有一些不同. 建议大家先看下我的“Linux中安装硬盘后对硬盘的分区以及挂载”  https://www.cnblogs.com/feiquan/p/9219447.htm ...

随机推荐

  1. Kafka消费者 从Kafka中读取数据并写入文件

    Kafka消费者 从Kafka中读取数据 最近有需求要从kafak上消费读取实时数据,并将数据中的key输出到文件中,用于发布端的原始点进行比对,以此来确定是否传输过程中有遗漏数据. 不废话,直接上代 ...

  2. 随机数产生器:Random.Next

    Random类是一个产生伪随机数字的类,它的构造函数有两种,一个是直接New Random(),另外一个是New Random(Int32),前者是根据触发那刻的系统时间做为种子,来产生一个随机数字, ...

  3. Unity5-ABSystem(四):AssetBundle依赖

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/lodypig/article/detai ...

  4. 第三十四章 POSIX消息队列

    POSIX消息队列相关函数 mq_open 功能: 用来创建和访问一个消息队列 原型: mqd_t mq_open(const char *name, int oflag); //只能用来打开消息队列 ...

  5. 第三十三章 System V共享内存与信号量综合

    用信号量解决生产者.消费者问题 实现shmfifo ip.h #ifndef _IPC_H #define _IPC_H #include <unistd.h> #include < ...

  6. 第二十九章 System V共享内存

    共享内存数据结构 共享内存函数 shmget int shmget(key_t key, size_t size, int shmflg); 功能: 用于创建共享内存 参数: key : 这个共享内存 ...

  7. 【ARC064-F】【XSY2575】Rotated Palindromes(DP)(字符串)

    Description 然而,由于小C沉迷于制作游戏,他完全忘记了自己作为国家集训队的一员,还有156道作业题等他完成.还有一天作业就要截止了,而他一题还没有做.于是他赶紧挑了一道看起来最简单的题: ...

  8. 学习笔记50_mongodb

    MongoVUE,MongoDB可视化客户端: 添加一个连接: 数据库下就是集合. 实际上是json数据的集合 Mongodb->数据库->文档集合:相当于表->文档:相当于表里面的 ...

  9. 基于node的前端项目代码包发布至nexus

    目录 目录... 3 1. 前言... 1 2. 配置... 1 2.1. 配置angular.json文件... 1 2.2. 配置package.json文件... 1 2.3. 复制git地址. ...

  10. Java学习总结之方法重载和方法重写

    在学习方法的阶段我学习了方法重载(Overload),而在学习面向对象三大特性之继承的时候我又学习了方法重写(Override).   概念: 方法重载:在同一个类中,允许存在一个以上的同名方法,只要 ...