LVM2基本应用,扩展及缩减实现

LVM(Logical Volume Manager,逻辑卷管理)是CentOS6中常用的磁盘管理的工具。常用于CentOS6上,提供了分区的动态扩展、缩减等功能。目前的常用版本为LVM2。

结构:

LVM.png

一、物理卷

LVM的物理卷以分区为单位。通常情况下,会以一个硬盘一个分区的情况下进行容量扩展。

在分区之后,要使用fisk命令来改变分区的类型,LVM的磁盘类型的ID号为8e。

分区.png

这里使用sdb1到sdb3这三个分区来做lvm2的试验。

fdisk_t_8e.png

分区完成后,通过partx来使新分区生效。

然后通过pvcreate来使分区转换成物理卷。可以使用pvs以及pvdisplay来查看物理卷的状况。

pvcreate.png

二、卷组

创建物理卷PV之后,可以使用vgcreate命令指定需要的分区来创建卷组VG。

需要注意的是,VG并不是只能创建一个的。

卷组(VG)相关的命令:

    vgcreate [-s [KkNmGgTtPpEe]] VG_name /dev/PVdevice    
    vgextend [-s [KkNmGgTtPpEe]] VG_name /dev/PVdevice
    vgreduce VG_name PhysicalDevicePath
    
		    #注意:-s用来指定PE的大小,也就是属于LV的最小单位。如果不指定的话,默认值是4M,
		    #往后扩展的大小,例如+2G,系统都是按PE的大小,凑够2G。
		    #由于lvm1的时候PE数量是有限制的,为65534个。所以4M*65534近似于256G。
		    #LVM2的时候这个限制就被扩大了,所以个人认为能用lvm2的时候就用lvm2吧。

创建之后同样可以使用vgdisplay来查看逻辑卷的状况。

vgdisplay_12.png

这里我们使用默认值,添加一个最简单的卷组vg_bc,并使用vgdisplay来查看他的状态。

我们可以大概的计算一个,2558*4M就是近似于10G。也就是卷组中sdb1和sdb2两个物理卷的的大小。

同时,当VG的容量用满的时候,可以通过vgextend来添加物理卷pv的方式进行扩容

vgextend_sdb123.png

三、逻辑卷

当创建好VG之后,我们可以将VG当做是一个可以调整大小的硬盘来使用。

而在VG上面,我们可以创建逻辑卷以进行使用。

lv管理工具:

lvs
lvdisplay
lvcreate -L [+] [KkNmGgTtPpEe] -n name VGname
    #-L指的是线性地填充pv,也就是填充满了一个pv之后,再填充一个。

lvcreate.png

创建好lv之后,接着的步骤就是进行格式化和挂载了吧。

mkfs.png

我们尝试往里面复制一个文件,并使用df来查看挂载好的文件夹的使用情况

-h选项为将容量显示为可以为人类容易识别的形式。要不然就是按1k来显示了。

df -h.png

扩展逻辑卷的步骤

lvextend -L size /dev/vgname/lvname
resize2fs /dev/vg_name/Lv_name
#需要注意的是,虽然扩展可以在线扩展。
#但是,但是!lv缩减的时候,要先卸载分区。
#因为可能的分区在线的时候,你需要缩减的部分,本来没被使用但又刚好被使用等奇怪情况。[object Object]

扩展了lv的大小之后,别忘记resize一下ext系统。其实也就是告诉ext系统,你的分区改变了。lvextend.png

df-resize.png

我们可以看见,在扩展LV的时候resize2fs命令是动态在线的,并没有影响已经使用的文件。

lv缩减的步骤

umount LVName
e2fsck -f LVName
resize2fs LVName Size
lvreduce -L Size LVname
Mount

lvreduce.png

注意:由于文件系统使用久了会有碎片。所以结构可能不是紧凑的,也就是说占用了文件系统5G。

当把文件夹刚好减少到5G,就很有可能造成文件损坏。所以这个功能在不需要的时候还是不要使用比较好。

四、快照

lvm2还提供快照功能储存修改过的文件,可以帮助找回误删或者修改的文件。

lvcreate -L [KkNmGgTtPpEe] -p r -s -n NAME /dev/VG/LV
#而创建快照的命令跟lv创建类似,但是要注意的有两点。
#-s代表snapshot,也就是快照,而最后一个跟的不是vg的名字,而是要创建快照的LV!!
#也就是说快照就基于lv的,并不是所有lv的旧文件都会往里面塞。

创建快照

snapshot.png

使用lvs,可以看出my_lvm3_snapshot是my_lvm3的快照。

snapshot1.png

lvm上的快照 snapshot
	通过快照分区访问源数据,
	没改变的访问原inode,改变了的文件则访问储存在快照上的文件。
	要访问某时间点的就访问储存在快照上的文件。

snashot.png

我们把/etc/httpd文件夹复制到lvm1里面。

并为lvm1创建一个快照my_snapshot2_lvm2_2,并将快照挂载到/media/snapshot2上。

snapshot_2.png

此时我们echo 0覆盖到lvm1的httpd.conf下面,再查看快照上的httpd.conf。

我们会发现,快照上的文件并没有改变。

lvdisplay.png

使用lvdisplay来查看快照的状态

lv-size是被快照的lv的容量,而COW-table-size则是快照的实际容量.

COW(Copy On Wirte,写时复制)

与快照相关阅读的扩展阅读:快照的常见类型

关于快照的数据恢复:

截取自鸟哥的私房菜:
为什么要备份呢?为什么不可以直接格式化lv然后将快照直接复制给lv上呢? 
    要知道 vbirdss 其实是 vbirdlv 的快照,因此如果你格式化整个lv 时,原本的文件系统所有数据都会被搬移到快照。
    那如果 vbirdss 的容量不够大 (通常也真的不够大),那么部分数据将无法复制到 vbirdss 内,数据当然无法全部还原啊!
    所以才要在上面表格中制作出一个备份文件的!了解乎?

示例:

    tar -jcv -f /backups/lvm.tar.bz2 *

与RAID的异同:

相同点:

以分区为单位,将多个分区通过软件的方式整合成一个统一单位。

通常的环境下,一般以一个硬盘一个分区的方式进行容量扩展。

例如,LVM将分区转化为物理卷,再将物理卷(PV)加入卷组(VG)这个整体中进行管理。而后,再创建逻辑卷(LV)。

而RAID同样地以分区为单位,通过软件或者硬件的方式整合成一个MD设备。然后将MD设备当成一个普通的硬盘一样使用。

不同点:

常用的RAID方式中,1,5,6提供冗余功能。磁盘损坏的情况下,损坏的文件部分可以通过计算得出。

LVM不提供冗余功能,文件坏了就是坏了。但是无论RAID或者LVM,都要注意好备份。

原创文章,作者:菠菜,如若转载,请注明出处:http://www.178linux.com/11213

(0)
菠菜菠菜
上一篇 2016-02-24 16:36
下一篇 2016-02-27 21:03

相关推荐

  • linux存储系统流程简介

    存储系统是linux系统非常重要,也是非常基础的知识点。整个存储系统涉及到知识点也非常的多。 本文主要通过磁盘简介->分区管理->文件系统管理->文件存储结构->软连接和硬链接->挂载原理->常见存储相关操作命令,这一条主线来让大家对linux的整个存储系统有个初步,清晰的了解. 1.磁盘简介   &n…

    Linux干货 2015-12-15
  • N25第八周学习总结_sed命令详解

    sed使用详解 大纲: 1、    sed是什么 2、    为什么要使用sed 3、    sed使用方法 4、    sed详解   正题: 1、    sed是什么 sed全名Stream Ed…

    2017-02-26
  • Linux系统中的防火墙iptables

    iptables/netfilter——Linux系统下的防火墙 基本原理 防火墙主要功能 工作于主机或者网络边缘,对进出本主机或本网络的报文进行匹配检测,对匹配到规则的报文进行于规则相对应的处理。 防火墙主要分类 按功能分类 主机防火墙网络防火墙 按构成分类 软件防火墙硬件防火墙 Linux防火墙软件iptables/netfilter(以后简称iptab…

    Linux干货 2017-06-13
  • Linux简单命令说明(date、clock、echo 、Tab键、screen)

    Linux简单命令说明 1、如何查询命令的帮助文档 外部命令:是系统用应用程序的一部分,在系统启动时不会被加载到内存,而在服务或进程启用时 才执行它。 查看 COMMAND –help man COMMAND 内部命令:是简小的命令,开机就已加载到shell中。 查看 help COMMAND 2、date和clock命令 date #显示当前系统时间 […

    Linux干货 2017-07-12
  • 【N25第五周作业】find命令以及相关练习

    find: 实时查找工具,通过遍历指定起始路径下文件系统层级结构完成文件查找; 工作特性: 查找速度略慢; 精确查找; 实时查找; 用法: find [OPTIONS]  [查找起始路径]  [查找条件]  [处理动作] 查找起始路径:指定具体搜索目标起始路径;默认为当前目录; 查找条件:…

    Linux干货 2016-12-27
  • 加密类型及其相关算法

    加密类型及其相关算法 §·TCP/IP安全: ※·机密性: 数据在网络上传输是明文传输(ftp,http,smtp,telnet): ※·数据的完整性: 数据在网络上传输,不能被其它人篡改,保证数据的完整性: ※·身份验证: 访问的主机有一种机制可以表明就是你需要通信的主机。 ※·保证机密性:对数据进行加密。 ·如何加密:发送方通过转换规(转换算法)则把明文…

    Linux干货 2016-09-06