×

无需停止虚拟机 (VM) 或虚拟机实例 (VMI) 即可添加或删除虚拟磁盘。

只有数据卷和持久卷声明 (PVC) 可以热插拔和热拔出。无法热插拔或热拔出容器磁盘。

即使重新启动后,热插拔磁盘仍连接到虚拟机。必须分离磁盘才能将其从虚拟机中移除。

可以使热插拔磁盘持久化,以便将其永久安装在虚拟机上。

每个虚拟机都有一个 `virtio-scsi` 控制器,以便热插拔磁盘可以使用 `scsi` 总线。`virtio-scsi` 控制器克服了 `virtio` 的局限性,同时保留了其性能优势。它具有高度可扩展性,并支持超过 400 万个磁盘的热插拔。

常规 `virtio` 不适用于热插拔磁盘,因为它不可扩展。每个 `virtio` 磁盘使用虚拟机中有限的 PCI Express (PCIe) 插槽之一。PCIe 插槽也由其他设备使用,必须预先保留。因此,可能无法按需提供插槽。

使用 Web 控制台热插拔和热拔出磁盘

可以使用 Red Hat OpenShift Service on AWS Web 控制台,在虚拟机 (VM) 运行时通过附加磁盘来热插拔磁盘。

热插拔磁盘将保持连接到虚拟机,直到您将其拔出。

可以使热插拔磁盘持久化,以便将其永久安装在虚拟机上。

先决条件
  • 必须有可用于热插拔的数据卷或持久卷声明 (PVC)。

步骤
  1. 在 Web 控制台中导航到 **虚拟化** → **虚拟机**。

  2. 选择正在运行的虚拟机以查看其详细信息。

  3. 在 **虚拟机详细信息** 页面上,单击 **配置** → **磁盘**。

  4. 添加热插拔磁盘

    1. 单击 **添加磁盘**。

    2. 在 **添加磁盘(热插拔)** 窗口中,从 **源** 列表中选择磁盘,然后单击 **保存**。

  5. 可选:拔出热插拔磁盘

    1. 单击磁盘旁边的选项菜单 kebab 并选择 **分离**。

    2. 单击 **分离**。

  6. 可选:使热插拔磁盘持久化

    1. 单击磁盘旁边的选项菜单 kebab 并选择 **设为持久化**。

    2. 重新启动虚拟机以应用更改。

使用命令行热插拔和热拔出磁盘

可以使用命令行在虚拟机 (VM) 运行时热插拔和热拔出磁盘。

可以使热插拔磁盘持久化,以便将其永久安装在虚拟机上。

先决条件
  • 必须至少有一个可用于热插拔的数据卷或持久卷声明 (PVC)。

步骤
  • 运行以下命令以热插拔磁盘

    $ virtctl addvolume <virtual-machine|virtual-machine-instance> \
      --volume-name=<datavolume|PVC> \
      [--persist] [--serial=<label-name>]
    • 使用可选的 `--persist` 标志将热插拔磁盘添加到虚拟机规范中,作为永久挂载的虚拟磁盘。停止、重新启动或重新引导虚拟机以永久挂载虚拟磁盘。指定 `--persist` 标志后,将无法再热插拔或热拔出虚拟磁盘。`--persist` 标志适用于虚拟机,而不适用于虚拟机实例。

    • 可选的 `--serial` 标志允许您添加您选择的字母数字字符串标签。这有助于您识别访客虚拟机中的热插拔磁盘。如果不指定此选项,则标签默认为热插拔数据卷或 PVC 的名称。

  • 运行以下命令以热拔出磁盘

    $ virtctl removevolume <virtual-machine|virtual-machine-instance> \
      --volume-name=<datavolume|PVC>