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
创建一个跨越新可用空间的扩展分区,并在其中创建一个逻辑分区。(您可以创建一个主分区,但这会减少您以后的选择,因为 4 个主分区或 3 个主分区和一个扩展分区的限制。)您可以使用fdisk
或cfdisk
或来执行此操作parted
。将新分区的类型设置为 8e(“Linux LVM”)。
在该新分区中创建一个新的 LVM 物理卷。
pvcreate /dev/sda5
Run Code Online (Sandbox Code Playgroud)将新物理卷添加到您的卷组。
vgextend VolGroup /dev/sda5
Run Code Online (Sandbox Code Playgroud)扩展包含要扩展的文件系统的逻辑卷。
lvextend -l +100%FREE VolGroup/name_of_logical_volume
Run Code Online (Sandbox Code Playgroud)扩展卷内的文件系统。使用为该文件系统设计的命令,例如resize2fs
.
您可以sda2
使用 Parted扩展现有分区,而不是步骤 1-3,然后调用pvresize /dev/sda2
以扩大现有物理卷。这可能会使之后的管理稍微容易一些,但更容易出错。
您正在使用逻辑卷管理器 LVM。与使用简单分区相比,这为您提供了更大的灵活性,但您需要了解所有内容如何组合在一起。我会首先从维基百科上的LVM页面开始,特别注意显示所有部分的图表。
LVM 是一个堆栈,物理块设备——通常是磁盘或磁盘分区——在底部,逻辑卷在顶部。您的根文件系统位于逻辑卷上,并且您增加了底层物理块设备的大小。您需要采取一些中间步骤:
因为您使用的是磁盘分区而不是整个磁盘,所以您的新空间对于 Linux 实际上是“不可见的”,因为现有分区/dev/sda2
在添加新空间之前停在磁盘的边界处。因此,您首先必须扩展分区。
现在您已经扩展了分区,您需要让 LVM 子系统知道额外的空间。运行pvresize /dev/sda2
。这将为物理卷分配额外的空间,使其可用于您的VolGroup
卷组。
现在卷组有额外的空间,您可以运行我们的lvextend
orlvresize
命令来增加逻辑卷并扩展文件系统。
阅读LVM HOWTO了解更多信息。
吉尔斯的回答很棒,但对于新手来说还不够详细。
因此,我将尝试详细描述所有内容。
场景:您想在 VMware 中增加 Fedora 虚拟机的大小。VMware 可能安装在 Windows 主机系统上,但这并不重要。
sudo fdisk -l
并查找如下部分。可以看到/dev/sda2
是需要增加的分区。Run Code Online (Sandbox Code Playgroud)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
Run Code Online (Sandbox Code Playgroud)
在这里,/dev/mapper/fedora-root
对应于/dev/sda2
通过检查磁盘大小。不幸的是,这需要注意细节,因为没有直接的方法可以做到这一点。
因此,VolumeGroup的/dev/sda2
是fedora
与卷名是root
。
在纸上记下这些信息。
启动到 Gparted 后,/dev/sda2
通过右键单击/dev/sda2
分区(应该是淡黄色)并单击Resize/Move来调整大小。增加新大小 (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
以查看更改。