Linux 中的逻辑卷 LVM 管理完整初学者指南

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 中的逻辑卷 LVM 管理完整初学者指南相关的知识,希望对你有一定的参考价值。

参考技术A

这是 Linux 中 LVM(逻辑卷管理)的完整初学者指南。

在本教程中,您将了解 LVM 的概念、它的组件以及为什么要使用它。

我不会仅限于理论上的解释,我还将展示在 Linux 中创建和管理 LVM 的动手示例。

简而言之,我将为您提供在现实世界中开始使用 LVM 所需的所有必要信息。

LVM 代表逻辑卷管理。这是管理存储系统的另一种方法,而不是传统的基于分区的方法。在 LVM 中,您无需创建分区,而是创建逻辑卷,然后您可以像挂载磁盘分区一样轻松地将这些卷挂载到文件系统中。

LVM 包含三个主要组件:

尽管该列表由三个部分组成,但其中只有两个是分区系统的直接对应部分,下表记录了这一点。

物理卷没有任何直接对应物,但我很快就会谈到这一点。

LVM 的主要优点是调整卷或卷组的大小非常容易。它抽象出了所有丑陋的部分(分区、原始磁盘),并为我们留下了一个中央存储池可供使用。

如果您曾经经历过分区大小调整的恐惧,那么您会想要使用 LVM。

这篇文章不仅仅是理论。在此过程中,我将展示实际的命令示例,学习某些东西的最佳方法是亲身实践。为此,我建议您使用虚拟机。

为了帮助你,我已经准备了一个简单的 Vagrantfile,你可以用它来用 VirtualBox 启动一个非常轻量级的虚拟机。此虚拟机具有三个额外的磁盘,您和我可以将它们用于下面的命令示例。

在文件系统的某处创建一个目录,并将以下内容保存在该文件中,名为Vagrantfile.

或者,如果您愿意,可以使用wget或curl从我的 gist 下载文件。

确保你安装了Vagrant和VirtualBox。

一旦 Vagrantfile 就位,将环境变量设置VAGRANT_EXPERIMENTAL为disks.

最后,使用以下命令启动虚拟机(确保您与 Vagrantfile 位于同一目录中):

机器运行后,您可以使用vagrant sshSSH 连接到它并运行本文中的示例命令。

完成后请记住vagrant destroy从与 Vagrantfile 相同的目录运行。

在您可以使用任何命令之前,您需要安装该lvm2软件包。这应该预装在大多数现代发行版中,尤其是基于 Ubuntu 的发行版中。但是,在继续之前,我不得不提到这一点。要安装lvm2,请查阅您的发行版的文档。

对于这个动手演练,我构建了一个具有 40G 根存储(不重要)和三个大小为 5G 的外部磁盘的虚拟机。这些磁盘的大小是任意的。

如您所见,我将使用的设备sdc是sdd和sde。

还记得我告诉过你 LVM 包含三个主要组件吗?

是时候一一见他们了。

关于 LVM,您首先需要了解的是物理卷。物理卷是用于实现抽象即逻辑卷的原材料或构建块。简单来说,物理卷是 LVM 系统的逻辑单元。

物理卷可以是任何东西,原始磁盘或磁盘分区。创建和初始化物理卷是一回事。两者都意味着您只是在为进一步的操作准备构建块(即分区、磁盘)。这将在瞬间变得更加清晰。

实用程序:pv所有管理物理卷的实用程序都以P hysical Volume的字母开头。例如pvcreate, pvchange,pvs等pvdisplay。

您可以使用原始未分区磁盘或分区本身来创建物理卷。

正如我之前提到的,我的虚拟机连接了三个外部驱动器,让我们从/dev/sdc.

我们使用pvcreate命令来创建物理卷。只需将设备名称传递给它即可。

你应该看到这样的东西:-

接下来我将/dev/sdd分成相等的部分。使用任何工具cfdisk,,,等parted,fdisk有很多工具可以完成这项工作。

您现在可以在一个步骤中从这两个分区中快速创建另外两个物理卷,同时将这两个设备传递给pvcreate。

看一看:-

您可以使用三个命令来获取可用物理卷的列表pvscan,pvs和pvdisplay。您通常不需要向这些命令传递任何内容。

pvscan:-

pvs:-

pvdisplay:-

正如您所看到的,除了列出物理卷之外,这些命令还为您提供了大量有关这些卷的其他信息。

pvremove您可以使用该命令删除物理卷。就像pvcreate,只需将设备(初始化为物理卷)传递给pvremove命令。

为了演示,我将从/dev/sdd2列表中删除。

输出应与此相同:-

现在列出物理卷sudo pvs

/dev/sdd2不再在这里。

卷组是物理卷的集合。它是 LVM 中的下一个抽象级别。卷组是结合了多个原始存储设备的存储容量的存储池。

实用程序:所有卷组实用程序名称都以 开头vg,代表卷组,例如、等。vgcreatevgsvgrename

卷组是使用该vgcreate命令创建的。的第一个参数vgcreate是您要为该卷组指定的名称,其余的是要支持存储池的物理卷的列表。

例子:-

列出卷组类似于列出物理卷,您可以使用具有不同详细级别的不同命令vgdisplay、vgscan和vgs。

我个人更喜欢vgs命令,sudo vgs

您可以使用以下命令列出连接到特定卷组的所有物理卷:-

例子:-

您还可以获得物理卷的计数。

例子:-

扩展卷组意味着向卷组添加额外的物理卷。为此,vgextend使用该命令。语法很简单:-

让我们将lvm_tutorial音量扩大/dev/sdd2.

专注于输出:-

在物理卷部分,我们最终将其/dev/sdd2作为物理卷删除,但必须将分区或原始磁盘初始化为物理卷,否则 LVM 将无法将其作为卷组的一部分进行管理。所以在将它添加到卷组之前vgextend做好准备。/dev/sdd2

现在列出附加到此卷组的物理卷,以确保安全。

输出:-

/dev/sdd2现在按预期在列表中。

就像扩展一个卷组意味着添加另一个物理卷一样,减少它意味着删除一个或多个物理卷。

我们使用vgreduce命令来执行此操作。一般语法如下:-

让我们删除物理卷/dev/sdc和/dev/sdd1.

例子:-

再次列出物理卷。

输出:-

那两个物理卷不见了。

现在,为了本文的其余部分,将这两个物理卷添加回来。

vgremove您可以使用该命令删除逻辑卷。

现在不要运行此命令,否则您必须重新创建卷组。如果您想对其进行测试,请在本文的最后运行它。

这是您将主要使用的内容。逻辑卷就像一个分区,但它不是位于原始磁盘之上,而是位于卷组之上。你可以,

在本节中,您将学习,

实用程序 :所有卷组实用程序名称都以 开头lv,代表逻辑卷。例如, ,等等, ,等等lvcreatelvslvreducevgcreatevgsvgrename

lvcreate使用该命令创建逻辑卷。常用的语法如下所示,

在虚拟机上运行以下命令:

示例输出:

正如我之前所说,您可以将文件系统放在逻辑卷上,也可以将其挂载到文件系统的任何位置。

/dev/ / 创建后,您可以在路径中找到逻辑卷。例如,在我们的例子中,音量将在 /dev/lvm_tutorial/lv1 .

现在您可以像使用任何分区一样使用它。用ext4格式化,

将它安装在当前目录结构中的某个位置,例如/mnt,

您可以使用命令扩展逻辑卷lvextend并使用命令减小其大小lvreduce。或者,您可以使用单个命令lvresize来完成这两项任务。

首先让我们看看卷组中是否还有剩余空间。

输出:-

根据输出,我还有一些空间,所以让我们将卷大小增加 2GB。

请记住,逻辑卷仍安装在/mnt.

使用以下命令调整卷大小:

一般语法是这样的:

后面的符号 + 或 --L取决于您是尝试增加音量还是分别减小音量。

卷大小增加后,文件系统也必须调整大小。对于 ext4,要使用的命令是resize2fs.

输出:

减少逻辑卷是一项稍微复杂的任务,我不会在本文中讨论这个问题。我将把这个卷的大小减少 1GB。

lvremove您可以使用该命令删除逻辑卷。命令语法如下:-

在虚拟机上运行此命令:-

输出:-

在逻辑卷、物理卷和卷组上还有许多其他操作可行,但不可能将所有这些都写到一篇文章中。

我/dev/sde在虚拟机中为您多留了一个磁盘,使用它,练习本文中的一些命令,创建一个新的卷组,扩展一个现有的卷组,只是练习。

我希望这篇文章对你有所帮助,如果你想在以后看到更多关于这方面的内容,请在下面的评论部分告诉我。

以上是关于Linux 中的逻辑卷 LVM 管理完整初学者指南的主要内容,如果未能解决你的问题,请参考以下文章

转载Linux磁盘管理:LVM逻辑卷管理

linux中的高级存储管理之逻辑卷管理器LVM

lvm(逻辑卷管理)最全案例解析

LVM逻辑卷的缩减与删除,LVM逻辑卷快照,btrfs文件系统,网络管理

Linux磁盘管理:LVM逻辑卷基本概念及LVM的工作原理

LINUX逻辑卷(LVM)管理与逻辑卷分区