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
流程
-
在 web 控制台中,点 Workloads
Virtual Machines。 - 点击 Create Virtual Machine 并选择 Import with Wizard。
- 从 Provider 列表中选择 VMware。
选择 Connect to New Instance 或一个保存的 vCenter 示例。
- 如果您选择 Connect to New Instance,输入 vCenter hostname、Username 和 Password。
- 如果您选择了一个保存的 vCenter 实例,向导将使用保存的凭证连接到 vCenter 实例。
点击 Check and Save,然后等待连接完成。
注意连接详情存储在 secret 中。如果您添加的供应商带有不正确的主机名、用户名或密码,点 Workloads
Secrets 并删除供应商 secret。 - 选择一个虚拟机或一个模板。
- 点 Next。
- 在 Review 屏幕中,查看您的设置。
点 Edit 以更新以下设置:
General:
- 描述
- 操作系统
- Flavor
- 内存
- CPU
- Workload Profile
Networking:
- 名称
- Model
- 网络
- 类型
- MAC 地址
Storage:点击 VM 磁盘 的 Options 菜单,然后选择 Edit 来更新以下字段:
- 名称
- Source:例如 Import Disk。
- Size
- Interface
Storage Class:选择 NFS 或 ocs-storagecluster-ceph-rbd(ceph-rbd)。
如果选择 ocs-storagecluster-ceph-rbd,您必须将磁盘的 Volume Mode 设置为 Block。
其他存储类可能会正常工作,但不被正式支持。
-
advanced
Volume Mode: 选择 Block。 -
Advanced
Access Mode
Advanced
Cloud-init: - Form: 输入 Hostname 和 Authenticated SSH Keys.
-
Custom script: 在文本字段中输入
cloud-init
脚本。
-
Advanced
Virtual Hardware:您可以将虚拟 CD-ROM 附加到导入的虚拟机。
如果您编辑了导入设置,点 Import 或 Review and Import。
此时会显示 Successfully created virtual machine 消息以及为虚拟机创建的资源列表。虚拟机会出现在 Workloads
Virtual Machines 中。
虚拟机向导字段
名称 | 参数 | 描述 |
---|---|---|
Template | 从中创建虚拟机的模板。选择一个模板将自动填写其他字段。 | |
Source | PXE | 从 PXE 菜单置备虚拟机。集群中需要支持 PXE 的 NIC。 |
URL | 从由 HTTP 或 S3 端点提供的镜像置备虚拟机。 | |
Container |
从可通过集群访问的注册表中的可启动操作系统容器置备虚拟机。示例: | |
Disk | 从一个磁盘置备虚拟机。 | |
操作系统 | 这是为虚拟机选择的主要操作系统。 | |
Flavor | small、medium、large、tiny、Custom | 预设值,用于决定分配给虚拟机的 CPU 和内存量。显示的 Flavor 的预设置值是根据操作系统决定的。 |
内存 | 分配给虚拟机的内存大小(以 GiB 为单位)。 | |
CPU | 分配给虚拟机的 CPU 数量。 | |
Workload Profile | high performance | 针对高性能负载进行了优化的虚拟机配置。 |
Server | 针对运行服务器工作负载进行优化的配置集。 | |
Desktop | 用于桌面的虚拟机配置。 | |
名称 |
名称可包含小写字母 ( | |
描述 | 可选的描述字段。 | |
Start virtual machine on creation | 选择此项可在创建时自动启动虚拟机。 |
Cloud-init 字段
名称 | 描述 |
---|---|
Hostname | 为虚拟机设置特定主机名。 |
Authenticated SSH Keys | 复制到虚拟机上 ~/.ssh/authorized_keys 的用户公钥。 |
自定义脚本 | 将其他选项替换为您粘贴自定义 cloud-init 脚本的字段。 |
网络字段
名称 | 描述 |
---|---|
名称 | 网络接口控制器的名称。 |
model | 指明网络接口控制器的型号。支持的值有 e1000e 和 virtio。 |
网络 | 可用网络附加定义的列表。 |
类型 |
可用绑定方法列表。对于默认的 pod 网络, |
MAC 地址 | 网络接口控制器的 MAC 地址。如果没有指定 MAC 地址,则会自动分配一个。 |
存储字段
名称 | 描述 |
---|---|
Source | 为虚拟机选择一个空磁盘,或从以下选项中选择:URL、Container、Attach Cloned Disk 或 Attach Disk。要选择现有磁盘并将其附加到虚拟机,请从可用持久性卷声明(PVC)列表中选择 Attach Cloned Disk 或 Attach Disk。 |
名称 |
磁盘的名称。名称可包含小写字母 ( |
SIZE (GB) | 磁盘大小(以 GB 为单位)。 |
Interface | 磁盘设备的类型。支持的接口包括 virtIO、SATA 和 SCSI。 |
Storage class | 用于创建磁盘的存储类。 |
Advanced | 定义持久性卷是否使用格式化的文件系统或原始块状态。默认为 Filesystem。 |
Advanced | 持久性卷访问模式。支持的访问模式有 ReadWriteOnce、ReadOnlyMany 和 ReadWriteMany。 |
高级存储设置
以下高级存储设置可用于 空白、从 URL 导入 和 克隆现有的 PVC 磁盘。所有参数都是可选的。如果没有指定这些参数,系统将使用 kubevirt-storage-class-defaults
配置映射中的默认值。
名称 | 参数 | 描述 |
---|---|---|
卷模式 | Filesystem | 在基于文件系统的卷中保存虚拟磁盘。 |
Block |
直接将虚拟磁盘存储在块卷中。只有底层存储支持时才使用 | |
访问模式 | Single User (RWO) | 这个卷可以被一个单一的节点以 read/write 的形式挂载。 |
Shared Access (RWX) | 卷可以被多个节点以读写模式挂载。 注意 对于一些功能(如虚拟机在节点间实时迁移)需要这个权限。 | |
Read Only (ROX) | 卷可以被多个节点以只读形式挂载。 |
7.15.5.3.1. 更新导入虚拟机的 NIC 名称
您必须更新从 VMware 导入的虚拟机的 NIC 名称,以符合 OpenShift Virtualization 命名约定。
流程
- 登录虚拟机。
-
进入
/etc/sysconfig/network-scripts
目录。 重新命名网络配置文件:
$ mv vmnic0 ifcfg-eth0 1
- 1
- 第一个网络配置文件的名称为
ifcfg-eth0
。额外网络配置文件按顺序编号,例如:ifcfg-eth1
、ifcfg-eth2
。
更新网络配置文件中的
NAME
和DEVICE
参数:NAME=eth0 DEVICE=eth0
重启网络:
$ systemctl restart network