LVM的吹水堂

简介

在今天,数据每天大量增多的情况下,服务器经常面临正常使用的分区空间不够的情况,假如还是使用传统分区方式的话,再加一颗新硬盘,然后重新分割、格式化,将原本的数据完整的复制过来, 然后将原本的 partition 卸载重新挂载新的 partition 。啊!好忙碌啊!若是第二次分割却给的容量太多!导致很多磁盘容量被浪费了! 你想要将这个 partition 缩小时,你又该如何呢?LVM的出现,正是为了解决这些问题。。。

LVM(全称:Logical Volume Manager 中文名称:逻辑卷管理器),又译为逻辑卷宗管理器、逻辑扇区管理器、逻辑磁盘管理器,是Linux核心所提供的逻辑卷管理(Logical volume management)功能。它在硬盘的硬盘分区之上,又创建一个逻辑层,以方便系统管理硬盘分区系统。最先由IBM开发,在AIX系统上实现,OS/2 操作系统与 HP-UX也支持这个功能。在1998年,Heinz Mauelshagen 根据在 HP-UX 上的逻辑卷管理器,写作出第一个Linux 版本的逻辑卷管理器。

LVM,它可以零停机前提下可以自由地对文件系统的大小进行调整,可以方便实现文件系统跨越不同磁盘和分区,它的出现可以说解决磁盘管理的很多问题。把它说得这么好,接下来我们就来慢慢了解它,在介绍它怎么使用之前,我们先来了解几个术语。

术语

1、PM:物理存储介质(physical media)

这里指系统的存储设备:硬盘,是存储系统最低层的存储单元。

2、PV:物理卷(physical volume)

物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数(也就是在传统分区上附加了LVM的管理数据)。

3、PE:(physical extent)

每一个物理卷被划分为称为PE(PhysicalExtents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。

4、VG:卷组(Volume Group)

LVM卷组类似于非LVM系统中的物理硬盘,其由物理卷组成。可以在卷组上创建一个或多个“LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组成。

5、LV:逻辑卷(logical volume)

LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上可以建立文件系统(比如/home或者/usr等)。

6、LE:(logical extent)

逻辑卷也被划分为被称为LE(LogicalExtents)的可被寻址的基本单位。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。

结构分析

首先可以看到,物理卷(PV)被由大小等同的基本单元PE组成,一个卷组由一个或多个物理卷组成。从上图可以明显看到,PE和LE有着一一对应的关系。逻辑卷建立在卷组上。逻辑卷就相当于非LVM系统的磁盘分区,可以在其上创建文件系统。

LVM工作方式     
    下面来看一看LVM到底是怎样工作的。每一个物理卷都被分成几个基本单元,即所谓的PE。PE的大小是可变的,但是必须和其所属卷组的物理卷相同。在每一个物理卷里,每一个PE都有一个惟一的编号。PE是一个物理存储里可以被LVM寻址的最小单元。

每一个逻辑卷也被分成一些可被寻址的基本单位,即所谓的LE。在同一个卷组中,LE的大小和PE是相同的,很显然,LE的大小对于一个卷组中的所有逻辑卷来说都是相同的。

在一个物理卷中,每一个PE都有一个惟一的编号,但是对于逻辑卷这并不一定是必需的。这是因为当这些PE ID号不能使用时,逻辑卷可以由一些物理卷组 成。因此,LE ID号是用于识别LE以及与之相关的特定PE的。正如前面所提到的,LE和PE之间是一一对应的。每一次存储区域被寻址访问或者LE的ID被使用,都会把数据写在物理存储设备之上。

你可能会觉得奇怪,有关逻辑卷和逻辑卷组的所有元数据都存到哪儿去了。类似的在非LVM系统中,有关分区的数据是存储在分区表中,而分区表被存储在了每一个物理卷的起始位置。VGDA(卷组描述符区域)功能就好象是LVM的分区表,它存储在每一个物理卷的起始处。

VGDA由以下信息组成: 
        ·一个PV描述符 
        ·一个VG描述符 
        ·LV描述符 
        ·一些PE描述符

当系统启动LV时,VG被激活,并且VGDA被加载至内存。VGDA帮助识别LV的实际存储位置。当系统想要访问存储设备时,由VGDA建立起来的映射机制就用于访问实际的物理位置来执行I/O操作。

   

LVM命令介绍

在创建和使用LVM之前,首先得先安装好LVM的程序包

   # rpm -qa | grep ‘lvm‘

创建  详细查看   摘要查看  删除   增加   减小
PV   pvcreate   pvdisplay  pvs   pvremove
VG   vgcreate vgdisplay  vgs   vgremove  vgexten vgreduce
LV   lvcreate   lvdisplay lvs  lvremove lvexten   lvreduce

从上面的表格可以看出来,命令大部分都是相似的,所以也比较容易记忆.

PV用法详解

创建    pvcreate DEVICE(/dev/sda1)

删除    pvremove DEVICE(/dev/sda2)

VG用法详解

创建    vgcreate vgNAME pv

        # vgcreate myvg /dev/sda1 /dev/sda2

删除    vgremove vgNAME

        # vgremove myvg

增加    vgextend vgNAME pv

# vgextend myvg /dev/sda2

减小    vgreduce vgNAME pv

lv用法详解

增加    lvcreate -L [+]SIZE -n NAME VG

# lvcreate -L 512M -n mylv1 myvg

删除    lvremove lv

如下是表示lv的两种

        # lvremove /dev/myvg/mylv1

或者是用

        # lvremove /dev/mapper/myvg-mylv1

增大    lvextend -L [+]SIZE lv

# lvextend -L 1G /dev/myvg/mylv1

减小    lvreduce -L [-]SIZE lv

# lvreduce -L -256M /dev/mapper/myvg-mylv1

实践篇(创建LVM)

1、首先先对一个磁盘进行分区并标记为LVM的磁盘

# fdisk /dev/sdb

# t

修改标记为8e

2、再将它创建为PV

# pvcreate /dev/sdb1

3、创建一个vg,并将/dev/sdb1这个pv加入vg组

# vgcreate myvg /dev/sdb1

4、然后再在myvg的卷组上创建一个512M的lv

# lvcreate -L 512M -n mylv1 myvg

5、然后将mylv1这个逻辑卷格式化为ext4的文件系统格式

# mke2fs -t ext4 /dev/myvg/mylv1

6、最后将mylv1挂载到/mnt/data这个目录就可以进行使用访问了

#mount /dev/myvg/mylv1 /mnt/data

时间: 2024-08-28 11:37:46

LVM的吹水堂的相关文章

关于LVM的吹水堂

简介 在今天,数据每天大量增多的情况下,服务器经常面临正常使用的分区空间不够的情况,假如还是使用传统分区方式的话,再加一颗新硬盘,然后重新分割.格式化,将原本的数据完整的复制过来, 然后将原本的 partition 卸载重新挂载新的 partition .啊!好忙碌啊!若是第二次分割却给的容量太多!导致很多磁盘容量被浪费了! 你想要将这个 partition 缩小时,你又该如何呢?LVM的出现,正是为了解决这些问题... LVM(全称:Logical Volume Manager 中文名称:逻辑

LVM系统快照

上一章写了LVM的创建.扩展.缩小(上一章链接http://bella41981.blog.51cto.com/10603572/1794365).还差一点没弄明白,那就是LVM的快照,有一个小小的弯没有绕过来,今天终于弄明白了,整理出来和大家分享一下. 2.0.LVM快照 添加磁盘 [[email protected] ~]# vgdisplay ---Volume group --- VGName               vbirdvg System ID Format         

Linux Lvm创建详解

Disk管理 LVM(Logical Volume Manager)逻辑卷管理建立在硬盘和分区之上,文件系统之下的逻辑层,能在保持原有数据不变的状况下动态调整磁盘容量/boot分区不能创建在逻辑卷上(跟启动引导相关)必须独立出来 LVM概念  创建时在硬盘头部预留一个块,用于保存LVM属性PV物理卷--->VG卷组--->LV逻辑卷--->格式化--->挂载使用文件系统 2.LVM管理命令功能          物理卷          卷组          逻辑卷scan(扫描

LVM基本应用 扩展及缩减实现

LVM: Logical Volume Manage 首先: pv管理工具:  pvs:简要pv信息显示  pvdisplay:显示pv的详细信息 pvcreate /dev/DEVICE: 创建pv vg管理工具:  vgs  vgdisplay vgcreate  [-s #[kKmMgGtTpPeE]] VolumeGroupName  PhysicalDevicePath [PhysicalDevicePath...]  vgextend  VolumeGroupName  Physic

Linux Raid和LVM管理

1.磁盘管理 #提示没有partprobe yum -y install parted #新硬盘新建分区,并将类型改为Linux Raid autodetect #非交互方式,注意1与t之间有一个回车键 fdisk /dev/sde <fdisk.txt fdisk.txt: n p 1 1 t fd w #新建分区,注意1与w之间有一个回车键 fdisk /dev/sdf <fdisk1.txt fdisk.txt: n p 1 1 w q #将磁盘格式化为ext4文件系统 mkfs.ext

Centos LVM扩展磁盘实例

环境: centos 前期了解: 最大磁盘问题 1,对lvm2创建的LVM卷来说,容量大小取决于kernel的限制 (当然,还有你的磁盘空间).对lvm1创建的LVM卷来说,LVM逻辑卷最大可能容量取决于所用扩展大小.  计算公式是:65534 * 扩展大小 = 最大逻辑卷大小,默认pe是为4M,范围是8K-16G,lvm1最大扩展到1PB 65534 * 16GB = 1,048,544 GB 2,对于大于2TB的磁盘,应该用parted来分区(下篇文章将会讲解),fdisk只能支持2TB以下

LVM卷配置管理

一.LVM的建立: 1.添加一块新的硬盘sdb: 2.新建四个分区sdb1.sdb2.sdb3.sdb4,分别为1G: 3.将sdb1与sdb2组成pv: 4.新建卷组mfvg,并将sdb1与sdb2加入其中: 5.新建lv: 6.格式化并挂在lv: 7.查看新建的lv: 二.LVM的增大:将mflv增大到4G: 由于pv总大小只有2G,所以需要将pv进行扩展: 2.扩展mfvg: 3.扩展mflv: 4.查看扩展后的mflv: 5.可以看出文件系统并为增加到4G,所以还需如下操作: 6.再次查

linux学习之路之LVM

试想一种情况,当初我们在规划磁盘的时候,只给某一个磁盘或分区之划分了30G的容量,但是后来,随着业务的需求,该磁盘或者分区的使用量会越来越大,等到以后再有数据存放时,发现该磁盘或者分区的容量不够用,此时该怎么办了?可以新增一个磁盘,经过格式化,挂载等过程就可以使用这个磁盘了,再将原来磁盘的数据完全的复制过来.等到后来又发现,规划的磁盘又太大了,然后又使用上述方法来减少磁盘的大小.虽然这种方法可行,但是效率低,比较复杂.不应该是我们首选的方法. 当然,我们可以这样做,将多个磁盘或者分区(PV)组合

Linux-6.5下 MariaDB-10基于LVM快照的备份数据 详解

理解部分: LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性.LVM可以对分区在线扩容,快照,镜像和条带化,功能非常强大.这篇文章的主题就是其中一个功能--快照. 快照(Snapshot)就是关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像.快照可以是其所表示的数据的一个副本,也可以是数据的一个复制品: 其实