简述LVM原理及其实现

LVM的全称是:Logical Volume Manager(逻辑卷管理器),由内核中的DM模块提供此项功能,

LVM的组成结构,如下图所示

LV可以把一个或多个任意(包括RAID)的块设备做成物理卷(PV),将他们组合起来,并把一块或多块PV的存储能力抽象成一个一个的物理盘区(PE),这些PV的集合称为为一个卷组(VG)。其中PE的大小为2^n。PV的大小是块设备的大小,VG的大小是左右PV的大小之和,LV的大小最大可以达到VG的大小。并且可以对LV执行mke2fs命令对其创建文件系统并挂载至系统的某目录下使用。

在LVM上建的分区可以动态的增加或缩减,这对于硬盘使用空间无法确定的项目是非常方便的。而且可以利用LVM给分区做快照卷,利用此技术可以在不停机的情况下备份需要的数据,并且所备份的数据的时间都是同一时刻的。

LVM的相关命令:

pvcreate,pvs,pvdisplay,pvremove,pvmove,pvscan

vgcreate,vgs,vgdisplay,vgremove,vgreduce,vgextend,vgscan

lvcreate,lvs,lvdisplay,lvremove,lvreduce,lvextend,lvscan

下面给几个创建LVM的例子:

创建一个10G大小的LV(使用两个5G大小的PV),并对其创建ext4文件系统的步骤

先准备两个大小为5G的分区:sdb1、sdb2

1、创建pv:

pvcreate /dev/{sdb1,sdb2}

2、创建VG:

vgcreate -s 8M myvg  /dev/sda5

-s #:指定卷组中的单个PE大小,

myvg:卷组名称

3、创建LV:

lvcreate -n mylv -L 10G myvg

-n NAME:指定创建的LV的名称

-L #:指定创建的LV的大小

myvg:卷组名称

4、创建ext4文件系统

mke2fs -t ext4 /dev/myvg/mylv

缩减上面创建的LV的大小至5G

缩减有风险,操作需谨慎(必须离线进行)

缩减顺序:先卸载LV,然后对LV执行e2fsck -f检测文件系统,检测无误后对文件系统的大小进行缩减,最后对LV的大小进行缩减。(操作顺序很重要,不能逆向操作)

步骤如下:

1、卸载LV:

umount /dev/myvg/mylv

2、检测文件系统:

e2fsck -f /dev/myvg/mylv

-f:强制对文件系统进行检测

3、缩减文件系统的大小:

resize2fs /dev/myvg/mylv 5G

4、缩减LV的大小:

lvreduce -L 5G /dev/myvg/mylv

-L #:指定缩减的大小,可以用“-”。表示相对原来的大小减少

增加上面的LV的大小至8G

增加大小可以在线操作,无需离线进行

增加顺序:先增加LV的大小,后增加文件系统的大小(操作顺序很重要,不能逆向操作)

步骤如下:

1、增加LV的大小

lvextend -L 8G /dev/myvg/mylv

-L #:指定缩减的大小,可以用“+”。表示相对原来的大小增加

2、增加文件系统的大小

resize2fs /dev/myvg/mylv 8G

给上面的LV创建一个大小为2G的快照卷

为了保证快照卷中的数据都是同一时刻的,防止在创建过程中进程修改LV中的数据,先要把快照卷挂载只读,然后创建快照卷,数据备份完毕后重新将LV挂载为读写

步骤如下:

1、挂载LV为只读

mount -o remount,ro /dev/myvg/mylv

2、创建快照卷

lvcreate -n kuaizhao-mylv -L 2G -s -p r /dev/myvg/mylv

-s:指定创建快照卷

-p r:指定创建的快照卷的权限为读权限

3、重新挂载LV为读写:

mount -o remount,rw /dev/myvg/mylv

时间: 06-12

简述LVM原理及其实现的相关文章

LVM原理和实践

LVM原理和实践 目录:    一:LVM原理详解    二:LVM创建    三:LVM的增大和放缩    四:LVM快照    五:相关扩展阅读 一:LVM原理详解1.LVM是什么?    LVM是linux系统上的一个逻辑卷管理器有两个版本lvm1和lvm2现在默认是lvmm2,lvm2兼容lvm1但是对于lvm1的快照是不兼容的,所以如果你使用lvm1创建了快照,请在升级为lvm2的时候将快照卷卸载Lvm2使用的是设备映射器(device mapper)2.6版本的内核有其驱动,2.4的

Linux磁盘管理--LVM原理及基本操作

LVM(Logical Volume Manager)逻辑卷管理是Linux磁盘管理中的常用操作, 本文主要描述LVM的基本原理以及对LVM的扩展和缩减的基本操作. LVM实质是过软件方式将多个物理分区或磁盘组合成为一个容量可变大小的磁盘卷组VG, 再通过对VG中的基本单位PE构成可变大小的逻辑卷LV. LVM的优点: 通过调整VG中PV的数量来动态调整VG的容量大小, 通过调整LV中PE的数量来动态调整LV的容量大小. LVM中组成部分: 1. 分区: 磁盘中的可用分区, 分区类型ID应在创建

LVM与snapshot

一.LVM简述 LVM(Logical Volume Manager),即逻辑卷管理,它是Linux环境下对磁盘分区进行管理的一种机制. 我们知道,物理磁盘或分区之间是分隔的,数据无法跨盘或分区,而各磁盘或分区的大小固定,重新调整比较麻烦.LVM可以将这些底层的物理磁盘或分区整合起来,抽象成容量资源池,以划分成逻辑卷的方式供上层使用,其最主要的功能即是可以在无需关机无需重新格式化(准确地说,原来的部分无需格式化,只格式化新增的部分)的情况下弹性调整逻辑卷的大小. 二.LVM的实现过程 LVM结构

Linux之LVM

一.简介 二.LVM原理图解 三.操作示例 四.快照 一.简介 LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它由Heinz Mauelshagen在Linux 2.4内核上实现.LVM是在磁盘分区和文件系统之间添加的一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,提供一个抽象的存储卷,在存储卷上建立文件系统.当存储卷空间不足时,可以不用卸载存储卷而将其他硬盘分区加入其中,利用LVM可根据需求灵活管理磁盘空间. 二.L

linux之LVM详解

Linux的LVM详解 LVM组成; LVM:logic volume manager .LVM即逻辑卷管理,现在使用版本为第二版,即version2 逻辑卷:pv,physical volume,即计算机上的磁盘设备,例如我的计算机上的/dev/sda3,/dev/sda5. 卷组:vg,volume group.一般由多个pv组成. 逻辑卷:lv,logical volume是在vg上是划分好可以直接使用分区 pe:physical extend,是在pv加入vg后vg把所有pv划分成的很多

DNS服务解析,如何用bind构建主从架构的DNS服务器。

DNS(Domain Name System,域名系统) 在互联网上实现FQDN与IP地址的解析,这样避免了人们在访问站点时,记忆长串难懂的ip地址,只需要记忆人们容易理解的域名就行了. FQDN (Fully Qualified Domain Name,完全合格域名) FQDN------------------IP Address 正向解析 IP Address------------FQND 反向解析 简述工作原理: 我们大家都知道,全球一共有13台根节点服务器,当我们的DNS服务器收到一

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

LVM2 逻辑卷管理器第二版,Logical Volume Manager Version 2,将多个底层设备组织成一个单一的逻辑设备. 1.纯软件实现的虚拟层次上的软设备lvm2 2.磁盘损坏时,数据恢复困难.人为损坏数据,恢复困难. 一.LVM原理 PV(物理卷):在任何块设备(分区.RAID.磁盘)之上,附加一层元数据. **在删除PV前,先将要移除PV上的数据移动至其他PV之上** VG(卷组):在PV的存储空间中,更低层次上划分多个相同大小的PE,将所有PE组合成一个逻辑上的层次VG.

ios面试题整理(答案有的是网上找的,有的是根据理解自己做的)

1.ViewController的生命周期 按结构可以对iOS的所有ViewController分成两类: 1.主要用于展示内容的ViewController,这种ViewController主要用于为用户展示内容,并与用户交互,如UITableViewController,UIViewController. 2.用于控制和显示其他ViewController的ViewController.这种ViewController一般都是一个ViewController的容器.如UINavigation

Android开发新手必备16个知识

Android开发新手必备,这是我在麦子学院论坛里面看见的,觉得很不错,分享给大家: 1.Activity生命周期,横竖屏切换时候Activity状态变化. 生命周期: 完成的生命周期: 即从一个Activity出现到消失,对应的周期方法是:onCreate到onDestroy : 启动: onCreate()->onStart()->onResume三个方法: BACK键: 当我们按BACK键时,我们这个应用程序将结束,这时候我们将先后调用onPause()->onStop()->