LVM- Linux磁盘逻辑卷管理器

image.png

背景

在开发环境中我们通过Kubernetes部署了一个MySQL的Pod供我们进行开发使用,其PVC的大小80G,由于近期开发的一个项目数据量较大,产生需要进行容量扩容的需求,我们的操作步骤是先升级磁盘(阿里云磁盘挂载到Kubernetes节点上,通过亲和性配置Pod到该机器上)大小为256G,修改PVC的存储大小后其MySQL的Pod并没有并未能读取到扩容后的容量大小。

后面经过同事的指导在进行磁盘的扩容后还需要在节点上对磁盘进行resize文件系统重定义大小才能识别到最新的容量

基于个人对这一块了解较少,所以想系统性的学习一下这一块的知识进行记录

文件系统

Linux 支持的不同类型的文件系统:

  • 传统磁盘文件系统:ext2、ext3、ext4、XFS、Btrfs、JFS、NTFS等。
  • 闪存文件系统:ubifs、JFFS2、YAFFS 等。
  • 数据库文件系统
  • 特殊用途的文件系统:procfs、sysfs、tmpfs、squashfs、debugfs 等。

磁盘

物理卷

逻辑卷

LVM(Logical Volume Manager)是一种逻辑卷管理器,它可以将物理硬盘的存储空间分割成逻辑卷,以便更加灵活地管理存储空间。使用LVM,可以将多个物理硬盘或分区组合成一个逻辑卷组(Volume Group),然后在逻辑卷组中创建逻辑卷(Logical Volume),并将其格式化为文件系统以供使用。LVM还支持动态扩展和缩小逻辑卷,而无需重新分区或重新格式化磁盘。

下面是LVM的一些核心概念:

  1. 物理卷(Physical Volume):物理硬盘或分区被称为物理卷,可以使用LVM命令将其添加到逻辑卷组中。
  2. 逻辑卷组(Volume Group):逻辑卷组是由一个或多个物理卷组成的逻辑单元,它可以被分割成多个逻辑卷。
  3. 逻辑卷(Logical Volume):逻辑卷是逻辑卷组中的一个逻辑分区,它可以被格式化为文件系统,并用于存储数据。
  4. 物理区(Physical Extent):物理区是LVM中最小的存储单元,通常为4MB或8MB。逻辑卷组和逻辑卷都是由一系列物理区组成的。
  5. LVM元数据(LVM Metadata):LVM元数据是LVM用来描述逻辑卷组和逻辑卷的信息,包括逻辑卷组的物理卷、逻辑卷组中的逻辑卷和其大小等信息。LVM元数据通常存储在逻辑卷组的开头或结尾。

以下是一些常用的LVM命令:

  1. pvcreate:用于创建物理卷。
  2. vgcreate:用于创建逻辑卷组。
  3. lvcreate:用于在逻辑卷组中创建逻辑卷。
  4. pvdisplay:用于显示物理卷的信息。
  5. vgdisplay:用于显示逻辑卷组的信息。
  6. lvdisplay:用于显示逻辑卷的信息。
  7. pvresize:用于调整物理卷的大小。
  8. vgextend:用于将物理卷添加到逻辑卷组中。
  9. lvextend:用于扩展逻辑卷的大小。
  10. pvmove:用于将物理卷上的数据移动到其他物理卷上。
  11. lvremove:用于删除逻辑卷。
  12. vgremove:用于删除逻辑卷组。
  13. pvremove:用于删除物理卷。
  14. lvresize:用于调整逻辑卷的大小。

LVM是Linux系统中的磁盘管理技术之一,属于Linux系统中的存储管理技术体系。在Linux系统中,存储管理技术包括磁盘分区、文件系统和磁盘容量管理等方面,而LVM则是其中的一种磁盘容量管理技术。LVM的出现是为了解决磁盘管理的一些问题,如磁盘分区不够灵活、磁盘容量扩展不方便等。
除了LVM,Linux系统中还有其他一些存储管理技术,例如RAID(磁盘阵列)、LVM的快照技术、文件系统的加密和压缩等。这些技术都是Linux系统中的存储管理技术的一部分,它们可以相互配合使用,以实现更加灵活、高效、安全的存储管理。

挂载

在一个区被格式化为一个文件系统之后,它就可以被Linux操作系统使用了,只是这个时候Linux操作系统还找不到它,所以我们还需要把这个文件系统「注册」进Linux操作系统的文件体系里,这个操作就叫「挂载」 (mount)。
挂载是利用一个目录当成进入点(类似选一个现成的目录作为代理),将文件系统放置在该目录下,也就是说,进入该目录就可以读取该文件系统的内容,类似整个文件系统只是目录树的一个文件夹(目录)。
这个进入点的目录我们称为「挂载点」。
由于整个 Linux 系统最重要的是根目录,因此根目录一定需要挂载到某个分区。 而其他的目录则可依用户自己的需求来给予挂载到不同的分去。

资料

  1. https://phoenixnap.com/kb/linux-file-system
  2. https://www.kernel.org/doc/html/latest/filesystems/vfs.html#introduction

LVM- Linux磁盘逻辑卷管理器
https://mikeygithub.github.io/2023/05/19/yuque/LVM - Linux磁盘逻辑卷管理器/
作者
Mikey
发布于
2023年5月19日
许可协议