我们在使用linux的时候,有的时候会发现系统盘不够用的情况 。如果系统盘或者其它盘能够做到弹性就好了 。也就是需要更多空间的时候可以动态扩容,而不需要的时候可以缩容 。
有一种方法就是通过SAN存储,因为存储系统天然具有扩容和缩容的功能特性 。但是SAN存储需要一个独立的设备,而且价格也很高,不太现实 。其实在Linux中我们可以通过软件实现,这就是Linux强大的地方 。今天我们就介绍一下这方面的内容 。
LVM的整体架构在Linux实现动态扩容和缩容特性的软件称为LVM,其全称是Logical Volume Manager,也就是逻辑卷管理 。LVM不仅仅可以实现动态扩容和缩容,还可以实现其它一些特性,比如条带化卷,镜像卷等等 。LVM的整体架构如图所示 。
文章插图
通过上图可以看到,LVM包含3个基本的概念,分别是Physical Volume(PV),Volume Group(VG)和Logical Volume (LV) 。我们分别介绍一下这个三个概念 。
物理卷(Physical Volume)物理卷对应着一个块设备,可以是整个磁盘,或者是磁盘分区 。物理卷通过pvcreate创建,本质上是想块设备写入一些元数据 。
卷组(Volume Group)卷组是多个物理卷的集合,当我们创建一个卷组的时候需要指定包含的物理卷 。此时,实际上是构建了一个物理卷的资源池 。当后面创建逻辑卷的时候会从该资源池分配资源 。
逻辑卷(Logical Volume)逻辑卷本身是一个块设备,是用户看到的部分,我们可以将逻辑卷理解为一个硬盘 。但是逻辑卷实际上是由底层的若干个物理卷构成 。但是一个逻辑卷并非使用物理卷的所有空间,通常是部分空间 。
LVM的操作前文我们对LVM的基本概念和架构进行了介绍,接下来我们就实际操作一下 。具体如下图所示,每个概念对应着一个操作命令,分别是pvcreate,vgcreate和lvcreate 。这些是创建的命令,从名称上也可以很容易地明白其作用 。
文章插图
我们从下往上看看如何创建需要的资源,比如我们要创建一个1G的逻辑卷 。
创建PV首先是要创建PV,也就是准备物理的资源 。在本文中我们假设有两个物理磁盘,并且在整个磁盘上创建物理卷,而不是在分区上 。
文章插图
除了创建命令外,还有查询命令,具体包括pvdisplay和pvs,分别显示详细信息和概要信息 。
创建VG完成PV的创建后,我们就可以创建卷组了 。卷组的创建命令如下所示 。
vgcreate vg-01 /dev/sdb /dev/sdc
创建完成后可以看一下信息:文章插图
创建LV最后,我们就可以创建逻辑卷了 。假设我们这里创建一个线性的逻辑卷,大小为1GB,具体命令如下所示 。
lvcreate -L 1G -n lv_linear vg-01Logical volume "lv_linear" created
通过lvdispaly命令可以看一下详细信息 。【介绍一种可以让Linux中存储具有弹性容量的方法】
文章插图
除了线性卷之外,我们还可以创建条带卷 。关于具体什么是线性卷,什么是条带卷,本文不做解释,我们后面在介绍LVM的原理的时候再详细介绍 。
# lvcreate -L 1G -i2 -I64 -n lv_stripe vg-01创建完成后照例可以看一下详细的信息 。
Logical volume "lv_stripe" created
文章插图
LV创建成功后,我们就可以当做硬盘来使用了,用法跟普通硬盘没有差别 。
扩容操作有了前面的知识,我们回归主题,如何进行扩容呢?其实就比较简单了 。前文我们创建的VG的大小35G,而LV只用了1GB的空间 。因此,我们可以直接对LV进行扩容,比如我们增加10GB的容量,可以执行如下命令 。
lvextend -L+10G /dev/vg_01/lv_linear
是不是很简单!如果上面已经有文件系统了,只需要执行如下命令即可 。
resize2fs /dev/vg_01/lv_linear
还有一种情况是VG的容量使用完了 。也没有关系,我们可以添加新的硬盘到VG,然后执行上面介绍的命令 。今天的内容就介绍到这里,相信大家对如何实现一个弹性容量的存储有了清晰的认识了 。我们在后续会逐步深入,介绍LVM的实现原理,并结合内核代码介绍其代码实现 。
推荐阅读
- 送分来了,华为一面,介绍下五种 IO 模型
- 半边瘫可以治疗吗 半边瘫痪怎么治疗
- 上海园园通;八运会吉祥物圆圆介绍
- 因可以组什么词_引组什么词
- 文玩|可以汗手盘玩的菩提子种类
- 扎心|多地出现“限工令”?86年以上的农民工可以走了,扎心又无奈!
- 美国丹佛啤酒节;丹佛国际机场介绍?
- 12306可以选上下铺吗—手机12306选择上下铺技巧有哪些?
- 二十四节气来源简短介绍 二十四节气来源于
- 毕业论文题目怎么写 毕业论文题目怎么定