如何向虚拟机添加存储,以便添加的存储专用于新目录?

如何向虚拟机添加存储,以便添加的存储专用于新目录?

我有一台装有 virt-manager 的 Ubuntu 服务器。我有一个从 qcow2 文件在此主机上运行的 Ubuntu VM。除了 qcow2 文件外,我没有使用单独的磁盘文件或 img 文件。我想为 VM 分配 50 GB 的新存储空间。

在虚拟机上,df -h 的结果左侧有一个列标题为“文件系统”。我想在 /opt/special/ 上安装一个 50 GB 的专用文件系统。我希望它成为 .qcow2 文件的一部分。

在物理服务器上,我尝试创建一个新的 qcow2 文件。我这样做了,并从中创建了一个虚拟机。虚拟机可以运行,但所有空间(包括我在新的 qcow2 文件中调整大小的新 50 GB 额外空间)都在文件系统中,该文件系统是挂载在 / 上的原始文件系统的一部分。所以我不知道如何卸载它以对其进行分区。我想从中取出 50 GB 并将其专用于自己的文件系统(如使用 df -h 所示)。我尝试使用 libguestfs-tools、qemu-img resize、truncate 和其他命令来使其工作。当我创建一个新的、修改过的 qcow2 文件时,似乎没有任何效果。

我尝试使用名为虚拟机管理器的 GUI 应用程序。但是当我添加硬件(以原始磁盘或 qcow2 文件的形式添加存储容量)时,虚拟机无法重新启动。我收到错误。我应该怎么做才能添加 50 GB 的空间,并让它出现在“文件系统”下,当我执行 df -h 并将这 50 GB 挂载到 /opt/special/(尚不存在的目录)时?

我希望即使在重新启动后也能将 50 GB 的文件系统挂载在 /opt/special/ 上。

我可以尝试创建一个全新的虚拟机,然后在其中尝试重新分区磁盘。或者我可以使用 virt-* 命令创建一个具有专用分区的新虚拟机。我应该使用 virt-* 命令还是在虚拟机中使用 mkfs.ext3 等?无论哪种方式,我都不确定如何继续(因为我无法卸载 / 文件系统,而 virt-* 命令只会向 / 文件系统添加磁盘空间)。

答案1

假设您想要扩展的 VM 当前正在运行,使用 virt-manager 您所需要的只是:

  • 创建要添加的新 50Gb qcow2 存储
  • 打开虚拟机的“硬件详细信息”面板
  • 使用刚刚创建的存储添加一个新的虚拟磁盘。
  • 重新启动机器:根据您使用的磁盘总线类型,新的存储应该显示为 /dev/sdb 或 /dev/vdb。
  • 此时,您需要使用 fdisk 或 lvm 命令,然后使用 mkfs 来使用此存储。

相关内容