调整远程虚拟机服务器上的磁盘分区大小

调整远程虚拟机服务器上的磁盘分区大小

我在远程服务器上以虚拟机的形式运行 Ubuntu Server 10.04。我只能访问虚拟机。

该虚拟机分配了 20GB 的磁盘空间,但驱动器当前分区仅可使用约 4.7GB。

我知道您可以使用 LiveCD 通过 gparted 对驱动器进行重新分区。您如何在远程虚拟机上执行此操作?(因为分区也是启动卷)

# fdisk -l

Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00074164

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1         618     4959232   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2             618         653      280577    5  Extended
Partition 2 does not end on cylinder boundary.
/dev/sda5             618         653      280576   82  Linux swap / Solaris

答案1

如果你想扩大系统分区

首先,关闭交换(swapoff /dev/sda5),因为我们将暂时删除交换分区。

使用 GParted 或cfdiskfdisk来:

  1. 删除逻辑分区/dev/sda5和扩展分区/dev/sda2
  2. 扩大/dev/sda1到整个磁盘减去您想要分配给交换分区的部分。
  3. 为交换重新创建一个分区(为简单起见,使其成为主分区)。

不要重新打开交换。注释掉 中的交换行/etc/fstab,然后重启(如果不重新启动,内核将继续使用有关分区的过时数据,这可能会造成灾难性的后果。)

重启后,编辑/etc/fstab以更改交换设备的名称并取消注释。使用 格式化交换区域mkswap并使用 激活它swapon -a

/dev/sda1最后扩大现有的文件系统,使其占据全部resize2fs /dev/sda1

如果你想创建另一个分区

使用 GParted 扩大扩展分区 ( /dev/sda2) 并在其上创建新的逻辑分区/dev/sda6。告诉 GParted 您需要在 上使用 Linux 文件系统/dev/sda6。使用 创建一个文件系统mke2fs -t ext4 /dev/sda6

答案2

这就是我要尝试的:

  1. 许多 VPS 托管提供商的控制面板中都有操作分区的工具。访问控制面板将是最安全的选择。

  2. 不要调整分区大小,而是创建第二个分区并将“工作”数据移动到该分区。即,将/home数据所在的位置挂载到单独的分区

  3. 如果你仍然喜欢冒险,请尝试以只读方式重新挂载启动分区,看看是否可以在以只读方式挂载时调整其大小

  4. 一些非常棘手的事情,例如删除交换 - 在驱动器的最末端创建根分区的副本 - 配置 grub 从新分区启动 - 重新启动 - 调整原始分区的大小 - 复制数据 - 再次修改 grub - 重新启动 - 删除临时根分区 - 再次创建交换分区。

我认为后两个选项非常危险,因为如果出现任何问题,您的系统就无法启动,因此您将失去对系统的任何访问权限。

答案3

如果您正在运行云机器(在我的情况下,它运行一个只有 16GB 磁盘的自定义 Kali 映像),并且唯一的访问方式是通过ssh,那么这个答案适合您。

所以无需重新安装分区如下这个答案可以使其工作。如果您需要删除一些中间分区,请在继续执行以下步骤之前先删除它们。

  1. 首先从控制台增加磁盘大小
  2. 虚拟机内部 SSH:sudo growpart /dev/sda 1
  3. 调整文件系统大小:sudo resize2fs /dev/sda1
  4. 验证:df -h

答案4

不好意思!我刚刚读了你的问题,让我来帮你吧!

大小(VM 可用内存)== 大小(主分区)+ 大小(扩展分区);

大小(扩展分区)==大小(逻辑分区)s;

大小(VM 磁盘内存)==大小(VM 可用内存)+大小(可用空间);

因此,如果您想使用虚拟机磁盘空间上的可用空间,则需要扩展,并且主分区和可用空间/dev/sda1之间没有其他分区。/dev/sda1

只需用来sudo fdisk -l检查你的分区的使用情况,我猜你的输出就像下面这样:

Disk /dev/sda: 21.5 GB, 21474836480 bytes, 62914560 sectors
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00074164

Device     Boot    Start      End  Sectors  Size Id Type
/dev/sda1  *        512M     5.2G  4902880  4.7G 83 Linux
/dev/sda2           5.2G     6.2G   580000    1G  5 Extended
/dev/sda5           5.2G     6.2G   580000    1G 82 Linux swap / Solaris

在您的主分区或可用分区达到之后20GB,您的新分区sudo fdisk -l为:

Disk /dev/sda: 21.5 GB, 21474836480 bytes, 62914560 sectors
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00074164

Device     Boot    Start      End   Sectors   Size Id Type
/dev/sda1  *       512M     20.5G  42162880    20G 83 Linux
/dev/sda2          20.5G    21.5G    580000     1G  5 Extended
/dev/sda5          20.5G    21.5G    580000     1G 82 Linux swap / Solaris

解决方案:

0.只需登录你的虚拟机终端;

1.关闭你的swap权限:sudo swapoff /dev/sda5

并使用命令free -h检查 swapoff 是否有用,如果看到交换分区的可用空间或总空间百分比为0B,则表示成功关闭交换。

其他情况下,重启或者重新启动都会自动打开交换,使用命令sudo swapoff swap_partition_directory只是暂时关闭交换。

2.删除扩展分区/dev/sda2和逻辑/交换分区/dev/sda5

首先删除逻辑/交换分区/dev/sda5,然后删除扩展分区/dev/sda2

只需用来cfdisk做楼上的工作,用来sudo cfdisk输入的力量cfdisk

使用updown方向键选择分区,使用rightleft方向键选择操作,使用enter键确定。

选择Delete按钮删除逻辑/交换分区/dev/sda5和扩展分区/dev/sda2

3.调整主分区的大小:

另外,使用cfdisk,只需使用Resize按钮即可,将调整大小的尺寸从默认更改21GB20GB

4.重新创建扩展分区/dev/sda2和逻辑/交换分区/dev/sda5

另外,使用cfdisk,使用按钮在空闲空间上New创建扩展分区,然后创建逻辑分区,它们都使用默认大小;/dev/sda2/dev/sda51 GB

现在,选择Quit按钮退出cfdisk

5.设置逻辑分区/dev/sda5的文件类型:sudo mkswap /dev/sda5

更新您的新逻辑/交换分区/dev/sda5UUID使用lsblk -f | grep "swap"检查交换分区UUID,复制它,并通过更改UUID交换,使用按钮进行编辑,复制您的新交换而不是以前的旧交换。/etc/fstabsudo vim /etc/fstabiUUIDUUID

6.设置主分区的所有文件类型/dev/sda1sudo resize2fs /dev/sda1

7.重新启动或重启虚拟机:sudo reboot

玩得开心!!!:)

超过!

相关内容