LVM 简介

LVM是逻辑盘卷组管理 (Logical Volume Manager) 的简称. LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性,在一定程度上解决普通磁盘分区带来空间不够使用的问题.

逻辑卷组管理概念

PV (Physical Volume) - 物理卷

物理卷在逻辑卷管理中的最低层,它可以是实际物理硬盘上的分区,也可以是整个物理硬盘或者raid设备

VG (Volume Group) - 卷组

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

LV (Logical Volume) - 逻辑卷

逻辑卷建立在卷组之上,卷组中的未分配空间可以用于建立新的逻辑卷,逻辑卷建立以后可以动态地扩展和缩小空间.

LVM关系图如下:

准备配置LVM

实验系统的版本为 CentOS6.7

首先检测系统中是否安装了 LVM管理工具

在虚拟机中添加一块磁盘,作为练习LVM的专用硬盘

继续在 /dev/sdb 硬盘上创建三个分区,类型为 Linux LVM. 可以

{通过 t 命令 , 将指定分区分区调整为 8e (lvm)}

开始创建 PV

# pvcreate /dev/sdb{5,6}

创建完成后可以通过 # pvs #pvscan 查看简略信息  #pvdisplay 查看详细信息

# pvs

# pvscan

# pvdisplay

创建 VG 卷组

创建名称为 myvg , 将 /dev/sdb5,/dev/sdb6 组合为一个

创建 vg 卷组后也可以通过 # vgs # vgscan 查看简略信息  # vgdisplay 查看详细信息

# vgs

# vgscan

# vgdisplay

创建 LV 卷组

# lvcreate –L 50M –n testlv myvg

在 myvg 卷组中,创建一个名称为 testlv 的逻辑卷组,大小为 50M

# mkfs.ext4 /dev/myvg/testlv

将 /dev/myvg/testlv 格式化为 ext4 格式

# mount /dev/myvg/testlv

格式化完成后,将 /dev/myvg/testlv 挂载,并查看

# df –Th

# vim /etc/fstab

将 testlv 设置为开机自动挂载

LV 的扩容

# df –lh   查看当前逻辑卷的大小为 47M , 需要扩展空间到 1G

首先扩展物理边界

在扩展 lv 之前,需要先确定 vg 有足够的空间

# vgs  查看当前 vg 的大小,可用

# lvextend –L 1G /dev/myvg/testlv

-L 1G 表示为将 /dev/myvg/testlv 扩展到 1G

-L +1G 表示为将 /dev/myvg/testlv 添加 1G 的空间

# lvs   查看 testlv 大小,物理边界扩展成功,此时若通过 # df –lh 命令查看  /dev/myvg/testlv , 会发现大小没有改变 , 所以还需要对文件系统进行扩容 (扩展逻辑边界)

继续扩展逻辑边界

# resize2fs –p /dev/myvg/testlv

# df –lh  查看 /dev/myvg/testlv 的大小 , 扩展完成

LV 的缩减

# df –lh

首先需要查看将要缩减的 lv , 已经使用了多少空间 . 要确定缩减后的空间大于已经使用的空间

# umount /mnt

缩减 lv 需要离线操作 , 则卸载

# e2fsck –f /dev/myvg/testlv

强制检测文件系统的完整性

# resize2fs /dev/myvg/testlv 30M

将 /dev/myvg/testlv 缩减至 30M

# lvreduce –L 30M /dev/myvg/testlv

两个步骤的缩减大小必须保持一致.  -L 30M 表示将 testlv 缩减至30M. –L –30M 表示将 testlv 缩减 30M 的空间

# mount /dev/myvg/testlv  挂载完成后,查看 testlv 的大小

VG 的缩减

# pvs

# umount /mnt   缩减 vg 的大小需要先卸载

# pvmove  缩减 vg 就是移除 pv 的过程 , 需要提前将要移除的 pv 上的数据移动

如下图,将要移除 /dev/sdb5,那么先执行 pvmove /dev/sdb5 命令,将sdb5硬盘上的数据移动

# vgreduce myvg /dev/sdb5

从 myvg 中挪走 /dev/sdb5 , 并且查看 /dev/sdb5 已经不属于 myvg 卷组

# pvremove /dev/sdb5

将 /dev/sdb5 彻底移除

VG 的扩容

# pvs

在当前系统中在添加一个 pv

# pvcreate /dev/sdb7

将 /dev/sdb7 设置为 pv

# vgextend myvg /dev/sdb7

# pvs

通过 pvs 查看 , 添加成功

创建快照卷  (可以在线创建,无需卸载)

lvcreate

-s  : 指明为创建快照卷

-p : 指明权限 r | w

注意 :

1. 生命周期为整个数据时长 : 在这段时长内,数据的增长不能超出快照卷大小.

2. 快照卷应该是只读的.

3. 跟原卷在同一卷组内.

当前挂载挂载后目录的内容如下

# lvcreate –L 50M –n testsnap –s –p r /dev/myvg/testlv

-L 50 M   指定快照大小最多为 50M

-s   指明为创建快照

-p r    指定为快照权限为 只读

-n    指定创建的快照名称为 testsnap

# lvs       查看刚才创建的快照

在 /mnt 目录下创建 a b c 三个文件

# mount /dev/myvg/testsnap /tmp

将刚才创建的快照挂载到 /tmp 目录下查看,并没有后来创建的 a b c 三个文件,因为a b c文件是创建快照卷以后touch的

# tar –zcf /root/testsnap.tar.gz *

将创建的快照挂载后,在挂载目录中所有文件打包备份

# umount /tmp    # lvremove /dev/myvg/testsnap

卸载已经挂载的快照,并将其删除

# rm –rf *

将 /mnt 下的所有文件删除,准备恢复数据

# tar /root/testsnap.tar.gz –C /mnt

将备份好的数据指定路径,解压到 /mnt 下

当原数据大于创建快照时指定的快照大小时,快照将会彻底失效.

CentOS 6.7 配置LVM (逻辑卷管理)的更多相关文章

  1. CentOS下LVM逻辑卷管理技术解释

    1.LVM逻辑卷管理技术产生的背景 企业日益变化的存储需要使得传统的磁盘分区存储显得不够灵活 2.磁盘分区存储 对于这样的三个物理分区的话,迟早有一天会被数据填满,因为它是死的,无法进行缩放. 假设下 ...

  2. CentOS LVM逻辑卷管理

    在CentOS 挂载(U盘NTFS格式,新硬盘,增加交换分区,扩展根分区等)中扩展根分区部分用的就是LVM逻辑卷管理来进行扩展的. 1.为什么会有逻辑卷管理 传统磁盘管理是直接对硬盘分区进行访问,你如 ...

  3. linux的存储管理(RALD) LVM 逻辑卷管理 虚拟阵列

    磁盘存储管理 LVM 逻辑卷 虚拟阵列 1.Linux系统中 磁盘使用 存在3个大问题: 1.灵活性 2.安全性 3.性能 2.解决办法RAID独立磁盘冗余阵列 RAID(Redundant Arra ...

  4. 『学了就忘』Linux文件系统管理 — 65、LVM逻辑卷管理介绍

    目录 1.LVM逻辑卷管理的简介 2.LVM逻辑卷管理的原理 3.总结建立LVM分区的步骤 1.LVM逻辑卷管理的简介 LVM是Logical Volume Manager的简称,中文就是逻辑卷管理. ...

  5. 18 LVM逻辑卷管理

    根据上一节的内容,我们知道md这个内核模块可以用来做软RAID的管理.同时RAID实现了两个功能:1.提高了磁盘的读写能力:2.对于数据进行了冗余备份: 但是,如果是管理员手动误删的数据,则一样无法找 ...

  6. LVM逻辑卷管理测试——逻辑卷扩展、收缩、快照及删除

    一.逻辑卷扩展 [root@lxjtest /]# umount /testLVM/ [root@lxjtest /]# df -h Filesystem Size Used Avail Use% M ...

  7. LVM逻辑卷管理测试——创建逻辑卷

    虚拟机里再添加两块硬盘,如下所示: 启动系统后,我们可以看到新添加的两块硬盘为/dev/sdb和/dev/sdc.每个2GB. [root@lxjtest ~]# fdisk -l Disk /dev ...

  8. 【Linux】LVM 逻辑卷管理

    LVM - 逻辑卷管理 简介 LVM(Logical Volume Manager), 即逻辑卷管理,是Linux环境下对磁盘分区进行管理的一种机制. 相关名词 PV(physical volume) ...

  9. Linux之LVM逻辑卷管理

    LVM逻辑卷管理 LVM机制:PV物理卷,VG卷组,LV逻辑卷. --功能-- --物理卷管理-- --卷组管理-- --逻辑卷管理-- create(建立) pvcreate vgcreate lv ...

随机推荐

  1. C++ 编译器用于把源代码编译成最终的可执行程序

    C++ 编译器写在源文件中的源代码是人类可读的源.它需要"编译",转为机器语言,这样 CPU 可以按给定指令执行程序. C++ 编译器用于把源代码编译成最终的可执行程序. 大多数的 ...

  2. sqlldr导入数据(以PostgreSql>>>Oracle为例)

    1.在目标数据库中创建表 1.1点击源表,复制创建语句 1.2 修改数据类型以匹配目标数据库,如: 字符串类型:character varying(20)>>>varchar2(20 ...

  3. TMS320F28335项目开发记录3_28335简介

    28335特性介绍 高性能静态CMOS技术         高达150MHZ(6.67ns的周期时间):1.9V / 1.8内核 ,3.3V I/O设计 高性能32位CPU         IEEE- ...

  4. Linux性能研究(总)

    http://www.vpsee.com/2009/11/linux-system-performance-monitoring-introduction/ http://www.jb51.net/L ...

  5. php通过字符串生存hashCode

    /** * * 生存hashCode * */function hashCode($str){ if(empty($str)) return ''; $str = strtoupper($str); ...

  6. 数字转人民币大写(SQL SERVER)

    --数字转人民币大写NumToRMB ---新建方法create  FUNCTION dbo.NumToRMB (@num numeric(14,5))   RETURNS varchar(100) ...

  7. 如何创建 SVN 服务器,并搭建自己的 SVN 仓库

    SVN是一个广泛使用的版本控制系统,在日常工作中有广泛的应用空间,比如文档管理,我们就可以搭建一个 SVN 仓库,日常需要归类保存的文档统统上传到仓库中,那如何创建 SVN 服务器, 又如何搭建 SV ...

  8. 从源代码来理解ArrayList和LinkedList差别

    从源代码理解ArrayList和LinkedList差别 ArrayList ArrayList默认容量为10,实质是一个数组用于存放元素,size表示ArrayList所包括的元素个数. Array ...

  9. Android 实现动态匹配输入的内容 AutoCompleteTextView和MultiAutoCompleteTextView

    AutoCompleteTextView1.功能:动态匹配输入的内容,如百度搜索引擎当输入文本时可以根据内容显示匹配的热门信息.2.独特属性:android:completionThreshold 设 ...

  10. sql查询数据库中所有表名

    查询数据库里所有表名和字段名的语句SQL 查询所有表名:SELECT NAME FROM SYSOBJECTS WHERE TYPE='U'SELECT * FROM INFORMATION_SCHE ...