RHEL6.5 LVM使用解析

Linux用户在安装操作系统时,会遇到的一个常见问题就是如何正确地评估各分区大小,以便划分合适的硬盘空间。普通的磁盘分区管理方式在各分区划分好后就无法改变其大小,而当一个逻辑分区存放不下某个文件时,这个文件因为受上层文件系统的限制,也不能跨越多个分区来存放,所以也不能同时放到别的磁盘上。或遇到某个分区空间快耗尽时,解决的方法通常是使用符号链接,或者新建目录外挂分区以及使用调整分区大小的工具,但这只是暂时解决办法,没有从根本上解决问题。其实在Linux下,利用LVM,这些问题都可以迎刃而解,用户在无需停机的情况下就可以方便地调整各个分区大小。

一、LVM命令简介

LVM(Logical Volume Manager)是一个应用于Linux的内核的逻辑卷管理器,是Linux环境下对磁盘进行分区管理的一种机制。
  LVM中需要知道的名词:
  1、PV(物理卷)可以是一个磁盘,一个分区。由PE(物理盘区)组成,多个PV可以组成一个VG(卷组).
  2、VG(卷组)是多个物理卷组成的一个组,但是卷组不可以直接使用,需要在上面创建LV(逻辑卷)才可以使用。VG上可以创建多个LV。
  3、PE(物理盘区)就像我们之前学习的磁盘的block块,默认是4MB。
  4、LV(逻辑卷) 是建立在卷组之上的一个可用空间。有物理边界和逻辑边界两种边界。

二、相关命令介绍

1、物理卷PV
      pvcreate  创建pv              例:pvcreate /dev/sda1
      pvs      查看pv信息          例:直接在命令行里输入pvs
      pvdisplay  查看pv详细信息      例:pvcreate /dev/sda1
      pvmove    将pv数据移动到其他pv  例:pvmove /dev/sda1 /dev/sda4
      pvremove  将pv删除            例:pvremove /dev/sda1
 2、卷组VG
      如何创建、查看、删除vg
      vgcreate  创建vg            例:vgcreate myvg  /dev/sda{m,n}
      vgs        查看vg信息      例:直接在命令行里输入vgs
      vgdisplay  查看vg详细信息      例:vgdisplay myvg
      vgremove  将vg删除            例:vgremove myvg
      如何扩展vg
      首先准备好一个PV;
      然后使用vgextend 命令即可完成扩展;
      格式: vgextend VG_NAME /PATH/TO/PV
          vgextend testvg /dev/sdb2 扩展myvg卷组,把/dev/sda2加进去
      如何缩减vg
      1)确定要移除的PV;
      2)将此PV上的数据转移至其它PV;
        pvmove /path/ to /pv
      3)从卷组中将此PV移除;
        格式:vgreduce VG_NAME /PATH/TO/PV
        vgreduce testvg /dev/sdb2 缩减myvg卷组,把/dev/sda2去掉
 3、逻辑卷LV
      如何创建、查看、删除lv
      lvcreate  创建lv              例:lvcreate lv1 /dev/myvg
      lvs      查看lv信息          例:直接在命令行里输入lvs
      lvdisplay  查看lv详细信息      例:vgdisplay lv1
      lvremove  将lv 移除            例:lvremove  /dev/myvg/lv1
      如何扩展lv

确定需要扩展多大空间

确定当前逻辑卷所在的卷组是否有足够的空闲空间;

扩展举例:
1、物理边界
lvextend -L [+]SIZE /path/to/lv
2、逻辑边界
resize2fs /path/to/device


如何缩减lv
确定缩减的大小,但前提是至少能容纳原有的所有数据。
缩减:
1)卸载并强行检测文件系统;
umount /path
e2fsck -f
2)逻辑边界
resize2fs /path/to/device SIZE
3)物理边界
lvreduce -L [-]SIZE /path/to/lv


4、快照卷
1) 生命周期为整个数据时长;在这段时长内,数据的增长量不能超出快照卷大小;
2) 快照卷应该是只读的;
3) 跟原卷在同一卷组内;
    lvcreate
        -L    指定快照卷的大小
        -s    创建快照卷
        -p r  创建的快照卷为只读访问
    格式:
        lvcreate -L SIZE -s -p r -n LV_NAME /path/to/lv

三、lv之示例

1、创建一个分区

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/3e341af9337c96990f1720134e3d3bcd.html