LVM逻辑卷管理

一、lvm介绍

    1.lvm概念

                        LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它由Heinz Mauelshagen在Linux 2.4内核上实现,目前最新版本为:稳定版1.0.5,开发版 1.1.0-rc2,以及LVM2开发版。Linux用户安装Linux操作系统时遇到的一个常见的难以决定的问题就是如何正确地评估各分区大小,以分配合适的硬盘空间。普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文件系统的限制,也不能跨越多个分区来存放,所以也不能同时放到别的磁盘上。而遇到出现某个分区空间耗尽时,解决的方法通常是使用符号链接,或者使用调整分区大小的工具,但这只是暂时解决办法,没有从根本上解决问题。随着Linux的逻辑卷管理功能的出现,这些问题都迎刃而解,用户在无需停机的情况下可以方便地调整各个分区大小。

    2.相关概念

                    PV(Physical Volume)- 物理卷 
                    物理卷在逻辑卷管理中处于最底层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘,也可以是raid设备

                    VG(Volumne Group)- 卷组 
                    卷组建立在物理卷之上,一个卷组中至少要包括一个物理卷,在卷组建立之后可动态添加物理卷到卷组中。一个逻辑卷管理系统工程中可以只有一个卷组,也可以拥有多个卷组。

                    LV(Logical Volume)- 逻辑卷 
                    逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立后可以动态地扩展和缩小空间。系统中的多个逻辑卷可以属于同一个卷组,也可以属于不同的多个卷组。

    3.lvm图示

wKiom1fG4FXCe6IUAAA0yHvvYY8767.png

二、lvm创建

    1.准备创建lvm使用的物理盘区,这里我们使用sdb1,sdc,sdd,sdb1是sdb的一个分区,需要对其进行设备system id 为8e,sdc和sdd因为是使用整个盘区不需此步。

LVM逻辑卷管理

8e.PNG

    2.创建pv

        与pv相关的一些管理命令:

        pvcreate:将实体partition创建为PV

        pvdisplay:显示出目前系统上的pv状态VG

        pvs:显示pv的简要信息

        pvscan:搜寻系统里面任务具有PV的磁盘

        pvremove:将PV属性移除,让该partition不具有PV属性

    

pvcreate.PNG

        出现如下could't find …时解决方法是使用vgreduce–removemissing vg0

count-not-find-uuid.PNG

    3.创建vg

        与vg相关的一些管理命令:

        vgcreate:创建vg的命令

        vgdisplay:显示目前系统上面的vg状态

        vgs:显示vg的简要信息   

        vgscan:搜寻系统上是否有VG存在

        vgextend:在VG内添加额外的PV

        vgchange:配置VG是否启动(active)

        vgremove:删除一个VG
       vgcreate的相关选项:

        -s|–physicalextensize 指定PE大小

        -t|–test

        -v|–verbose

        如:lvcreate -s 16M vg1 /dev/sdc

vg.PNG

       注:删除卷组,先做pvmove,再做vgremove

    4.创建lv

        与lv相关的一些管理命令

        lvcreate:创建LV

        lvscan:查询系统上面的LV

        lvdisplay:显示系统上面LV状态

        lvs:简要显示lv信息

        lvextend:在LV里面添加容量

        lvreduce:在LV里面减少容量

        lvresize:对lv进行容量大小的调整

        lvremove:删除一个LV

     创建逻辑卷

        lvcreate-L #[mMgGtT] -n NAME VolumeGroup

      删除逻辑卷

        lvremove/dev/VG_NAME/LV_NAME

     重设文件系统大小  

        fsadm[options] resize device [new_size[BKMGTEP]]

        resize2fs [-f] [-F] [-M] [-P] [-p] device [new_size]

        

lvcreate.PNG

    5.格式化并挂载逻辑卷

        

格式化并挂载.PNG

三、lvm的扩容和缩减

    1.扩容LV

        1).用fdisk配置新的具有82system id的partition-/dev/sdb2

        2).利用pvcreate创建PV

        3).利用vgextend将PV加入我们的vg1

        4).利用lvresize将新加入的PV内的PE加入testlv中

        5).通过resize2fs将文件系统的容量确实增加

        

扩展.PNG

    2.缩减

        1).先卸载挂载的LV

        2).强制进行磁盘检查:e2fsck -f /dev/vg1/testlv

        3).resize2fs /dev/vg1/testlv 5000M

        4).lvreduce -L 5000M /dev/vg1/testlv

        5).mount /dev/vg1/testlv /mnt/testlv

    

缩减.PNG

 

    3.删除顺序

        1).首先要先卸载LV,并删除LV

        2).删除VG

        3).最后删除PV

    

删除.PNG

四、lvm快照

    1.什么是快照

        快照就是将当时的系统数据记录下来,在未来若有数据变动,则会将变更前的数据放在快照区进行保存,那么快照去将有两部分组成:变更之前的数据和未变更的数据组成。这样一来LVM的系统快照就像是一种很棒的备份工具,因为他只备份有变更的数据,文件系统内没被变动的数据依旧保持在原本的区块内,LVM知道哪些数据是变动的哪些没有变动,因此,通过LVM快照备份下来的数据所占用的容量非常小,所以LVM快照是一个很不错的工具。

    2.创建快照

        1).创建快照:lvcreate -L 2G -s -n snap-testlv -p r /dev/vg1/testlv  (或者使用-L指定大小,-l指定的是PE数量 ,-p r 指定只读属性)

        2).显示信息:lvdisplay

        3).创建快照目录/mnt/snaptestlv

        4).挂载mount /dev/vg1/snap-testlv /mnt/snaptestlv/

snap.PNG

    3.利用快照恢复数据

        需要注意的是:所要恢复的数据不能超过快照区的总大小,因为如果变动的数据大小超过了快照区的空间,那么快照区是不能容纳所有变动的数据了,这个时候快照功能会失效

      示例:

        先在原来的lv中写入一些数据,然后通过lvm的快照功能来恢复之前的操作

        1).cp -R /etc /mnt/testlv

        2).创建一个数据恢复的临时目录:mkdir -pv /tmp/backup

        3).cd /mnt/snaptestlv

        4).tar -zcf /tmp/backup/lvm.tar.gz *

        5).将snap-testlv卸载并移除,因为里面的内容已经备份出来了

        6).解压备份出来的文件和/mnt/testlv中的数据做对比看是否已经恢复到相关操作之前了。

       

原创文章,作者:提着酱油瓶打醋,如若转载,请注明出处:http://www.178linux.com/42658

(0)
提着酱油瓶打醋提着酱油瓶打醋
上一篇 2016-09-02
下一篇 2016-09-02

相关推荐

  • 全球敏捷运维峰会Gdevops 2017成都站嘉宾主题提前看!

    2017年全球敏捷运维峰会(Gdevops, Global Devops Summit)将于2017年在成都、上海、北京、广州四城全面启动,本次峰会由上海市经济和信息化委员会指导,上海市云计算产业促进中心、DBAplus社群主办,数十家媒体单位共同支持,活动家提供全球敏捷运维峰会在线报名服务。 成都站即将于13日启航,搭车地址:https://www.huo…

    Linux干货 2017-05-11
  • Linux 入门(二)

    又一个周的时间过去了,觉得时间过的好快的呢,大概是因为沉迷于学习吧(害羞脸),在这一周里学习了不少东西呢,下面就来总结一下吧 (1)    cp 复制 如果只是单纯的敲cp复制文件而不加任何选项的时候,如果目的目录文件已经存在,就会直接覆盖,而不会出现任何提示信息,而当在实际操作时,就算不加 –i选项,也会提示要不要覆盖文件 原…

    2017-07-22
  • 文本处理工具练习及作业

    练习1: 1、找出ifconfig “网卡名” 命令结果中本机的IPv4地址 ifconfig |head -n 2 |tail -n 1|tr -s ” ” : |cut -d: -f4 2、查出分区空间使用率的最大百分比值 df|tr -s ‘ ‘ %|sort -t% -k5 -n|tail -n 1|c…

    2017-07-29
  • 域名解析服务(DNS)之bind

    DNS简介 DNS是Domain Name System的简称,DNS的主要作用就是讲主机名解析成ip地址的过程,因为在计算机网络当中是通过ip地址来进行主机间通信的,ipv4的地址是32位,人类记忆起来十分困难,更何况ipv6的128位,所以我们需要一个简单容易记忆的字符串来替换ip地址,当我们访问www.baidu.com它能知道访问的是某个ip地址的服…

    Linux干货 2016-10-09
  • 系统基础之shell脚本编程详解及练习题

    shell脚本编程: 编程基础  程序:指令+数据 编程语言的分类:根据运行方式    编译运行:源代码–>编译器(编译)–>程序文件    解释运行:源代码–>运行时启动解释器,由解释器边解释边运行; 根据其编程过程中功能的实现是调用库还是调用外部的程序…

    Linux干货 2016-08-15
  • 【听说要写一篇文章,我觉得标题比较长的人一定特别帅。】

    我叫小问。 计划是学好马哥所教授的知识。 目标是找到一份好工作!

    Linux干货 2016-10-23