答案1
有一个名为的实用程序growpart
,一旦您的提供商扩展了您的虚拟磁盘,它就会安全地增加分区。您的情况中唯一的诡计是,他们在不需要时不必要地创建了一个扩展/逻辑 DOS 分区。因此,您必须调整扩展分区的大小,然后调整它所包含的逻辑分区的大小。
sudo apt install cloud-guest-utils
该growpart
实用程序接受磁盘和分区号作为单独的参数,因此要调整大小,/dev/vda2
您需要写入:
sudo growpart /dev/vda 2
首先调整扩展分区的大小/dev/vda2
,然后/dev/vda5
以相同的方式调整大小。
sudo growpart /dev/vda 2
sudo growpart /dev/vda 5
现在您应该能够调整文件系统的大小。如果是 ext4,则resize2fs /dev/vda5
可行。对于 XFS,请使用xfs_growfs /
。
答案2
从你的fdisk
输出来看,你确实有一个 80 GB 的磁盘,其中 40 GB延长分区(/dev/vda2
),其中包含 40 GB逻辑/dev/vda5
保存文件系统的分区/
。扩展分区实际上不包含任何文件,它只是逻辑分区的“容器”,可以克服我下面提到的 4 个分区的限制。然后有 40 GB 的未分配空间,不会fdisk
以任何方式显示。
您可能有多种使用未分配空间的方法。我假设您没有使用 LVM,因为如果您使用 LVM,过程将完全不同,因为 LVM 有自己的工具来调整卷大小。但是您的fdisk
输出并未显示任何有关 LVM 分区的信息。
我不建议删除并重新创建分区,fdisk
因为这始终存在丢失数据的风险。因此,如果您想安全地执行此操作,可以尝试以下操作:
第一种选择是有两个 40 GB 的分区,并在这两个分区之间智能地分割文件。例如,如果您在 中保存了大量大文件/home
,则可以使用新分区,/home
而其他所有内容都/home
将保留在旧分区上。要做到这一点:
使用在未分配的空间中
fdisk
创建另一个主分区(可能显示为!),并使用 将其格式化为新的 Linux 文件系统。总共最多可以有 4 个主分区或扩展分区,其中最多一个是扩展分区,因此有空间容纳另一个分区。这不是推荐的分区布局,主分区来自/dev/vda3
mkfs /dev/vda3
后扩展分区,但它可能会起作用。将您的
/home
目录重命名为/old_home
(确保它目前未被使用,因此请从 root 身份执行此操作,且无需普通用户登录)并创建一个/home
具有与旧目录相同所有者和权限的新目录。/dev/vda3
使用以下/home
命令挂载文件系统:mount /dev/vda3 /home
。如果成功,您应该编辑/etc/fstab
以使新文件系统在系统启动时正确自动挂载。您的/etc/fstab
当前可能包含 vda1 和 vda5 的两行,如下所示(我现在正在编写这个,您的可能不同):/dev/vda5 / ext4 defaults 0 1
/dev/vda1 /boot ext4 defaults 0 2
为 vda3 添加类似的行,例如:
/dev/vda3 /home ext4 defaults 0 2
(如果您的文件中除了“ext4”或“defaults”之外还有其它内容,只需将这些参数复制到新行即可)。现在将任意文件写入新
/home
目录并重启系统。如果重启后您放入目录中的文件/home
仍然存在,则表示/home
已在启动时正确安装。现在您可以将所有内容从移动
/old_home
到/home
,然后删除空/old_home
目录。
我认为这种方法对我来说通常最安全、最简单,并且已经多次使用过。但是,它的缺点是实际有 2x40 GB 的空间,而不是单个 80 GB 的空间,这可能有时是好事,有时是坏事 - 例如,当您想避免系统磁盘意外被用户文件填满时,最好有/home
一个单独的分区。
因此另一个选择是使用 GNU分开程序将调整您的 vda2 和 vda5 分区(首先是 vda2,然后是 vda5,因为前者包含后者)的大小至 80 GB。parted
专门设计用于修改分区而不会丢失数据,但fdisk
无法保证。我确信parted
它在 Debian 存储库中,因此您可以使用它进行安装apt
。
调整分区大小后,使用命令resize2fs /dev/vda5
将文件系统扩展/
至 80 GB。
答案3
通常在这种情况下您会使用fdisk /dev/vda
。
- 记下分区 2 和 5 的起始扇区。
- 删除分区 5。
- 删除分区 2。
- 使用旧的起始扇区和新的结束扇区(默认值)重新创建分区 2。这是延长分割。
- 使用旧的起始扇区和新的结束扇区(默认值)重新创建分区 5。这是逻辑分割。
在表被写入并激活(例如重新启动)之后,您仍然需要扩展文件系统/dev/vda5
或resize2fs
适合该分区上的文件系统的任何内容。
最重要的是,在尝试此操作之前请确保您有良好的备份。