7.15.5.3. 使用 VM 导入向导(Import wizard)导入虚拟机

您可以使用 VM 导入向导导入单个虚拟机。

您还可以导入虚拟机模板。如果您导入一个虚拟机模板,OpenShift Virtualization 会根据模板创建一个虚拟机。

先决条件

  • 具有 admin 用户权限。
  • VMware Virtual Disk Development Kit(VDDK)镜像必须位于 OpenShift Virtualization 环境可访问的镜像 registry 中。
  • VDDK 镜像必须添加到 v2v-vmware 配置映射中。
  • 虚拟机必须关机。
  • 虚拟磁盘必须连接到 IDE 或者 SCSI 控制器。如果虚拟磁盘连接到一个 SATA 控制器,您可以将其改为 IDE 控制器,然后迁移虚拟机。
  • OpenShift Virtualization 本地和共享的持久性存储类必须支持虚拟机导入。
  • OpenShift Virtualization 存储必须足够大来保存虚拟磁盘。

    警告

    如果使用 Ceph RBD 块模式卷,则存储必须有足够的空间来存储虚拟磁盘。如果可用存储的大小无法满足磁盘要求,导入过程会失败,且用于复制虚拟磁盘的 PV 也不会被释放。因为没有足够的资源来删除对象,您将无法导入另一个虚拟机或清除存储。要解决这种情况,您必须在存储后端中添加更多对象存储设备。

  • OpenShift Virtualization 出口网络策略必须允许以下流量:

    目的地协议端口

    VMware ESXi 主机

    TCP

    443

    VMware ESXi 主机

    TCP

    902

    VMware vCenter

    TCP

    5840

流程

  1. 在 web 控制台中,点 WorkloadsVirtual Machines
  2. 点击 Create Virtual Machine 并选择 Import with Wizard
  3. Provider 列表中选择 VMware
  4. 选择 Connect to New Instance 或一个保存的 vCenter 示例。

    • 如果您选择 Connect to New Instance,输入 vCenter hostnameUsernamePassword
    • 如果您选择了一个保存的 vCenter 实例,向导将使用保存的凭证连接到 vCenter 实例。
  5. 点击 Check and Save,然后等待连接完成。

    注意

    连接详情存储在 secret 中。如果您添加的供应商带有不正确的主机名、用户名或密码,点 WorkloadsSecrets 并删除供应商 secret。

  6. 选择一个虚拟机或一个模板。
  7. Next
  8. Review 屏幕中,查看您的设置。
  9. Edit 以更新以下设置:

    • General:

      • 描述
      • 操作系统
      • Flavor
      • 内存
      • CPU
      • Workload Profile
    • Networking:

      • 名称
      • Model
      • 网络
      • 类型
      • MAC 地址
    • Storage:点击 VM 磁盘 kebab 的 Options 菜单,然后选择 Edit 来更新以下字段:

      • 名称
      • Source:例如 Import Disk
      • Size
      • Interface
      • Storage Class:选择 NFSocs-storagecluster-ceph-rbd(ceph-rbd)

        如果选择 ocs-storagecluster-ceph-rbd,您必须将磁盘的 Volume Mode 设置为 Block

        其他存储类可能会正常工作,但不被正式支持。

      • advancedVolume Mode: 选择 Block
      • AdvancedAccess Mode
    • AdvancedCloud-init:

      • Form: 输入 HostnameAuthenticated SSH Keys.
      • Custom script: 在文本字段中输入 cloud-init 脚本。
    • AdvancedVirtual Hardware:您可以将虚拟 CD-ROM 附加到导入的虚拟机。
  10. 如果您编辑了导入设置,点 ImportReview and Import

    此时会显示 Successfully created virtual machine 消息以及为虚拟机创建的资源列表。虚拟机会出现在 WorkloadsVirtual Machines 中。

虚拟机向导字段
名称参数描述

Template

 

从中创建虚拟机的模板。选择一个模板将自动填写其他字段。

Source

PXE

从 PXE 菜单置备虚拟机。集群中需要支持 PXE 的 NIC。

URL

从由 HTTPS3 端点提供的镜像置备虚拟机。

Container

从可通过集群访问的注册表中的可启动操作系统容器置备虚拟机。示例:kubevirt/cirros-registry-disk-demo

Disk

从一个磁盘置备虚拟机。

操作系统

 

这是为虚拟机选择的主要操作系统。

Flavor

small、medium、large、tiny、Custom

预设值,用于决定分配给虚拟机的 CPU 和内存量。显示的 Flavor 的预设置值是根据操作系统决定的。

内存

 

分配给虚拟机的内存大小(以 GiB 为单位)。

CPU

 

分配给虚拟机的 CPU 数量。

Workload Profile

high performance

针对高性能负载进行了优化的虚拟机配置。

Server

针对运行服务器工作负载进行优化的配置集。

Desktop

用于桌面的虚拟机配置。

名称

 

名称可包含小写字母 (a-z)、数字 (0-9) 和连字符 (-),最多 253 个字符。第一个和最后一个字符必须为字母数字。名称不得包含大写字母、空格、句点 (.) 或特殊字符。

描述

 

可选的描述字段。

Start virtual machine on creation

 

选择此项可在创建时自动启动虚拟机。

Cloud-init 字段
名称描述

Hostname

为虚拟机设置特定主机名。

Authenticated SSH Keys

复制到虚拟机上 ~/.ssh/authorized_keys 的用户公钥。

自定义脚本

将其他选项替换为您粘贴自定义 cloud-init 脚本的字段。

网络字段
名称描述

名称

网络接口控制器的名称。

model

指明网络接口控制器的型号。支持的值有 e1000evirtio

网络

可用网络附加定义的列表。

类型

可用绑定方法列表。对于默认的 pod 网络,masquerade 是唯一推荐的绑定方法。对于辅助网络,请使用 bridge 绑定方法。非默认网络不支持 masquerade 绑定方法。

MAC 地址

网络接口控制器的 MAC 地址。如果没有指定 MAC 地址,则会自动分配一个。

存储字段
名称描述

Source

为虚拟机选择一个空磁盘,或从以下选项中选择:URLContainerAttach Cloned DiskAttach Disk。要选择现有磁盘并将其附加到虚拟机,请从可用持久性卷声明(PVC)列表中选择 Attach Cloned Disk 或 Attach Disk

名称

磁盘的名称。名称可包含小写字母 (a-z)、数字 (0-9)、连字符 (-) 和句点 (.),最多 253 个字符。第一个和最后一个字符必须为字母数字。名称不得包含大写字母、空格或特殊字符。

SIZE (GB)

磁盘大小(以 GB 为单位)。

Interface

磁盘设备的类型。支持的接口包括 virtIOSATASCSI

Storage class

用于创建磁盘的存储类。

Advanced → Volume Mode

定义持久性卷是否使用格式化的文件系统或原始块状态。默认为 Filesystem

Advanced → Access Mode

持久性卷访问模式。支持的访问模式有 ReadWriteOnceReadOnlyManyReadWriteMany

高级存储设置

以下高级存储设置可用于 空白从 URL 导入克隆现有的 PVC 磁盘。所有参数都是可选的。如果没有指定这些参数,系统将使用 kubevirt-storage-class-defaults 配置映射中的默认值。

名称参数描述

卷模式

Filesystem

在基于文件系统的卷中保存虚拟磁盘。

Block

直接将虚拟磁盘存储在块卷中。只有底层存储支持时才使用 Block

访问模式

Single User (RWO)

这个卷可以被一个单一的节点以 read/write 的形式挂载。

Shared Access (RWX)

卷可以被多个节点以读写模式挂载。

注意

对于一些功能(如虚拟机在节点间实时迁移)需要这个权限。

Read Only (ROX)

卷可以被多个节点以只读形式挂载。

7.15.5.3.1. 更新导入虚拟机的 NIC 名称

您必须更新从 VMware 导入的虚拟机的 NIC 名称,以符合 OpenShift Virtualization 命名约定。

流程

  1. 登录虚拟机。
  2. 进入 /etc/sysconfig/network-scripts 目录。
  3. 重新命名网络配置文件:

    $ mv vmnic0 ifcfg-eth0 1
    1
    第一个网络配置文件的名称为 ifcfg-eth0。额外网络配置文件按顺序编号,例如:ifcfg-eth1ifcfg-eth2
  4. 更新网络配置文件中的 NAMEDEVICE 参数:

    NAME=eth0
    DEVICE=eth0
  5. 重启网络:

    $ systemctl restart network