LVM简介

LVM (logical volume manager)逻辑卷管理的简写,可以动态增加或减小逻辑卷的大小。

术语介绍

  • 物理存储介质(Physical Storage Media)
    通常指硬盘
  • 物理卷 (Physical Volume,PV)
    是LVM基本的分配单元,1个PV可以包含1个或多个物理磁盘分区分,1个PV只能属于1个VG。
  • 卷组 (Volume Group,VG)
    VG由1个或多个PV组成,可以在同一个VG上创建多个LV。卷组就像一个资源池,其大小也可以动态增加和减小,创建VG后可以指定PE大小。
  • 逻辑卷 (Logical Volume,LV)
    LV建立在VG之上,LV不能跨VG创建,1个LV只能从1个VG中创建,LV类似于磁盘分区可以被格式化来使用。
  • 物理块 (Physical Extent,PE)
    每一个物理卷PV被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。所以物理卷(PV)由大小等同的基本单元PE组成。
  • 逻辑块 (Logical Extent,LE)
    逻辑卷LV也被划分为可被寻址的基本单位,称为LE。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。

LVM基础命令

PV命令

  • 创建pv:
    pvcreate PhysicalVolume [PhysicalVolume...]
  • 移除pv:
    pvremove PhysicalVolume [PhysicalVolume...]
  • 查看PV:
    pvs | pvdisplay

VG命令

  • 创建VG:
    vgcreate -s pe大小 VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
  • 扩展VG:
    vgextend VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
  • 减小VG:
    vgreduce VolumeGroupName[PhysicalVolumePath...]
  • 查看VG:
    vgs | vgdisplay

LV命令

  • 创建LV:
    lvcreate -L 大小 -n VolumeGroupName [PhysicalVolumePath...]
  • 扩展LV:
    lvextend -L [+]大小 LogicalVolume[Path] [ PhysicalVolumePath... ]
  • 减小LV:
    lvreduce -L [-]大小 LogicalVolume[Path]
  • 删除LV:
    lvremove LogicalVolume[Path] [LogicalVolume[Path]...]
  • 查看LV:
    lvs | lvdisplay

LVM操作实例

创建步骤

  1. 创建磁盘分区并指定LVM磁盘类型:

    fdisk /dev/sdb

    n

    t 8e

    w

    partprobe
  2. 创建PV:

    pvcreate /dev/sdb5 /dev/sdb6
  3. 创建VG:

    vgcreate -s 16M vgdata1 /dev/sdb5
  4. 创建LV:

    lvcreate -L 100M -n lvdata1 /dev/sdb5
  5. 格式化LV:

    mkfs.ext4 /dev/vgdata1/lvdata1

    mkfs.xfs /dev/vgdata1/lvdata1/
  6. 挂载LV:

    mount /dev/vgdata1/lvdata1/ /lvm_home/

扩展步骤

  1. 扩展VG:

    VG的扩展其实就是将空闲的磁盘分区添加到现在VG中,如果现有VG容量充足可忽略此步。

    vgextend vgdata1 /dev/sdb6
  2. 扩展LV:

    LV的扩展是将现有VG的空闲容量增加到LV中

    lvextend -L +100M /dev/vgdata1/lvdata1
  3. 更新LV大小:

    ext文件系统:resize2fs /dev/vgdata1/lvdata1

    xfs文件系统:xfs_growfs /dev/vgdata1/lvdata1
  4. 查看结果:

    df -Th

减小步骤

  1. 减小VG:

    减小VG就是将物理磁盘分从VG中移除,所有数据会丢失。

    vgreduce vgdata1 /dev/sdb6
  2. 减小LV:
    • 卸载挂载点:

      umount /lvm_home
    • 缩减逻辑边界:

      resize2fs 缩减到的大小 /dev/vgdata1/lvdata1
    • 缩减物理边界:

      lvreduce -L 缩减到的大小 /dev/vgdata1/lvdata1
    • 检测文件系统:

      e2fsck -f /dev/vgdata1/lvdata1
    • 挂载设备并查看大小:

      mount /dev/vgdata1/lvdata1 /lvm_home/

      df -Th

注意:减小有风险,且XFS文件系统不支持缩减

lvm基本管理的更多相关文章

  1. Linux LVM硬盘管理及LVM扩容

    LVM磁盘管理 一.LVM简介... 1 二. LVM基本术语... 2 三. 安装LVM... 3 四. 创建和管理LVM... 4 2. 创建PV.. 6 3. 创建VG.. 7 4. 创建LV. ...

  2. LVM磁盘管理

    http://www.cnblogs.com/gaojun/archive/2012/08/22/2650229.html Linux LVM硬盘管理及LVM扩容 LVM磁盘管理 一.LVM简介... ...

  3. [转载]Linux LVM硬盘管理及LVM扩容

    最近项目中一直在用Linux,其中涉及到了Linux的LVM,本来想自己写一篇关于LVM的文章,搜了一下,发现了一篇更好的,转载过来,也感谢作者gaojun 原文Linux LVM硬盘管理及LVM扩容 ...

  4. Linux LVM硬盘管理及LVM分区扩容

    LVM磁盘管理 一.LVM简介... 1 二. LVM基本术语... 2 三. 安装LVM... 3 四. 创建和管理LVM... 4 2. 创建PV.. 6 3. 创建VG.. 7 4. 创建LV. ...

  5. Linux LVM硬盘管理之一:概念介绍

    一.LVM概念介绍: LVM是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz Mauelshagen在Linux 2.4内核上实现.LVM将一个或多个硬盘的分区在逻 ...

  6. linux LVM 磁盘管理

    一.linux LVM 管理及创建步骤 步骤:1.创建pv—2.创建vg—3.将pv加入vg—4.在vg中创建lv—5.将lv分区格式化—6.将lv分区挂载到某个目录使用 1.创建PV [root@z ...

  7. Linux LVM分区管理、扩展

    一.LVM简介 LVM是 Logical Volume Manager(逻辑卷管理)的简写.LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它 ...

  8. Linux LVM硬盘管理及LVM扩容【转】

    原文地址:http://www.cnblogs.com/gaojun/archive/2012/08/22/2650229.html 一.LVM简介 LVM是 Logical Volume Manag ...

  9. LVM分区管理和扩展

    一.LVM简介 LVM是 Logical Volume Manager(逻辑卷管理)的简写.LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它 ...

随机推荐

  1. (14)线程- Event事件和守护线程Daemon

    <一>Event事件 线程Event基本和进程的Event语法是一样的 # wait() 动态给程序加阻塞 # set() 将内部属性改成True # clear() 将内部属性改成Fal ...

  2. Http头:Expires,Cache-Control,Last-Modified,ETag

    Expires:过期时间          el:Expirse:Fri,30 Oct 1998 14:19:41 Cache-Control:缓存控制         el:Cache-Contro ...

  3. 5、SAMBA服务一:参数详解

    ①:SAMBA服务一:参数详解 ②:SAMBA服务二:配置实例 一.SAMBA简介 samba指SMB(Server Message Block,服务器信息块)协议在网络上的计算机之间远程共享Linu ...

  4. Flask之勾子,错误捕获以及模板语法

    请求勾子 在客户端和服务器交互的过程中,有些准备工作或扫尾工作需要处理,比如: 在请求开始时,建立数据库连接: 在请求开始时,根据需求进行权限校验: 在请求结束时,指定数据的交互格式: 为了让每个视图 ...

  5. jquery+jquery.rotate实现图片旋转效果

    首先要下载jquery.min.js 和jquery.rotate.js文件 1.下载地址: https://www.jb51.net/jiaoben/554113.html 2.导入文件 <s ...

  6. python之路---面向对象编程(二)

    类的继承 1.在python3中,只有新式类,新式类的继承方式为:广度优先.而python2中,经典类的继承方式为:深度优先.那么我们来看看深度优先和广度优先的区别吧 如下图,为类之间的继承关系.B, ...

  7. lenet-5,Alexnet详解以及tensorflow代码实现

    http://blog.csdn.net/OliverkingLi/article/details/73849228

  8. javascript 跨域请求详细分析(终极跨域解决办法)

    自从我接触前端以来,接手的项目里面很大部分都是前后端分离的,后端只提供接口,前端根据后端接口渲染出实际页面.个人觉得这是一个挺好的模式,前后端各自负责各自的模块,分工明确,而且也给前端更大的发挥空间. ...

  9. 第二章:深入分析java I/O的工作机制

    .2.1 java的I/O类库的基本架构 I/O的机器获取和交换信息的主要渠道,在当今数据大爆炸时代,I/O问题尤其突出,很容易成为一个性能瓶颈,Java在I/O上也一直做持续的优化,现在也引入了NI ...

  10. C#获取文件目录

    Form1.cs using System;using System.Collections.Generic;using System.ComponentModel;using System.Data ...