创建,扩展,缩减LVM2及快照

  • 相关概念

    lvm英文 Logical Volume Manager,逻辑卷管理类似于raid,但又有别于raid, 它是能够将一个或多个底层块设

    备组织成一个逻辑设备的模块不具备容错功能,任一设备损坏或分区损坏,对数据是致命的;它主要有三个部分

    组成,分别是pv,vg和lv。

        PV:Physical Volume物理卷,组成LVM的最底层的元素,也可理解为物理分区,但构建lvm不能直接使用               Linux物理分区,得先将物理分区期转化为最小单位pv,使用pv管理工具pvcreate /dev/DEVICE

        VG:Volume Group卷组,将每个独立的PV组合起来形成的一个存储空间就称为VG,在一个VG空间中可以构

            建多个逻辑卷,即LV,创建VG使用vgcreate  [-                

            s [kKmMgGtTpPeE]] VolumeGroupName  PhysicalDevicePath [PhysicalDevicePath…]

        LV:Logical Volume逻辑卷,在VG的存储空间中取一段空间用来构建LV,它的空间依赖是VG,也就是说如

            果要扩展LV,首先是得保证VG的物理卷组是不是有足够的空间。创建完成之后这个LV便可以使用,可

            以创建文件系统,可以挂载,直接当一个普通分区来使用,命令 lvcreate -L #[mMgGtT] –

             n NAME VolumeGroup

        PE:Physical Extent物理扩展块,基于物理卷组是LVM的最小存储单位,默认为4M,在创建VG的时候

            VGCREATE -s是指定设置单个PE的存储单位为多大

blob.png

  • 创建LVM

    1.第一步首先创建PV,必须要有空闲的分区,如没有,则相应的创建,如图,我在我自己的机器上创建了2个类型为LVM的分区,/dev/sda5和/dev/sda6 

blob.png

    2.在分区的基础上创建PV,命令:pvcreate /dev/sdc{5,6}

blob.png

    3.创建VG,将创建的PV组合成一个物理卷组,在这里可以指定最小单位块的大小,也就是PE的大小,例如创建一个PE大小为8Mb的VG。命令:vgcreate -s 8M vgname /dev/sdc{5,6},使用vgs可以简略的显示创建vg的情况,使用vgdisplay可以详细显示

blob.png

    4,创建LV,在步骤3中,我总共创建的VG物理卷组的大小是20G,因此,我构建逻辑卷的空间范围只有20G,可以在20G的范围内创建多个LV,例如我再创建2个LV分别是18G和2G,使用命令:lvcreate -L 18G -n lvname1 /dev/vgname 和lvcreate -L 2G -n lvname2 /dev/vgname,如下图,可以看到当我创建完一个18G的lv之后再创建12G的明显空间不够了

blob.png

    5.一个完整的逻辑分区已经创建完成了,为了能正常使用,还必须给这个逻辑分区创建文件系统,然后挂载,我以18G的lvname1为例,使用命令:mke2fs -t ext4 /dev/vgname/lvname1 ,以及挂载且重启自动挂载,在/etc/fstab上添加规则,然后mount -a自动挂载/etc/fstab中的项,至此,一个完整的LVM搭建完成

blob.png

blob.png

blob.png

  • 扩展LVM

    之前创建lv的时候,空间我已经使用完了,因此如果要扩展LVM则需先删掉之前创建的lvname2,使用命令:

    lvremove /dev/vgname/lvname2,然后拓展lvextend -L +2G /dev/vgname/lvname1,虽然此时的逻辑卷的空间已

    经增加了,但是文件系统认到的空间系统还是之前的8G,因此文件系统也相应的要更新resizefs 

    /dev/vgname/lvname    1

blob.png

blob.png

  • 缩减KVM

    缩减KVM主要分四步,1卸载装载在lv上的文件系统,2强制检查修复文件系统,3调整文件系统边界,4缩减LV,5

    重新挂载,下面我就来演示一下

    1.卸载文件系统:命令  umount /dev/vgname/lvname1

    2.强制检查修复文件系统  命令:e2fsck -f /dev/vgname/lvname1

    3.调整文件系统边界   命令:resize2fs /dev/vgname/lvname1 18G

blob.png

    4.缩减LV  命令:lvreduce -L -2G /dev/vgname/lvname1

blob.png

    5.重新挂载  mount -a

  • 快照

    基于将已经创建好的LVM并且已经正常使用的文件系统的数据做一次快照,重新挂载到另外的文件夹中用于备份

    及查看。命令:lvcreat -L +1G -p r -s -n lvname_snap /dev/vgname/lvname1

    1.首先查看原挂载到/users的lvm文件系统都有哪些文件然后据此作快照

blob.png

    2.创建快照并挂载到/mnt,然后可以看到/mnt文件夹中所有的内容便是快照发生的此刻原lvname1文件系统中的文件,如果再后面继续往lvname1中修改增加文件,快照文件夹/mnt是不变的

blob.png

原创文章,作者:东里西里,如若转载,请注明出处:http://www.178linux.com/11322

(1)
东里西里东里西里
上一篇 2016-02-14 09:55
下一篇 2016-02-14 10:00

相关推荐

  • 浅谈编译kernel+busybox构建拥有远程ssh登录和web功能最小linux系统(一)

    实验环境win7+VM11.1 大致过程总揽 1,硬件准备以及查看硬件设备型号(不用担心,这些都是VM虚拟出来的) 2,编译环境的配置以及下载内核源码以及编译内核 3,编译busybox,以及提供系统正常运行的配置文件,初步运行linux系统 4,编译安装dropbear提供ssh服务 5,安装nginx;提供web服务 一,硬件准备以及查看硬件设备型号 由…

    Linux干货 2015-09-22
  • Linux 进程及作业管理

    Linux 进程及作业管理 概述:      我们在实际的运维工作中经常要对服务器做各种监控,以了解其相关状态,比如,CPU利用率,磁盘空间利用率,等等,这就需要我们了解相关的数据并学会使用各种工具来分析数据。本章就将总结Linux系统中进程管理和作业管理的相关命令、参数和工具,包括:进程的相关定义、分类、状态以及进程查看和管理…

    Linux干货 2016-09-11
  • 装饰器

    装饰器(Decorator) 装饰器推导过程 需求 一个加法函数,想增强它的功能,能够输出被调用过以及调用的参数信息 def add(x,y): return x + y 增加信息输出功能 def add(x,y): print(‘call {},{}+{}’.format(add.__name__, x, y)) return x + y 不足:打印语句的…

    2017-10-23
  • 二、(4)bash的基础特性之:alias命令及文件名通配

    alias命令 在bash中,允许用户使用和创建命令的别名 用法: 查看:可以使用alias命令来获取当前可用的命令别名: 如第一行:alias cp=’cp -i’,将cp -i命令定义别名为:cp 创建:上图中,alias所展示的也是创建别名的方法,即:alias NAME=’COMMAND’ 注意:图中举例将ls -l命令创建别名为ls,此时原命令ls…

    2018-01-12
  • bash中的变量详解

        在bash中,巧妙地运用变量,能够大大减轻编程的工作量,下面让我们来详细了解一下bash的变量. bash中的变量种类:     根据变量的生效范围等标准:         本地变量:生效范围…

    Linux干货 2016-08-18
  • linux上的LVM简明教程

    LVM是一个多才多艺的硬盘系统工具。在Linux上非常的好用,传统分区使用固定大小分区,重新调整大小十分麻烦。但是,LVM可以创建和管理“逻辑”卷,而不是直接使用物理硬盘。可以让管理员弹性的管理逻辑卷的扩大缩小,操作简单,而不损坏已存储的数据。可以随意将新的硬盘添加到LVM,以直接扩展已经存在的逻辑卷。 首先是实际的物理磁盘及其划分的分区和其上的物理卷(PV…

    Linux干货 2017-05-02

评论列表(1条)

  • stanley
    stanley 2016-02-14 09:57

    已置顶,认真看的出,赞