18 LVM逻辑卷管理
根据上一节的内容,我们知道md这个内核模块可以用来做软RAID的管理。同时RAID实现了两个功能:1、提高了磁盘的读写能力;2、对于数据进行了冗余备份;
但是,如果是管理员手动误删的数据,则一样无法找回。同时,如果磁盘不够用了,这时候添加磁盘则是一件比较麻烦的事情;为了解决这两个问题,Linux系统内核提供了dm模块(device mapper)实现LVM功能;
LVM--逻辑卷管理
LVM逻辑卷管理,主要功能即为:可以灵活的管理磁盘的大小,单某个逻辑卷不够用,可以将磁盘加大,同时,如果某个逻辑卷没有使用的空间比较多,则可以将空闲空间拿出来;LVM通过dm模块来实现这个功能;
逻辑卷LVM分为三个层次:

最下层为物理卷,我们叫做PV,它是真实存在的磁盘,上层LV的最大空间就由PV物理卷来决定;
中间层为卷组VG,也就是由物理卷组成的一个集合;
最上层为逻辑卷LV,从卷组中提取空间,逻辑卷进行格式化,进行磁盘挂载,可以使用;
在一个卷组中可以有多个PV物理卷,VG的大小取决于PV总和的代销,每一个LV就是一个独立的分区,它的大小是可以改变的,同时LV逻辑卷也具有快照功能,能够对数据进行备份;
物理卷存储数据的单位叫做PE(physical extend),只有指定磁盘为PV后才会有这个概念。
同理,逻辑卷存储数据的单位叫做LE(logic extend),它是用来存储数据的单元。
【工作中,LVM经常是建立在RAID之上的】
LVM管理命令总结
首先,我们可以通过 yum install lvm* 来安装lvm工具;
lvm下常见的命令如下:

【注意:在通过pvremove命令移除物理卷的时候,一定要先通过pvmove命令将上面的数据移动到其他磁盘才行】
常见操作
创建一个lv逻辑卷,操作如下图:

其中 lvcreate 命令中 -n 指定lv名称,-L 指定lv的大小,最后接上从哪个 VG 取这个空间,即可;
除了 /dev/VGtest/LVtest 目录外,我们的逻辑磁盘还存放于 /dev/mapper 目录下面;
1、扩展逻辑卷大小
创建分区的过程就是创建逻辑边界的过程。这就已经确定了存储数据的空间大小,所以如果要扩张空间,就需要先扩展物理边界,再扩展逻辑边界,我们通过lvextend扩展物理边界,再通过resize2fs扩展逻辑边界:
lvextend -L [+2]G /dev/VGtest/LVtest #不加“+”表是扩展到2G,加“+”表示在原来的基础上扩展2G

添加LV空间以后,依然还是无法使用的,因为新加的这部分空间是没有做文件系统的,所以,我们需要通过 resize2fs 命令将新加的磁盘空间添加文件大小;

其中 -p 则是指定文件添加内容的参数;
2、减小逻辑卷
需要注意的是,不能在线缩减磁盘大小,必须先将逻辑卷卸载下来,并且确保缩减后的磁盘空间大小依然能够保存现有的数据,在缩减之前需要检查文件系统,确保文件系统处于一致性状态;
操作如下:

3、对逻辑卷做快照
首先我们要明白,快照卷是不能修改的,它存在的目的就是在数据丢失的时候能恢复到当前数据格式下来,所以快照卷是不能修改的;
lvcreate
-s 指定该卷为镜像卷
-p 指定该卷的r|w只读权限
-L 数据的增长量不能超出快照卷的大小
最后快照卷需要跟原卷在同一个卷组;

恢复镜像则是:
lvconvert --merge /dev/mapper/LVtest_backup
18 LVM逻辑卷管理的更多相关文章
- CentOS下LVM逻辑卷管理技术解释
1.LVM逻辑卷管理技术产生的背景 企业日益变化的存储需要使得传统的磁盘分区存储显得不够灵活 2.磁盘分区存储 对于这样的三个物理分区的话,迟早有一天会被数据填满,因为它是死的,无法进行缩放. 假设下 ...
- CentOS LVM逻辑卷管理
在CentOS 挂载(U盘NTFS格式,新硬盘,增加交换分区,扩展根分区等)中扩展根分区部分用的就是LVM逻辑卷管理来进行扩展的. 1.为什么会有逻辑卷管理 传统磁盘管理是直接对硬盘分区进行访问,你如 ...
- LVM逻辑卷管理测试——逻辑卷扩展、收缩、快照及删除
一.逻辑卷扩展 [root@lxjtest /]# umount /testLVM/ [root@lxjtest /]# df -h Filesystem Size Used Avail Use% M ...
- LVM逻辑卷管理测试——创建逻辑卷
虚拟机里再添加两块硬盘,如下所示: 启动系统后,我们可以看到新添加的两块硬盘为/dev/sdb和/dev/sdc.每个2GB. [root@lxjtest ~]# fdisk -l Disk /dev ...
- linux的存储管理(RALD) LVM 逻辑卷管理 虚拟阵列
磁盘存储管理 LVM 逻辑卷 虚拟阵列 1.Linux系统中 磁盘使用 存在3个大问题: 1.灵活性 2.安全性 3.性能 2.解决办法RAID独立磁盘冗余阵列 RAID(Redundant Arra ...
- 【Linux】LVM 逻辑卷管理
LVM - 逻辑卷管理 简介 LVM(Logical Volume Manager), 即逻辑卷管理,是Linux环境下对磁盘分区进行管理的一种机制. 相关名词 PV(physical volume) ...
- 『学了就忘』Linux文件系统管理 — 65、LVM逻辑卷管理介绍
目录 1.LVM逻辑卷管理的简介 2.LVM逻辑卷管理的原理 3.总结建立LVM分区的步骤 1.LVM逻辑卷管理的简介 LVM是Logical Volume Manager的简称,中文就是逻辑卷管理. ...
- Linux之LVM逻辑卷管理
LVM逻辑卷管理 LVM机制:PV物理卷,VG卷组,LV逻辑卷. --功能-- --物理卷管理-- --卷组管理-- --逻辑卷管理-- create(建立) pvcreate vgcreate lv ...
- LVM 逻辑卷管理
简介: LVM ( Logical Volume Manager ) 逻辑卷管理 一.创建 LV 1.首先在你的虚拟机上添加一块新的硬盘用来做实验. 2.安装 lvm : yum -y install ...
随机推荐
- openstack--8--控制节点部署Dashboard
Horizon介绍 Dashboard服务,这里具体的产品就是Horizon1.它提供一个Web界面操作Openstack的系统2.使用Django框架基于Openstack API开发3.支持将Se ...
- 【转】C#获取当前日期时间(转)
我们可以通过使用DataTime这个类来获取当前的时间.通过调用类中的各种方法我们可以获取不同的时间:如:日期(2008-09-04).时间(12:12:12).日期+时间(2008-09-04 12 ...
- mybatis 一对多,(多对一,一对一
多对一,和一对一是同一种写法,每种写法又分在数据库关联和在mybatis关联 1,多对一,一对一数据库关联 2,多对一,一对一mybatis关联 3,一对多,数据库关联,注意,Java type改of ...
- Packet for query is too large (1660 > 1024). You can change this value on the server by setting the max_allowed_packet' variable.
原因是mysql 默认允许的 数据报包 是 1M 设置大一些就可以了 centos 下面 /ect/my.cnf 文件里面 加入或者修改 下面的参数 [mysqld] max_allowed_pa ...
- dnstop DNS分析工具
http://dns.measurement-factory.com/tools/dnstop/src/ https://github.com/measurement-factory/dnstop h ...
- Python中列表(list)、字典(dict)排序的程序
Python3 中的排序,在 Sorting HOW TO 中已经讲得很清楚了.来个实际的例子,对下面的这个 list 依据创建时间排序: pages = [{'title': '十年学会程序设计', ...
- 3、eclipse集成svn
手动安装 1.从官网下载适合自己开发工具的site-.zip文件,网址是:subclipse.tigris.org,2.从中解压出features与plugins文件夹,复制到eclipse的目录my ...
- cvsnt报错:Administrator: Switch to user failed due to configuration error. Contact your System Administrator
在安装CVSNT一开始用Administrator登录时总是报[login aborted]Switch to user failed due to configuration error. Cont ...
- JS 从HTML页面获取自定义属性值
<select id="nextType" data-parameter="@Model.NextType"> <option value=& ...
- Vivado HLS初识---阅读《vivado design suite tutorial-high-level synthesis》(4)
Vivado HLS初识---阅读<vivado design suite tutorial-high-level synthesis>(4) 1.老样子,首先运行tcl脚本建工程: Vi ...