我们先来看一下这张图片:

PV: 底层的一个硬盘设备,可以是一个分区,也可能是一个RAID。我们可以把这个块设备创建成一个物理卷格式,即一个PV。

VG: 将一个或多个PV提供的存储空间在一个更低的单位上划分成一个个独立的存储单元,并且把这些存储单元合成一个较为高层的组件叫做卷组vg;

       其中vg可以包含多个物理卷。我们这里可以看到vg有点类似于扩展分区,这种格式的分区是没有办法创建文件系统的,必须要它划分成逻辑分区。

LV: 在vg的基础上再次创建LV的组件,LV才是真正意义上的逻辑卷。每一个LV逻辑卷都是一个独立的文件系统,可以被格式化挂载使用,LV的大小可以是vg内的任意大小空间;

       lv可以支持动态扩展的,当存储空间不够时,可以再添加pe,当空间足够时,可以删除的多余的pe,并且这个过程是不损害lv当中原有的数据的,lv的大小可以动态扩展跟收缩。

PE: vg会在一个逻辑层次上将每一个pv所提供的物理空间划分成固定大小的PE.(物理盘区),然后在vg上面创建lv,所为创建lv的过程就是指定一定数量的pe来组成逻辑存储单元的过程。

pv管理工具:

pvs:简要显示pv的信息

pvdisplay:显示pv的详细信息

pvcreate  /dev/DEVICE:创建PV

vg管理工具:

vgs:简要显示vg的信息

vgdisplay:显示vg的详细信息

vgcreate  卷组名  /dev/DEVICE:创建vg

vgextend  VolumeGroupNam  PhysicalDevicePath:  扩展vg

vgreduce  VolumeGroupNam  PhysicalDevicePath:  缩减vg

备注:这里我们要注意在缩减前先做pvmove进行物理层次的缩减即PV的缩减

lv管理工具:

lvs:简要显示lv的信息

lvdisplay:显示lv的详细信息,路径为/dev/卷组名称/卷组

lvcreate -L  [大小MGT]  -n NAME VolumeGroup(vg名称)

lvcreate -L 128M  -n mylv myvg

lvremove  /dev/VG_NAME/LV_NAME:删除逻辑卷

扩展逻辑卷:

lvextend -L  [+]MGT  /dev/VG_NAME/VL_NAME

resize2fs   /dev/VG_NAME/LV_NAME 只适用于ext文件系统

缩减逻辑卷:(缩减后的空间一定要能容纳现有所有的数据)

umount  /dev/VG_NAME/LV_NAME

e2fsck -f /dev/VG_NAME/LV_NAME

resize2fs /dev/VG_NAME/LV_NAME   [MGT] 缩减文件系统

lvreduce -L [-]MGT /dev/VG_NAME/LV_NAME 缩减逻辑卷

mount  /dev/VG_NAME/LV_NAME 挂载

接下来我们用一个示例来讲解一下逻辑卷的创建与管理

首先我们新添加一块磁盘/dev/sdb

然后创建三个5G的分区,磁盘格式设置为LVM格式,并为其创建ext4文件系统

partprobe /dev/sdb:通知内核重新读取磁盘

接下来我们创建一个PV

pvcreate /dev/sdb1

这里我们可以使用pvdisplay查看一下

接下我们创建一个vg

vgcreate  myvg  /dev/sdb1

如果不制定大小的话,默认创建出来的vg卷中的PE大小为4M,想要为PE指定大小可以使用-s选项

vgcreate -s 10 myvg  /dev/sdb1

这样创建出来的PE大小为10M 

注意:如果我们想要删除次卷组可以使用命令vgremove

例如删除刚刚创建的myvg卷组

vgremove  myvg

我们现在可以将第一个逻辑分区添加到刚刚创建好的myvg中

pvcreate /dev/sdb5

vgextend myvg  /dev/sdb5

如果我们想要缩减vg卷组,首先我们要将卷组中想要移除pv中的数据移到卷组中其它的pv上面,然后在缩减

pvmove /dev/sdb5

vgreduce  myvg  /dev/sdb5

现在我们来创建一个名称为mylv的逻辑卷

lvcreate -L 2G -n mylv myvg

对逻辑卷进行格式化并挂载到/mnt/test目录上

mke2fs  -t  ext4  /dev/myvg/mylv

mount /dev/myvg/mylv   /mnt/test

这时候这个逻辑卷分区就可以正常使用了,我们复制一个文件做一下测试

cp /etc/fstab   /mnt/test

扩展逻辑卷

lvextencet  -L 5G  /dev/myvg/mylv

并重新出创建文件系统

resize2fs   /dev/myvg/mylv

备注:resize2fs命令只适用于ext文件系统类型,如果是xfs,btrfs文件系统则需要使用别的命令

设置开机自动挂载

在/etc/fstab文件中添加

/dev/myvg/mylv   /mnt/test    ext4  defaults   0  0  

缩减逻辑卷

先缩减文件系统到指定大小

第一步:先卸载文件系统

umount  /dev/myvg/mylv

第二步:e2fsck -f /dev/myvg/mylv做文件系统的强制检测文件系统修复

e2fsck -f /dev/myvg/mylv

第三步:resize2fs   /dev/myvg/mylv  #[mg]

resize2fs   /dev/myvg/mylv 3G

lvreduce -L 3G  /dev/myvg/mylv

这样我们就完成了对逻辑卷的缩减

上述所有内容就是对逻辑卷管理的一些概述与操作。

转载于:https://blog.51cto.com/11970509/2316064

LVM逻辑卷详解及创建相关推荐

  1. linux逻辑卷的作用,Linux LVM逻辑卷详解

    之前有新人问我LVM是什么鬼?我说是鸡蛋卷啊!开个玩笑啊,LVM是逻辑卷的意思. 可不能小看这个LVM的作用,它的用途重要着嘞! 下面我来科普一下LVM到底有什么作用: 要弄明白逻辑卷的作用,首先要熟 ...

  2. VDO使用LVM逻辑卷作为后端设备创建XFS文件系统在线添加磁盘扩容操作过程(推荐)

    VDO使用LVM逻辑卷作为后端设备创建XFS文件系统在线添加磁盘扩容操作过程(推荐) 0.服务器环境信息 192.168.111.192    CentOS 7 安装vdo和kmod-kvdo软件包: ...

  3. linux(4):Linux逻辑卷详解总结

    LVM是逻辑卷管理(Logical Volume Manager)的简称,它是建立在物理存储设备之上的一个抽象层,允许你生成逻辑存储卷,与直接使用物理存储在管理上相比,提供了更好灵活性. LVM将存储 ...

  4. linux篇-Linux逻辑卷详解总结

    LVM是逻辑卷管理(Logical Volume Manager)的简称,它是建立在物理存储设备之上的一个抽象层,允许你生成逻辑存储卷,与直接使用物理存储在管理上相比,提供了更好灵活性. LVM将存储 ...

  5. VDO使用LVM逻辑卷作为后端设备创建XFS文件系统在线添加磁盘扩容操作过程

    1.创建 创建lvm pvcreate /dev/sdb pvcreate /dev/sdc pvcreate /dev/sdd vgcreate myvg /dev/sdb /dev/sdc/ de ...

  6. Linux LVM逻辑卷配置过程详解(创建,增加,减少,删除,卸载)

    Linux LVM逻辑卷配置过程详解(创建,增加,减少,删除,卸载) Linux LVM逻辑卷配置过程详解 许多Linux使用者安装操作系统时都会遇到这样的困境:如何精确评估和分配各个硬盘分区的容量, ...

  7. linux删除配置信息,Linux LVM逻辑卷配置过程详解(创建、扩展、缩减、删除、卸载、快照创建)...

    一.预备知识 LVM全称为Logical Volume Manager逻辑卷管理器,LVM是Linux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上.文件系统之下的一个逻辑层,可提高磁盘分 ...

  8. Linux--管理LVM逻辑卷 --原理+命令双结合(LVM的概述与建立,LVM的管理命令,LVM的应用步骤,磁盘配额的详解)

    Linux--管理LVM逻辑卷 --原理+命令双结合(LVM的概述与建立,LVM的管理命令,LVM的应用步骤,磁盘配额的详解) 前言 一:LVM概述 1.1:PV(Physical Volume,物理 ...

  9. LVM逻辑卷,LVM管理工具集,LVM创建逻辑卷,调整现有磁盘的分区,使用逻辑分区做逻辑卷,扩展卷组大小,扩展逻辑卷的大小

    一.什么是LVM逻辑卷 LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它由Heinz Mauelshagen在Linux ...

最新文章

  1. 拯救尴尬:鉴黄神器NSFW JS开源了!
  2. c++强大还是python强大-如果C++很强大,为什么它不及Java、Python流行?
  3. golang中的可见性
  4. CSS 字体、边框阴影
  5. Lucene:QueryParser
  6. mybatis一级缓存二级缓存
  7. cad图层管理插件_设计大神CAD常用七个插件你会用几个?
  8. nodejs入门学习笔记一——一个完整的http路由服务实现
  9. RMQ(求区间最值问题)
  10. 【零基础学Java】—Scanner类的使用( 十)
  11. 即将涨价 | 带学《机器学习》西瓜书+带打天池和达观杯AI大赛
  12. 你必须具有权限才能读取此对象_为啥手机APP要获取权限?这些权限不能随便同意...
  13. NOIP数学学习笔记 Sakura_xyz
  14. python手机版下载-手机python下载
  15. 计算机打开查看方式默认是什么样,如何更改win10系统电脑图片的查看方式 怎么将电脑图片查看方式改成缩略图...
  16. linux内核函数 ffs,linux内核中的宏ffs(x)
  17. 环境类sci期刊排名一区_计算机类期刊推荐:EI期刊求毕业,SCI大佬止步
  18. Sql Server身份验证登录配置
  19. Flutter低版本升级NullSafety
  20. 腾达Tenda路由器中继wifi步骤

热门文章

  1. 文件被后台程序占用无法删除_win10重装后系统占用50G?只要做好这2步,运行比win7还快...
  2. python数据处理模块pandas_13. Python|模块总结:Pandas(数据处理)|【老W笔记】...
  3. php-fpm 配置文件位置,php
  4. java中集合类的转换_Java中的两个常用工具类及集合数组的相互转换
  5. idea创建springboot项目+mybatis_Spring Boot + MyBatis 多模块项目搭建教程
  6. java set去重复元素_java List去掉重复元素的几种方式
  7. Sublime Text官方文档 中英文版本
  8. 关于Unity中的声音管理模块(专题七)
  9. JAVA类的构造方法
  10. 典型案例道出“服务台”的价值