本文主要介绍LVM是什么及相关的操作,文末会介绍如何删除Ceph环境上的vg,pv(至于什么是vg和pv,阅读完本文你自然会知道^_^)。
LVM 是什么
LVM(Logical Volume Manager)逻辑卷管理,是在硬盘分区和文件系统之间添加的一个逻辑层,为文件系统屏蔽下层硬盘分区布局,并提供一个抽象的盘卷,在盘卷上建立文件系统。管理员利用LVM可以在硬盘不用重新分区的情况下动态调整文件系统的大小,并且利用LVM管理的文件系统可以跨越物理硬盘。当服务器添加了新的硬盘后,管理员不必将原有的文件移动到新的硬盘上,而是通过LVM直接扩展文件系统来跨越物理硬盘。
LVM就是通过将底层的物理硬盘封装,然后以逻辑卷的方式呈现给上层应用。当我们对底层的物理硬盘进行操作时,不再是针对分区进行操作,而是通过逻辑卷对底层硬盘进行管理操作。
LVM中的一些基本概念
通过 LVM 技术,可以屏蔽掉磁盘分区的底层差异,在逻辑上给文件系统提供了一个卷的概念,然后在这些卷上建立相应的文件系统。下面是 LVM 中主要涉及的一些概念。
物理存储介质(The physical media):LVM存储介质,可以是硬盘分区、整个硬盘、raid阵列或SAN硬盘。设备必须初始化为LVM物理卷,才能与LVM结合使用。
物理卷PV(physical volume):物理卷就是LVM的基本存储逻辑块,但和基本的物理存储介质比较却包含与LVM相关的管理参数,创建物理卷可以用硬盘分区,也可以用硬盘本身。
卷组VG(Volume Group):LVM卷组类似于非LVM系统中的物理硬盘,一个卷组VG由一个或多个物理卷PV组成。可以在卷组VG上建立逻辑卷LV。
逻辑卷LV(logical volume):类似于非LVM系统中的硬盘分区,逻辑卷LV建立在卷组VG之上。在逻辑卷LV之上建立文件系统。
物理块PE(physical Extent):物理卷PV中可以分配的最小存储单元,PE的大小可以指定,默认为4MB
逻辑块LE(Logical Extent):逻辑卷LV中可以分配的最小存储单元,在同一卷组VG中LE的大小和PE是相同的,并且一一对应。
可以这么理解,LVM 是把硬盘的分区分成了更小的单位(PE),再用这些单元拼成更大的看上去像分区的东西(PV),进而用 PV 拼成看上去像硬盘的东西(VG),最后在这个新的硬盘上创建分区(LV)。文件系统则建立在 LV 之上,这样就在物理硬盘和文件系统中间添加了一层抽象(LVM)。下图大致描述了这些概念之间的关系:
对上图中的结构做个简单的介绍:两块物理硬盘 A 和 B 组成了 LVM 的底层结构,这两块硬盘的大小、型号可以不同。PV 可以看做是硬盘上的分区,因此可以说物理硬盘 A 划分了两个分区,物理硬盘 B 划分了三个分区。然后将前三个 PV 组成一个卷组 VG1,后两个 PV 组成一个卷组 VG2。接着在卷组 VG1 上划分了两个逻辑 LV1 和 LV2,在卷组 VG2 上划分了一个逻辑卷 LV3。最后,在逻辑卷 LV1、LV2 和 LV3 上创建文件系统,分别挂载在 /usr、/home 和 /var 目录。
下图展示从pv到lv,然后到我们能看见的目录文件,需要经过的过程(由下到上)示意:
删除LVM:
1. 删除逻辑卷
1 | # lvs |
1 | # lvdisplay |
1 | # lvremove /dev/ceph-03bdcf51-248a-4f09-a131-fcdc4a9a7398/osd-block-dde657b7-88c6-4cc6-8e04-fae98b1f5472 |
2. 删除卷组vg
1 | # pvs |
1 | # vgremove ceph-03bdcf51-248a-4f09-a131-fcdc4a9a7398 |
3.删除物理卷
1 | # pvremove /dev/sda |
清理Ceph环境上的LVM的方法
其实跟上面清理LVM的方法一致,不过可以写简单的语句,方便快速清理:
- 删除卷组vg:
1 | for i in `pvs | grep ceph | awk '{ print $2 }'`; do vgremove -y $i; done |
- 删除物理卷pv:
1 | for i in `pvs | grep dev | awk '{ print $1 }'`; do pvremove -y $i; done |
其他操作
做磁盘分区,创建pv,创建vg,创建lv等等操作,请看下面的参考资料,本文就不赘述了。