我一直在 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
显然这不起作用。如何获取未分配的磁盘空间?
答案1
创建一个跨越新可用空间的扩展分区,并在其中创建一个逻辑分区。 (您可以创建一个主分区,但这会减少您以后的选择,因为有 4 个主分区或 3 个主分区和 1 个扩展分区的限制。)您可以使用
fdisk
或cfdisk
或 来执行此操作parted
。将新分区的类型设置为 8e(“Linux LVM”)。在该新分区中创建新的 LVM 物理卷。
pvcreate /dev/sda5
将新物理卷添加到卷组中。
vgextend VolGroup /dev/sda5
扩展包含要扩展的文件系统的逻辑卷。
lvextend -l +100%FREE VolGroup/name_of_logical_volume
扩展卷内的文件系统。使用专为该文件系统设计的命令,例如
resize2fs
.
sda2
您可以使用 Parted 扩展现有分区,然后调用pvresize /dev/sda2
扩大现有物理卷,而不是执行步骤 1-3。这可能会让事后的管理稍微容易一些,但也更容易出错。
答案2
您正在使用 LVM,即逻辑卷管理器。与简单分区相比,这为您提供了更大的灵活性,但您需要了解所有内容如何组合在一起。我会首先从左心室容量维基百科上的页面,特别注意图表显示所有零件。
LVM 是一个堆栈,物理块设备(通常是磁盘或磁盘分区)位于底部,逻辑卷位于顶部。您的根文件系统位于逻辑卷上,并且您增加了底层物理块设备的大小。您需要执行一些中间步骤:
由于您使用的是磁盘分区而不是整个磁盘,因此您的新空间对于 Linux 实际上是“不可见的”,因为
/dev/sda2
在添加新空间之前现有分区会停止在磁盘边界处。因此,您首先必须扩展分区。现在您已经扩展了分区,您需要让 LVM 子系统知道额外的空间。跑步
pvresize /dev/sda2
。这会将额外的空间分配给物理卷,使其可供您的VolGroup
卷组使用。现在卷组有额外的空间,您可以运行我们的
lvextend
或lvresize
命令来增长逻辑卷并扩展文件系统。
阅读LVM指南了解更多信息。
答案3
吉尔斯的回答很好,但对于新手来说还不够详细。
因此,我将尝试详细描述一切。
设想:您想要增加 VMware 中 Fedora 虚拟机的大小。 VMware 可能安装在 Windows(主机系统)上,但这并不重要。
-
在 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
我更喜欢用GParted
肉眼观察分区。这对于刚接触 Linux 的人来说更好。如果要安装 Gparted,sudo yum install gparted
请从应用程序列表中启动 GUI 应用程序。
- 正如您在上表中的“系统”下所看到的,
/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
这里,/dev/mapper/fedora-root
对应于/dev/sda2
检查磁盘大小。不幸的是,这需要注意细节,因为没有直接的方法可以做到这一点。
就这样卷组是和/dev/sda2
fedora
卷名是root
。
在纸上记下这些信息。
- 关闭 Fedora VM 并从 (http://gparted.org/download.php)来自主机系统。在 VM 设置中,增加磁盘大小 (设置>硬盘>实用程序>扩展)
- 仍在设置中,将 Gparted ISO 文件连接为 CD/DVD 驱动器。引导至 Gparted live(您可能需要修改 VMmachine 的 BIOS 设置才能引导至 ISO 文件)
启动进入 Gparted 后,
/dev/sda2
右键单击/dev/sda2
分区(应为浅黄色)并单击来调整大小调整大小/移动。增加新大小 (MiB)直到可用空间跟随 (MiB)为 0(或将滑块完全拖动到右侧)。苹果的改变。重新启动 Fedora 并执行以下命令:
sudo lvextend -l +100%FREE fedora/root
回想一下,上述命令的模式是lvextend -l +100%FREE VolGroup/VolName
。如果步骤 2 中的 VolGroup 和 VolName 不同,您将必须进行相应更改。执行
sudo resize2fs /dev/fedora/root
。模板又是resize2fs /dev/VolGroup/VolName
.最后,执行
df -h
以查看更改。