> Linux命令 >

linux高级文件系统管理之逻辑卷管理

一、什么是LVM
LVM:(Logical Volume Manager)逻辑卷管理器。LVM就是将几个物理的的分区   或磁盘,通过软件组合成为一块看起来是独立的大磁盘(VG),然后将这块大磁   盘再分为可使用的分区(LV:逻辑卷),这些分区(LV)可以扩大或缩小,从而   弹性的调整文件系统的容量。
二、PV、PE、VG、LV
PV:(Physical Volume)物理卷。LVM最底层的就是物理卷,分区需要调整系统    标识符成为8e(LVM的标识符),然后再经过命令pvcreate 转换为PV,之后这    些PV才能够被使用。
VG:(Volume Group)卷组。将多个PV组合到一起就组成了VG。
PE:(Physical Extents)盘区(物理扩展块)。LVM默认使用大小为4MB的  PE  块,PE的个数大小直接决定LV的大小,PE是LV的最小存储单位。
LV:(Logical Volume)逻辑卷。最终的VG会被切成LV,LV就是最后格式化后可    以被使用的分区。
三、逻辑卷创建流程
注:磁盘分区在此不做详细描述。
1.创建PV:磁盘分区后将系统标识符调整8e(LVM的标识符),创建查看PV。
 命令:pvcreate
 语法:pvcreate 设备文件
pvdisplay :查看pv信息
           pvs:查看pv简要信息


        2.创建VG:将多个pv整合成VG
         命令:vgcreate
         语法:vgcreate VG名  [-s PE大小(默认4MB)]  pv1 pv2 …
           vgdisplay:查看vg信息
           vgs:查看vg简要信息
   实例:创建myvg指定PE大小为8MB



        3.创建LV:将VG分区
         命令:lvcreate
         语法:lvcreate -L LV_SIZE -n LV_NAME VG_NAME
         Options: -l 指定PE个数
         lvdisplay:显示LV信息
         lvs:显示lv简要信息


        4.逻辑卷设备文件
          /dev/VG_NAME/LV_NAME
          /dev/mapper/VG_NAME—LV_NAME
        5.格式化逻辑卷
          mkfs -t FSTYPE /dev/VG_NAME/LV_NAME
          mke2fs -t {ext2|ext3|ext4} /dev/ VG_NAME/LV_NAME


       6.挂载逻辑卷
           mount [-tFSTYPE] /dev/VG_NAME/LV_NAME 挂载点




四、VG扩展与缩减
     1.VG的扩展
       首先创建一个新的PV
       命令:vgextend
       语法:vgextend VG_NAME 设备文件
     2.VG的缩减
       确定要移除的PV
       将此PV上的数据转移至其它PV
       命令:pvmove
       语法:pvmove 设备文件
       从卷组中将此PV移除
       语法:vgreduce VG_NAME /PATH/TO/PV


五、逻辑卷扩展
    注:注意命令的局限性。
    首先确定逻辑卷扩展多大
    确定当前逻辑卷所在的卷组有足够的空闲空间;
    扩展:
    1、物理边界
      lvextend -L [+]SIZE /path/to/lv
    2、逻辑边界
       resize2fs /path/to/device


六、逻辑卷缩减
    确定缩减的前提:至少能容纳原有的所有数据。
    1、卸载并强行检测文件系统;
      e2fsck -f
    2、逻辑边界
      resize2fs /path/to/deviceSIZE
    3、物理边界
      lvreduce -L [-]SIZE /path/to/lv
七、LVM系统快照卷
     1.生命周期为整个数据时长;在这段时长内,数据的增长量不能超出快照卷        大小;
     2.快照卷应该是只读的
     3. 跟原卷在同一卷组内
      命令:lvcreate
       Options:
          -s: 快照卷;
        -p r: 限制快照卷为只读访问
      语法:lvcreate -L SIZE -s -p r -n LV_SNAP_NAME /path/to/lv




八、卷组与逻辑卷的移除
1.卷组的移除
命令:vgremove
语法:vgremove VG_NAME
  2.逻辑卷的移除
命令:lvremove
语法:lvremove /path/to/lv

(责任编辑:IT)