如何在 Ubuntu 中管理和使用逻辑卷管理 LVM

在我们之前的文章中,我们介绍了什么是 LVM 以及能用 LVM 做什么,今天我们会给你介绍一些 LVM 的主要管理工具,使得你在设置和扩展安装时更游刃有余。

正如之前所述,LVM 是介于你的操作系统和物理硬盘驱动器之间的抽象层。这意味着你的物理硬盘驱动器和分区不再依赖于他们所在的硬盘驱动和分区。而是你的操作系统所见的硬盘驱动和分区可以是由任意数目的独立硬盘汇集而成的或是一个软件磁盘阵列。

要管理 LVM,这里有很多可用的 GUI 工具,但要真正理解 LVM 配置发生的事情,最好要知道一些命令行工具。这当你在一个服务器或不提供 GUI 工具的发行版上管理 LVM 时尤为有用。

LVM 的大部分命令和彼此都非常相似。每个可用的命令都由以下其中之一开头:

物理卷命令用于在卷组中添加或删除硬盘驱动。卷组命令用于为你的逻辑卷操作更改显示的物理分区抽象集。逻辑卷命令会以分区形式显示卷组,使得你的操作系统能使用指定的空间。

可下载的 LVM 备忘单

为了帮助你理解每个前缀可用的命令,我们制作了一个备忘单。我们会在该文章中介绍一些命令,但仍有很多你可用但没有介绍到的命令。

该列表中的所有命令都要以 root 身份运行,因为你更改的是会影响整个机器系统级设置。

如何查看当前 LVM 信息

你首先需要做的事情是检查你的 LVM 设置。s 和 display 命令可以和物理卷(pv)、卷组(vg)以及逻辑卷(lv)一起使用,是一个找出当前设置的好起点。

display 命令会格式化输出信息,因此比 s 命令更易于理解。对每个命令你会看到名称和 pv/vg 的路径,它还会给出空闲和已使用空间的信息。

最重要的信息是 PV 名称和 VG 名称。用这两部分信息我们可以继续进行 LVM 设置。

创建一个逻辑卷

逻辑卷是你的操作系统在 LVM 中使用的分区。创建一个逻辑卷,首先需要拥有一个物理卷和卷组。下面是创建一个新的逻辑卷所需要的全部命令。

创建物理卷

我们会从一个全新的没有任何分区和信息的硬盘开始。首先找出你将要使用的磁盘。(/dev/sda, sdb, 等)

注意:记住所有的命令都要以 root 身份运行或者在命令前面添加 ‘sudo’ 。

如果之前你的硬盘从未格式化或分区过,在 fdisk 的输出中你很可能看到类似下面的信息。这完全正常,因为我们会在下面的步骤中创建需要的分区。

我们的新磁盘位置是 /dev/sdb,让我们用 fdisk 命令在磁盘上创建一个新的分区。

这里有大量能创建新分区的 GUI 工具,包括 Gparted,但由于我们已经打开了终端,我们将使用 fdisk 命令创建需要的分区。

在终端中输入以下命令:

这会使你进入到一个特殊的 fdisk 提示符中。

以指定的顺序输入命令创建一个使用新硬盘 100% 空间的主分区并为 LVM 做好了准备。如果你需要更改分区的大小或想要多个分区,我建议使用 GParted 或自己了解一下关于 fdisk 命令的使用。

警告:下面的步骤会格式化你的硬盘驱动。确保在进行下面步骤之前你的硬盘驱动中没有任何有用的信息。

输入 enter 键两次以接受默认的第一个和最后一个柱面。

用下面的命令准备 LVM 所使用的分区。

t = 更改分区类型8e = 更改为 LVM 分区类型

核实并将信息写入硬盘。

p = 查看分区设置使得在写入更改到磁盘之前可以回看w = 写入更改到磁盘

运行这些命令之后,会退出 fdisk 提示符并返回到终端的 bash 提示符中。

输入 pvcreate /dev/sdb1 在刚创建的分区上新建一个 LVM 物理卷。

你也许会问为什么我们不用一个文件系统格式化分区,不用担心,该步骤在后面。

创建卷组

现在我们有了一个指定的分区和创建好的物理卷,我们需要创建一个卷组。很幸运这只需要一个命令。

vgpool 是新创建的卷组的名称。你可以使用任何你喜欢的名称,但建议标签以 vg 开头,以便后面你使用它时能意识到这是一个卷组。

创建逻辑卷

创建 LVM 将使用的逻辑卷:

-L 命令指定逻辑卷的大小,在该情况中是 3 GB,-n 命令指定卷的名称。 指定 vgpool 以便 lvcreate 命令知道从什么卷获取空间。

格式化并挂载逻辑卷

最后一步是用一个文件系统格式化新的逻辑卷。如果你需要选择一个 Linux 文件系统的帮助,请阅读 如果根据需要选取最合适的文件系统。

创建挂载点并将卷挂载到你可以使用的地方。

重新设置逻辑卷大小

逻辑卷的一个好处是你能使你的存储物理地变大或变小,而不需要移动所有东西到一个更大的硬盘。另外,你可以添加新的硬盘并同时扩展你的卷组。或者如果你有一个不使用的硬盘,你可以从卷组中移除它使得逻辑卷变小。

这里有三个用于使物理卷、卷组和逻辑卷变大或变小的基础工具。

注意:这些命令中的每个都要以 pv、vg 或 lv 开头,取决于你的工作对象。

让我们来看一个如何向刚创建的逻辑卷 “lvstuff” 添加新硬盘驱动的例子。

安装并格式化新硬盘驱动

按照上面创建新分区并更改分区类型为 LVM(8e) 的步骤安装一个新硬盘驱动。然后用 pvcreate 命令创建一个 LVM 能识别的物理卷。

添加新硬盘到卷组

要添加新的硬盘到一个卷组,你只需要知道你的新分区,在我们的例子中是 /dev/sdc1,,以及想要添加到的卷组的名称。

这会添加新物理卷到已存在的卷组中。

扩展逻辑卷

调整逻辑卷的大小,我们需要指出的是通过大小而不是设备来扩展。在我们的例子中,我们会添加一个 8GB 的硬盘驱动到我们的 3GB vgpool。我们可以用 lvextend 或 lvresize 命令使该空间可用。

当这个命令工作的时候你会发现它实际上重新设置逻辑卷大小为 8GB 而不是我们期望的将 8GB 添加到已存在的卷上。要添加剩余的可用 3GB 你需要用下面的命令。

现在我们的逻辑卷已经是 11GB 大小了。

扩展文件系统

逻辑卷是 11GB 大小但是上面的文件系统仍然只有 3GB。要使文件系统使用整个的 11GB 可用空间你需要用 resize2fs 命令。你只需要指定 resize2fs 到 11GB 逻辑卷它就会帮你完成其余的工作。

注意:如果你使用除 ext3/4 之外的文件系统,请查看调整你的文件系统大小的工具。

压缩逻辑卷

如果你想从卷组中移除一个硬盘驱动你可以按照上面的步骤反向操作,并用 lvreduce 或 vgreduce 命令代替。

备份逻辑卷

快照是一些新的高级文件系统提供的功能,但是 ext3/4 文件系统并没有快照的功能。LVM 快照最棒的是你的文件系统永不掉线,你可以拥有你想要的任何大小而不需要额外的硬盘空间。

无论才能知识多么卓着,如果缺乏热情,则无异纸上画饼充饥,无补于事。

如何在 Ubuntu 中管理和使用逻辑卷管理 LVM

相关文章:

你感兴趣的文章:

标签云: