一、基本概念

如上图所示:底层PV(物理卷可能是硬盘设备,分区或RAID等),一个或多个PV组织成一个VG(卷组),卷组是不能直接格式化使用的,所以在VG之上,还需要创建LV进行格式化使用。VG在逻辑层面上将每一个PV提供的空间划分成多个PE(physcal Extent,默认4M)来使用, LV根据VG提供的PE数量动态的扩展或缩减大小,VG的空间也可以随着PV的增减进行动态的扩展或缩减。

二、LV基本应用

  1.PV管理工具:
        pvs: 简要pv信息显示
        pvdisplay: 显示pv的详细信息
        pvcreate /dev/DEVICE: 创建pv
        pvremove /dev/PV_NAME:移除PV
  2.VG管理工具:
        vgs: 简要显示vg信息
        vgdisplay:显示vg的详细信息
        vgcreate [-s PE_SIZE[kKmMgGtTpPeE]] VG_NAME /dev/DEVICE : 创建vg
        vgextend VG_NAME /dev/DEVICEE: vg扩展
        vgreduce VG_NAME /dev/DEVICE: 缩减vg,需要先做pvmove
        vgremove /dev/VG_NAME:vg移除
  3.LV管理工具:
        lvs: 简要显示lv信息
        lvdisplay:详细显示lv信息
        lvcreate -L #[mMgGtT] -n LV_NAME VG_NAME : 创建lv
        lvremove /dev/VG_NAME/LV_NAME: 移除lv
      3.1扩展逻辑卷步骤:(支持在线扩展)
            lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME: 扩展物理边界
            resize2fs /dev/VG_NAME/LV_NAME (EXT系列的文件格式):修改逻辑边界           注意:上面的扩展方法只适合ext系列,如果是xfs文件系统的话,需要按如下方法扩容:
            xfs_growfs /dev/VG_NAME/LV_NAME
      3.2缩减逻辑卷步骤:
            umount /dev/VG_NAME/LV_NAME: 先卸载LV
            e2fsck -f /dev/VG_NAME/LV_NAME: 强制检测和修复文件系统        
            resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT]:缩减逻辑边界
            lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME:缩减物理边界
            mount: 重新挂载lv
  4. snapshot
      快照就是某一时刻立即创建一个对原卷文件元数据的监视器,当原卷上文件元数据要变化的时候,先把原文件复制一份到快照卷上,而没有变化的就指向原卷上的文件数据。
      快照的相关命令:
         lvcreate -L #[mMgGtT] -p r -s -n SNAPSHOT_LV_NAME ORIGINAL_NAME: 创建一个只读的快照

三、实例

1: 创建一个至少有两个pv组成的大小为4G的名为testvg的VG,要求PE大小为16MB,而后在卷组中创建大小为3G的逻辑卷testlv,挂载至/users目录
    1. 创建至少两个分区,大小各位2G: /dev/sda3,/dev/sda5,dev/sda6,调整分区id为8e
    2. 创建PV: pvcreate /dev/sda{3,5}
    3. 创建vg: vgcreate -s 16M myvg /dev/sda{3,5}
    4. 创建testlv: lvcreate -L 3G -n testlv myvg
    5. 格式化: mke2fs -t ext4 -b 1024 -L MYLV -m 3 /dev/myvg/mylv  //格式化为ext文件格式
    6. 挂载到/users: mkdir /users, mount /dev/myvg/testlv /users   
2:新建用户archlinux,要求其家目录为/users/archlinux,而后su切换至archlinux用户,复制、etc/pam.d目录至自己的家目录
    1. useradd -d /users/archlinux archlinux
    2. su - archlinux
    3. su root(以root用户身份复制文件)cp -a /etc/pam.d /users/archlinux
3:扩展testlv至5G,要求archlinux用户的文件不能丢失  
    1. 再创建一个2G的PV: pvcreate /dev/sda6
    2. vgextend myvg /dev/sda6  //扩展vg
    3. lvextend -L 5G /dev/myvg/testlv  //扩展lv, 先扩大物理边界
    4. resize2fs /dev/myvg/testlv  //再扩大逻辑边界
4:收缩testlv至3G,要求archlinux用户的文件不能丢失
    1. umount /dev/myvg/testlv  //不支持在线缩减,先卸载
    2. e2fsck -f /dev/myvg/testlv  //强制文件检测
    3. resize2fs /dev/myvg/testlv 3G  //缩减逻辑边界
    4. lvreduce -L 3G /dev/myvg/testlv  //缩减物理边界
    5. mount /dev/testvg/testlv /users  
    6. cd /users/archlinux  //查看archlinux家目录文件是否不受损
5.对testlv创建快照,并尝试基于快照备份数据,验证快照的功能
    lvcreate -s -p r - L 500M -n mysnap /dev/myvg/testlv  // -p r : 快照权限为只读
    mkdir /tmp/backup
    mount /dev/myvg/mysnap /tmp/backup

  

        

LVM基本应用,扩展及缩减实现的更多相关文章

  1. Linux学习笔记之LVM基本应用,扩展及缩减实现

    0x00 LVM概述 LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘 ...

  2. LVM基本应用,扩展及缩减实现!

    LVM概述 [百度百科] LVM是逻辑盘卷管理(LogicalVolumeManager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和 分区之上的一个逻辑层,来提高磁 ...

  3. (转)Linux LVM逻辑卷配置过程详解(创建、扩展、缩减、删除、卸载、快照创建)

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

  4. LVM(2)逻辑卷的扩展、缩减、快照卷

    一.扩展逻辑卷:lvextend   扩展逻辑卷物理边界    -L [+]# /PATH/TO/LV2G, +3G5G

  5. Linux LVM逻辑卷配置过程详解(创建、扩展、缩减、删除、卸载、快照创建)(未完)

    转:http://blog.csdn.net/xuanfeng407/article/details/51465472

  6. LVM 创建分区扩展分区记录

    LVM 原理   图片来自百度百科   测试环境centOS 7                 LVM version:     2.02.115(2)-RHEL7 (2015-01-28)     ...

  7. 逻辑卷lvm创建、扩展、缩小

    系统环境:CentOS Linux release 7.3.1611 (Core) 3.10.0-514.el7.x86_64 CentOS6与7配置方法大同小异.通常是在系统安装的时候创建lvm,然 ...

  8. lvm管理:扩展lv、删除pv、lv等

    从卷组VG里扩展lv.删除pv,并删除物理卷PV 一.扩展LV.缩小LV 1.卸载LV 命令:umount  "挂载目录" 2.扩展LV 命令:lvextend -L +500m  ...

  9. Linux使用lvresize扩展或缩减lv大小

    环境:CentOS 6.7 一.新建并挂载目录 /u01 和 /data 1.创建目录挂节点/u01,/data mkdir -p /{u01,data} 2.创建lv,名称是lv_u01,大小10g ...

随机推荐

  1. 软工网络15团队作业4——Alpha阶段敏捷冲刺1.0

    软工网络15团队作业4--Alpha阶段敏捷冲刺1.0 1. 各个成员在 Alpha 阶段认领的任务,以及整个项目预期的任务量(使用整数表示,与项目预估的总工作小时数一致.比如项目A预估需120小时才 ...

  2. Python 3 -- 数据结构(list, dict, set,tuple )

    看了<Head First Python>后,觉得写的很不错,适合新手.此处为读书笔记,方便日后查看. Python 提供了4中数据结构:list,dict,set,tuple. 每种结构 ...

  3. UITableView 的坑

    1.cell的view和contentView的区别 1.1 addSubView UITableViewCell实例上添加子视图,有两种方式:[cell addSubview:view]或[cell ...

  4. QNetworkAccessManager

    [1]头文件 想要利用QNetworkAccessManager类,必须在pro文件中添加对应库network,如下: QT += network 如果利用的VS + QT开发环境,请参考随笔< ...

  5. Python树形打印目录结构

    前言 这两天整理数据文件的时候发现,一层层的点击文件夹查看很繁琐,于是想写一个工具来递归打印出文件目录的树形结构,网上找了一些资料几乎都是使用的os.walk, 调试了以后发现返回的貌似的是一个“生成 ...

  6. spring 源码导入eclipse

    使用 gradle: ..opensource\v3.: 错误: 程序包org.apache.commons.pool.impl不存在 最后发现是依赖的包commons-pool没有配置.关键是刚用 ...

  7. 大数据权限管理工具 Apache Ranger 初识

    资料参考: Apache Ranger – Introduction http://ranger.apache.org/ 阿里云 Ranger简介 Apache Ranger初识 - 阿里云 大数据权 ...

  8. linux常用命令:rm 命令

    昨天学习了创建文件和目录的命令mkdir ,今天学习一下linux中删除文件和目录的命令: rm命令.rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所 ...

  9. 集合——顶层collection接口(单列集合)

    顶层接口的抽象方法为共性抽取的方法,即所有子类都有都可以用; 创建集合,泛型使用字符床类型String类型, 其中,new的对象,打印对象名应该是一个存储在栈内存中的地址值:这边打印出来是空即 [ ] ...

  10. java获取前一天时间SimpleDateFormat,java判断某个时间段

    java获取前一天时间SimpleDateFormat SimpleDateFormat predf = new SimpleDateFormat("yyyy-MM-dd"); D ...