lvm 2(逻辑卷管理)基础详解

目录

◆ 什么是逻辑卷(lvm)及其有什么优点

◆ 逻辑卷的组成和基础概念

逻辑卷原理图

◆ lvm的实现流程

◆ 放大lV容量

◆ 缩小lv容量

◆ LVM的系统快照

◆ 练习题

*什么是逻辑卷?

LVM是Logical Volume Manager(逻辑卷管理器)的简写。是Linux核心所提供的逻辑卷管理(Logical Volume Management功能。它在硬盘的硬盘分区之上,又创建了一个逻辑层以方便系统管理硬盘分区系统。LVM的做法是将任何块设备(分区,硬盘,raid)通过软件组合起来看起来就像是独立的大磁盘,然后将这块大磁盘再分为可使用的分区lV,挂载使用。

LVM的优点:

它是建立在物理存储设备之上的一个抽象层,允许用户生成逻辑存储卷,与直接使用物理存储在管理上相比,提供了更好灵活性;

LVM将存储虚拟化,使用逻辑卷,用户不会受限于物理磁盘的大小;另外,与硬件相关的存储设置被器隐藏,用户可以不用停止应用或卸载文件系统来调整卷大小或数据迁移,可以减少操作成本。

LVM与直接使用物理存储相比,有以下优点:

1、  灵活的容量

当使用逻辑卷时,文件系统可以扩展到多个磁盘上,你可以聚合多个磁盘或磁盘分区成单一的逻辑卷.

2、  可伸缩的存储池;

你可以使用简单的命令来扩大或缩小逻辑卷大小,不用重新格式化或分区磁盘设备.

3、  在线的数据再分配

你可以在线移动数据,数据可以在磁盘在线的情况下重新分配.比如,你可以在线更换可热插拔的磁盘.

4、  方便的设备命名;

逻辑卷可以按你觉得方便的方式来起任何名称.

5、  磁盘条块化

你可以生成一个逻辑盘,它的数据可以被条块化存储在2个或更多的磁盘上.这样可以明显提升数据吞吐量.

6、  镜像卷

逻辑卷提供方便的方法来镜像你的数据.

7、  卷快照

使用逻辑卷,你可以获得设备快照用来一致性备份或者测试数据更新效果而不影响真实数据.

* 逻辑卷的组成和基础概念

 物理存储介质(The Physical Media):

    这里指系统的存储设备,如:/dev/hda1、/dev/sda等等,是存储系统最低层的存储单元。

  • 物理卷(PV,Physical Volume):

物理卷就是指磁盘,磁盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的    物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。当前LVM允许你在每个物理卷上保存这个物理卷的0    至2份元数据拷贝。默认为1,保存在设备的开始处。为2时,在设备结束处保存第二份备份。

  • 卷组(VG,Volume Group):

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

  • PE:PE是建立VG后将存储空间分成的块,不同于文件系统的block,也不同于raid的chunk,默认大小是,相当于lV的基础块大小
  • 逻辑卷(LV,Logical Volume):

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

  • 快照卷(SnapshotVolumes)

快照卷提供在特定瞬间的一个设备虚拟映像,当快照开始时,它复制一份对当前数据区域的改变,由于它优先执行这些改变,所以它可以重构当前设备的状态。

* 逻辑卷的结构图

Physicalvolume (PV)、Volume group (VG)、Logicalvolume(LV)、 Physical extent (PE),下面我们用一个简单

的图来说明下物理卷、卷组、逻辑卷他们之间的关系:(该图来自于网络)

逻辑卷的创建,就是将多块硬盘创建物理卷,而将这些物理卷以逻辑的形式总成一个容器,然后从这个容器里面创建大小不同的分区文件,而这个容器就是所谓的卷组(VG),而从这个容器里创建大小不同的分区文件,这个分区文件就叫做逻辑卷。

PV阶段的相关命令;

pv相关的常用命令: 格式: command <device>

pvcreate:将物理分区新建成为PV

pvscan:查询出目前系统里面任何具有pv的磁盘

pvdisplay:显示出目前系统上面的pv详细状态

pvremove:将pv属性删除,让该分区不具有pv属性

VG阶段的相关命令:

vgcreate:创建vg的命令

vgcreate [options] VG名称 PV名称

-s: 指定PE大小
        vgscan;查找系统上是否有VG存在

vgdisplay:显示目前系统上面的VG状态

vgextend:在VG内增加额外的PV

vgreduce:在VG内删除PV

vgchange;设置VG是否启动

vgremove:删除一个VG

LV阶段相关的命令:

lvcreate [options]  -n lV名称 VG名称

-L:设定VG的大小

lvresize -l +-# <device>

resize2fs [-f] [device] [size]

-f:强制执行resize操作

size:如果不加该选项,默认是使用整个分区的容量来处理

*LVM的实现过程

1.分出三个同为2G的分区,且systemID调为8e

[[email protected] ~]# fdisk /dev/sdb -l

...

Device Boot      Start         End      Blocks   Id  System

/dev/sdb1            2048     4196351     2097152   83  Linux

/dev/sdb2         4196352   104857599    50330624    5  Extended

/dev/sdb5         4198400     8392703     2097152   83  Linux

/dev/sdb6         8394752    12589055     2097152   83  Linux

/dev/sdb7        12591104    16785407     2097152   83  Linux

2.创建pv

[[email protected] ~]# pvcreate /dev/sdb{5,6,7,8}

Physical volume "/dev/sdb5" successfully created

Physical volume "/dev/sdb6" successfully created

Physical volume "/dev/sdb7" successfully created

全部的分区整合成为一个VG,VG的名称设置为myvg;且PE的大小为16M;

[[email protected] ~]# vgcreate -s 16M myvg /dev/sdb{5,6}

Volume group "myvg" successfully created

全部的VG容量给LV(可以分给多个LV),LV的名称为mylv;

[[email protected] ~]# lvcreate -L 2G -n mylv myvg

Logical volume "mylv" created.

最终格式化这个LV为ext3的文件系统,且挂载在/mnt/lvm中;

[[email protected] ~]# mke2fs -t ext3 /dev/myvg/mylv

[[email protected] ~]# mkdir /mnt/lvm

[[email protected] ~]# mount /dev/myvg/mylv /mnt/lvm/

[[email protected] ~]# df

Filesystem              1K-blocks    Used Available Use% Mounted on

...

/dev/sr0                  7587292 7587292         0 100% /run/media/lxy/CentOS 7 x86_64

tmpfs                      123892       0    123892   0% /run/user/0

/dev/mapper/myvg-mylv     1998672    3140   1890676   1% /mnt/lvm

*放大LV容量

因为前面我已经预留了一个分区,前两步可以略过

1.新增8e类型的分区

2.利用pvcreate构建pv

3.利用vgextend加入myvg中

[[email protected] ~]# vgextend myvg /dev/sdb7

^[[5~  Volume group "myvg" successfully extended

[[email protected] ~]# vgdisplay myvg

--- Volume group ---

VG Name               myvg

System ID

Format                lvm2

Metadata Areas        3

Metadata Sequence No  3

VG Access             read/write

VG Status             resizable

MAX LV                0

Cur LV                1

Open LV               1

Max PV                0

Cur PV                3

Act PV                3

VG Size               14.95 GiB

PE Size               16.00 MiB

Total PE              957

Alloc PE / Size       128 / 2.00 GiB

Free  PE / Size       829 / 12.95 GiB

VG UUID               re5Y8m-2NWR-zGFI-XqXn-ByGY-RCG8-rYQwn2

4.利用lvresize将新加入的pv内的pe加入到mylv中

[[email protected] ~]# lvresize -l +829 /dev/myvg/mylv

Size of logical volume myvg/mylv changed from 2.00 GiB (128 extents) to 14.95 GiB (957 extents).

Logical volume mylv successfully resized.

[[email protected] ~]# df /mnt/lvm

Filesystem            1K-blocks  Used Available Use% Mounted on

/dev/mapper/myvg-mylv   1998672  7624   1886192   1% /mnt/lvm

5.resize2fs将文件系统的容量确实增加

[[email protected] ~]# resize2fs /dev/myvg/mylv

resize2fs 1.42.9 (28-Dec-2013)

Filesystem at /dev/myvg/mylv is mounted on /mnt/lvm; on-line resizing required

old_desc_blocks = 1, new_desc_blocks = 1

The filesystem on /dev/myvg/mylv is now 3919872 blocks long.

[[email protected] ~]# df /mnt/lvm

Filesystem            1K-blocks  Used Available Use% Mounted on

/dev/mapper/myvg-mylv  15367152  9656  14709644   1% /mnt/lvm

*  缩减LVM

缩减前准备:

查看逻辑卷使用空间情况;

不能在线缩减,得先卸载;

确保缩减后的空间大小依然能存储原有的所有数据;

在缩减之后应该先强行检查文件,以确保文件系统处于一致性状态;

  1. 本处想将/dev/sdb7抽离出来,要先查看/dev/sdb7的容量大小,然后计算剩余空间是否足够使用

[[email protected] ~]# pvdisplay /dev/sdb7

--- Physical volume ---

PV Name               /dev/sdb7

VG Name               myvg

PV Size               5.00 GiB / not usable 16.00 MiB

Allocatable           yes (but full)

PE Size               16.00 MiB

Total PE              319

Free PE               0

Allocated PE          319

PV UUID               fzz8ky-ToC9-dyc3-L6te-sffl-MjxO-srV1Xn

[[email protected] ~]# pvscan

PV /dev/sda2   VG centos   lvm2 [99.51 GiB / 64.00 MiB free]

PV /dev/sdb5   VG myvg     lvm2 [4.98 GiB / 0    free]

PV /dev/sdb6   VG myvg     lvm2 [4.98 GiB / 0    free]

PV /dev/sdb7   VG myvg     lvm2 [4.98 GiB / 0    free]

Total: 4 [114.46 GiB] / in use: 4 [114.46 GiB] / in no VG: 0 [0   ]

剩余的pv大小:4.98+4.98=9.96GB

[[email protected] ~]# umount /mnt/lvm

[[email protected] ~]# resize2fs /dev/myvg/mylv ^C

[[email protected] ~]# lvscan

ACTIVE            ‘/dev/myvg/mylv‘ [14.95 GiB] inherit

[[email protected] ~]# e2fsck -f /dev/myvg/mylv

[[email protected] ~]# resize2fs /dev/myvg/mylv 10G

resize2fs 1.42.9 (28-Dec-2013)

Resizing the filesystem on /dev/myvg/mylv to 2621440 (4k) blocks.

The filesystem on /dev/myvg/mylv is now 2621440 blocks long.

[[email protected] ~]# mount /dev/myvg/mylv /mnt/lvm/

[[email protected] ~]# df /mnt/lvm/

Filesystem            1K-blocks  Used Available Use% Mounted on

/dev/mapper/myvg-mylv  10255672  9148   9813272   1% /mnt/lv

时间: 2024-07-31 20:16:00

lvm 2(逻辑卷管理)基础详解的相关文章

Linux逻辑卷管理LVM2详解

一. 前言LVM是逻辑卷管理(Logical Volume Manager)的简称,它是建立在物理存储设备之上的一个抽象层,允许你生成逻辑存储卷,与直接使用物理存储在管理上相比,提供了更好灵活性.LVM将存储虚拟化,使用逻辑卷,你不会受限于物理磁盘的大小,另外,与硬件相关的存储设置被其隐藏,你可以不用停止应用或卸载文件系统来调整卷大小或数据迁移.这样可以减少操作成本.LVM与直接使用物理存储相比,有以下优点:1. 灵活的容量.当使用逻辑卷时,文件系统可以扩展到多个磁盘上,你可以聚合多个磁盘或磁盘

Linux LVM逻辑卷配置过程详解

Linux LVM逻辑卷配置过程详解 许多Linux使用者安装操作系统时都会遇到这样的困境:如何精确评估和分配各个硬盘分区的容量,如果当初评估不准确,一旦系统分区不够用时可能不得不备份.删除相关数据,甚至被迫重新规划分区并重装操作系统,以满足应用系统的需要. LVM是Linux环境中对磁盘分区进行管理的一种机制,是建立在硬盘和分区之上.文件系统之下的一个逻辑层,可提高磁盘分区管理的灵活性.RHEL5默认安装的分区格式就是LVM逻辑卷的格式,需要注意的是/boot分区不能基于LVM创建,必须独立出

lvm(逻辑卷管理)的魅力

近来,随着课程的深入,开始接触到lvm逻辑卷.由开始的不懂,到现在的半知半懂,慢慢的感受到了lvm逻辑卷由内而外散发出的魅力.作为一个小白,为了能更好地学习和理解lvm逻辑卷的知识,特趁着难得的休息时间,总结一下自己所学的关于lvm逻辑卷的知识,有错误的地方,请各位大神指正,共同学习! 本人认为lvm逻辑卷主要有两大魅力: 1.逻辑卷的边界是可变化的. 2.lvm支持快照(snapshot). 各位看官别着急,且听小生慢慢说来: 前言 首先,让我们思考一个问题:为什么会出现LVM技术? 本人是这

CentOS 6.3下配置LVM(逻辑卷管理

CentOS 6.3下配置LVM(逻辑卷管理) 一.简介 LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性. LVM的工作原理其实很简单,它就是通过将底层的物理硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用.在传统的磁盘管理机制中,我们的上层 应用是直接访问文件系统,从而对底层的物理硬盘进行读取,而在LVM中,其通过对底层的硬盘进行封装,当我们对

配置LVM(逻辑卷管理)

配置LVM(逻辑卷管理) 一.简介 LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性. LVM的工作原理其实很简单,它就是通过将底层的物理硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用.在传统的磁盘管理机制中,我们的上层应用是直接访问文件系统,从而对底层的物理硬盘进行读取,而在LVM中,其通过对底层的硬盘进行封装,当我们对底层的物理硬盘进行操作时

LVM(逻辑卷管理器)部署

物理卷 -- Physical Volume -- PV 卷组  -- Volume Group  -- VG 逻辑卷 -- Logical Volume -- LV 1.硬盘设备管理技术虽然能够有效的提高硬盘设备的读写速度以及数据的安全性,但是在硬盘分好区或者部署为 RAID 的磁盘阵列之后,再想修改硬盘分区大小就不容易了.当用户想要随着实际需求的变化调整硬盘分区的大小时,会受到硬盘“灵活性”的限制,这是需要用到另一一项非常普及的硬盘设备资源管理技术——LVM(逻辑卷管理器),LVM 可以允许

CentOS 6.3下配置LVM(逻辑卷管理)

一.简介 LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性. LVM的工作原理其实很简单,它就是通过将底层的物理硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用.在传统的磁盘管理机制中,我们的上层应用是直接访问文件系统,从而对底层的物理硬盘进行读取,而在LVM中,其通过对底层的硬盘进行封装,当我们对底层的物理硬盘进行操作时,其不再是针对于分区进行操

LVM(逻辑卷管理)

一.简介 LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是基于内核的一种逻辑卷管理器,LVM适合于管理大存储设备,并允许用户动态调整文件系统大小.此外,LVM的快照功能可以帮助我们快速备份数据.LVM为我们提供了逻辑概念上的磁盘,使得文件系统不在关心底层物理磁盘的概念.并且它是Linux环境下对磁盘分区进行管理的一种机制,使用lvm用户可以在无需停机的情况下方便地调整各个分区大小. 看图识LVM 二.LVM基本概念 1.Physical Volume(PV),物理

运维学习之lvm(逻辑卷管理)

前言注释:LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它由Heinz Mauelshagen在Linux 2.4内核上实现,目前最新版本为:稳定版1.0.5,开发版 1.1.0-rc2,以及LVM2开发版.Linux用户安装Linux操作系统时遇到的一个常见的难以决定的问题就是如何正确地评估各分区大小,以分配合适的硬盘空间.普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时

Linux 服务器配置LVM(逻辑卷管理)

LVM简介 LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和 分区之上的一个逻辑层,来提高磁盘分区管理的灵活性.LVM将若干个磁盘分区连接为一个整块的卷组 (volumegroup),形成一个存储池.管理员可以在卷组上随意创建逻辑卷组(logicalvolumes),并进一步在逻辑卷组上创建文件系 统. 与传统的磁盘与分区相比,LVM为计算机提供了更高层次的磁盘存储.它使系统管理员可以更方便的为应用