为你的Linux系统分区:高级分区调整(1)


简单的分区调整操作通常都能顺利完成。但是,有时候您需要做一些不同的事情或者排除故障,本文涵盖了其中的一些情况。本文第一部分介绍 LVM 配置及其如何与分区调整相互作用。第二部分介绍故障排除技术。要详尽地描述调整分区时可能出现的所有问题,足够写本书了,但是几个基本的原则可以帮助您解决常见问题。最后,本文介绍了几个调整分区的备选方案,如果您遇到的问题无法逾越时,可以使用。

调整 LVM 大小

LVM 是一个磁盘分配技术,补充或替换传统分区。在 LVM 配置中,一个或多个分区,或者甚至是整个磁盘,被分配为卷组 中的物理卷,卷组转而分成逻辑卷。然后在逻辑卷上创建文件系统,这就像传统配置中的分区。这种磁盘分配方法复杂性增加了,但好处是比较灵活。一个 LVM 配置使得将几个小磁盘的磁盘空间合并成一个大的逻辑磁盘成为可能。对于分区调整来说,更重要的是逻辑磁盘可以被创建、删除和重新分配大小,就像文件系统中的文件那样;您不需要考虑分区起始点,只需要考虑它们的绝对大小。

注意:本文中我不想介绍如何建立一个 LVM。如果您还没有使用一个 LVM 配置,您可以将您的系统转换为使用它的系统,但您可以参考其他文档,比如 Linux LVM HOWTO学习怎样做。

调整物理卷大小

如过您已经调整了非 LVM 分区,如本系列第 1 部分所述,而现在想要向您的 LVM 配置添加空间,您有两个选择:

  • 您可以在空白空间中创建一个新分区,然后将这个新分区添加到您的 LVM。
  • 如果有一个 LVM 分区与新空间相邻,您可以调整这个现有分区的大小。

不幸的是,GParted也称为 Gnome Partition Editor)工具,如本系列第 1 部分所述,不支持调整 LVM 分区大小。因此向您的卷组添加空间最简单的方法是在剩余空间中创建一个新分区,并将其作为一个新物理卷添加到现有的卷组中。

尽管 GParted 不能直接创建一个 LVM 分区,但您可以使用以下工具来进行创建:

  • parted文本模式 GNU Parted)
  • fdisk 用于 Master Boot Record (MBR) 磁盘
  • gdisk 用于全局唯一标识符GUID)Partition Table (GPT) 磁盘

如果您使用 parted,那么您可以使用 set 命令来打开 lvm 标记,正如在 set 1 lvm on 中标记分区 1 作为一个 LVM 分区。如果使用 fdisk,您可以使用 t 命令来将分区类型代码设置为 8e。在 gdisk 中您可以同样这样做 ,除非 LVM 分区的类型为 8e00。

无论是那种情况,您都必须使用 pvcreate 命令来在分区上设置基本 LVM 数据结构,然后使用 vgextend 代码将分区添加到卷组。例如,要将 /dev/sda1 添加到现有的 MyGroup 卷组,输入以下命令:

pvcreate /dev/sda1 vgextend MyGroup /dev/sda1

完成这些修改之后,您就可以在您的卷组中扩展逻辑卷了,正如之前描述的。

调整逻辑卷大小

对于文件系统,调整逻辑卷大小比调整分区大小要简单一些,因为 LVM 以分区的形式避免了预留相邻编号扇区集合。调整逻辑卷本身可以通过 lvresize 方法完成。该命令带有一些选项详情参见其 手册 页),最重要的是 -L,它需要一个新的大小,或者在原大小上进行修改,修改可以通过首位的加号+)或者减号-)表示。您必须提供到逻辑卷的路径。例如,假设您想要在 MyGroup 组中将 usr 逻辑卷的大小增加 5 gibibytesGIB)。您应该进行如下操作:

lvresize -L +5G /dev/mapper/MyGroup-usr

该命令调整了特定逻辑卷的大小。记住,这种改变就像对单独一个分区进行的。也就是说,包含在逻辑分区中的文件系统的大小不会改变。为了调整文件系统,您必须使用一个特定文件系统工具。比如resize2fsresizereiserfsxfs_growfs 或者挂载 Journaled File System (JFS) 时的 resize 挂载选项。如果不使用大小选项,所有这些工具将调整文件系统来填满逻辑卷大小,在增加一个逻辑卷时这是很方便的。

如果您想要缩小一个逻辑卷,任务就有点复杂。首先您必须调整文件系统大小使用 resize2fs 或者类似工具),然后缩小逻辑卷来匹配新的大小。如果您故意将逻辑卷的大小设置的太小,那么就有潜在的破坏错误,因此,我建议您,首先缩小文件系统,使其比您的目标大小小很多,接着将逻辑卷调整到合适的大小,然后调整文件系统大小,最后再增加逻辑卷大小,依赖于自动调整特性来使文件系统正好填满新逻辑卷。

同时也要记住,尽管您可以缩小大多数本地 linux 文件系统,但您不能缩小 XFS 或 JFS。如果您需要缩小一个含有此类文件系统的逻辑卷,您可能必须创建一个新的、更小的逻辑卷,将第一个卷中的内容复制到新卷中,颠倒挂载点,然后删除原始卷。如果您缺少足够的可用空间来进行这一操作,您可能会被迫使用一个备份作为中转。

使用 GUI LVM 工具

尽管之前介绍的文本模式工具可以完成这项工作,但是它们是令人生畏的。如果您喜欢使用图形化用户界面GUI)工具,至少有两个可用于 LVM 操作:

  • kvpm — 这是一个集成了 K Desktop Environment (KDE) 的工具,支持访问常见 LVM 操作,包括逻辑卷调整选项。
  • system-config-lvm — 这个程序源自于 Red Hat,但是也可用于其他版本。它类似于 kvmp,它支持使用点选式访问方法来访问 LVM 管理,包括调整大小操作。

二者之中,system-config-lvm 提供一个更为简单友好的用户界面;而它们都可以完成工作。图 1 展示了运转中的 system-config-lvm。要调整逻辑卷,需要在左面板单击其名字,然后单击中间面板的 Edit Properties 按钮。然后您可以使用一个滑块来调整卷大小。

图 1. GUI 工具调整逻辑卷大小相对较为容易


相关内容