如何在 Fedora Linux 中扩展 LVM2 分区

sj7*_*755 5 filesystems size partition lvm hard-disk

我一直在 VMWare 虚拟机上使用 Fedora 15。随着时间的推移,我最初为文件系统分配的磁盘空间开始耗尽,只剩下 12GB。我已将磁盘空间额外扩展了 25GB。

问题是,我需要扩展文件系统以占用虚拟磁盘上现在 25GB 的可用空间。

我试过 GParted,但它不支持 LVM2。有谁知道扩展我的文件系统所需的任何实用程序或命令?

磁盘信息:![逻辑卷组][1]

![硬盘][2]

![GParted][3]

刚试过这个命令:

[root@localhost /]# lvextend -L+10G /dev/VolGroup/lv_root 
Extending logical volume lv_root to 54.38 GiB
Insufficient free space: 320 extents needed, but only 0 available
Run Code Online (Sandbox Code Playgroud)

显然它不起作用。我如何获得未分配的磁盘空间?

Gil*_*il' 10

  1. 创建一个跨越新可用空间的扩展分区,并在其中创建一个逻辑分区。(您可以创建一个主分区,但这会减少您以后的选择,因为 4 个主分区或 3 个主分区和一个扩展分区的限制。)您可以使用fdiskcfdisk或来执行此操作parted。将新分区的类型设置为 8e(“Linux LVM”)。

  2. 在该新分区中创建一个新的 LVM 物理卷。

    pvcreate /dev/sda5
    
    Run Code Online (Sandbox Code Playgroud)
  3. 将新物理卷添加到您的卷组。

    vgextend VolGroup /dev/sda5
    
    Run Code Online (Sandbox Code Playgroud)
  4. 扩展包含要扩展的文件系统的逻辑卷。

    lvextend -l +100%FREE VolGroup/name_of_logical_volume
    
    Run Code Online (Sandbox Code Playgroud)
  5. 扩展卷内的文件系统。使用为该文件系统设计的命令,例如resize2fs.

您可以sda2使用 Parted扩展现有分区,而不是步骤 1-3,然后调用pvresize /dev/sda2以扩大现有物理卷。这可能会使之后的管理稍微容易一些,但更容易出错。

  • @seljuq70 一旦你有了一个大的逻辑卷,最后一步就是让文件系统使用它。如果文件系统是 ext2/ext3/ext4,调用 `resize2fs /dev/VolGroup/name_of_logical_volume`,文件系统将被扩展以占据包含它的整个卷(即 LVM 逻辑卷)。 (2认同)

lar*_*sks 5

您正在使用逻辑卷管理器 LVM。与使用简单分区相比,这为您提供了更大的灵活性,但您需要了解所有内容如何组合在一起。我会首先从维基百科上的LVM页面开始,特别注意显示所有部分的图表

LVM 是一个堆栈,物理块设备——通常是磁盘或磁盘分区——在底部,逻辑卷在顶部。您的根文件系统位于逻辑卷上,并且您增加了底层物理块设备的大小。您需要采取一些中间步骤:

  • 因为您使用的是磁盘分区而不是整个磁盘,所以您的新空间对于 Linux 实际上是“不可见的”,因为现有分区/dev/sda2在添加新空间之前停在磁盘的边界处。因此,您首先必须扩展分区。

  • 现在您已经扩展了分区,您需要让 LVM 子系统知道额外的空间。运行pvresize /dev/sda2。这将为物理卷分配额外的空间,使其可用于您的VolGroup卷组。

  • 现在卷组有额外的空间,您可以运行我们的lvextendorlvresize命令来增加逻辑卷并扩展文件系统。

阅读LVM HOWTO了解更多信息。


Sha*_*len 5

吉尔斯的回答很棒,但对于新手来说还不够详细。

因此,我将尝试详细描述所有内容。

场景:您想在 VMware 中增加 Fedora 虚拟机的大小。VMware 可能安装在 Windows 主机系统上,但这并不重要。

  1. 在 Fedora VM 中,找出分区的名称。您执行sudo fdisk -l并查找如下部分。可以看到/dev/sda2是需要增加的分区。
Device    Boot     Start       End   Blocks  Id System
/dev/sda1 *         2048   1026047   512000  83 Linux
/dev/sda2        1026048  52428799 25701376  8e Linux LVM
Run Code Online (Sandbox Code Playgroud)

我更喜欢使用GParted直观地查看分区。这对 Linux 新手来说更好。如果要安装 Gparted,sudo yum install gparted并从应用程序列表中启动 GUI 应用程序。

  1. 正如您在上表中的系统下所见,/dev/sda2属于 LVM(逻辑卷管理器)类型。在 LVM 下,分区按 VolumeGroup/VolumeName 分类。让我们找出 VolumeGroup/VolumeName 的/dev/sda2 一种方法是执行df -h和查看/dev/mapper/VolGroup-VolName模式。

例子: 。

[root@localhost ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/fedora-root   24G   16G  6.6G  71% /
devtmpfs                 1.5G     0  1.5G   0% /dev
tmpfs                    1.5G  140K  1.5G   1% /dev/shm
Run Code Online (Sandbox Code Playgroud)

在这里,/dev/mapper/fedora-root对应于/dev/sda2通过检查磁盘大小。不幸的是,这需要注意细节,因为没有直接的方法可以做到这一点。

因此,VolumeGroup/dev/sda2fedora卷名root

在纸上记下这些信息。

  1. 关闭 Fedora VM 并从主机系统( http://gparted.org/download.php )下载 GParted Live ISO 。在 VM 设置中,增加磁盘大小(Settings>Harddisks>Utilities>Expand
  2. 仍然在设置中,将 Gparted ISO 文件连接为 CD/DVD 驱动器。启动到 Gparted live(您可能需要修改 VMmachine 的 BIOS 设置才能启动到 ISO 文件)
  3. 启动到 Gparted 后,/dev/sda2通过右键单击/dev/sda2分区(应该是淡黄色)并单击Resize/Move调整大小。增加新大小 (MiB)直到可用空间 (MiB)为 0(或将滑块完全向右拖动)。苹果的变化。

  4. 在 Fedora 中重新启动并执行以下命令: sudo lvextend -l +100%FREE fedora/root 回想一下,上述命令的模式是lvextend -l +100%FREE VolGroup/VolName. 如果您在第 2 步中的 VolGroup 和 VolName 不同,则您必须相应地进行更改。

  5. 执行sudo resize2fs /dev/fedora/root。模板再次是resize2fs /dev/VolGroup/VolName.

  6. 最后,执行df -h以查看更改。