使用OpenShift虚拟化从现有映像创建Windows虚拟机

下载并准备VM映像

出于本文的目的,我选择了Microsoft提供的相对较小的VM映像,此处是Microsoft Edge测试套件。我选择了“ Win 10(x64)稳定版MSEdge”和“ VMware(Windows,Mac)”作为平台。此下载将生成一个压缩文件,您可以使用该文件压缩VM的disk1映像来扩展VMDK。

OpenShift虚拟化需要RAW或QCOW2图像,因此我们需要在上载之前转换VMDK图像。可以使用qemu-img命令行工具执行此转换。可通过RHEL 8的基本Appstream存储库从同名的RPM中使用qemu-img工具。

要将VMDK转换为QCOW2

qemu-img convert -f vmdk -O qcow2 \
    MSEdge-Win10-VMware-disk1.vmdk \
    msedge-w10.qcow2

在将QCOW2上传到OpenShift集群中的PVC之前,请使用qemu-img检查其预期的虚拟大小:

qemu-img info msedge-w10.qcow2
image: msedge-w10.qcow2
file format: qcow2
virtual size: 40G (42949672960 bytes)
disk size: 13G
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: false
    refcount bits: 16
    corrupt: false

将VM映像上传到OpenShift虚拟化

OpenShift虚拟化包含一个容器化数据导入器(CDI)代理,您的浏览器必须信任SSL证书才能上传图像。如果您对OpenShift群集证书使用受信任的CA,那么就足够了。否则,您将需要浏览到入口URL下的cdi-uploadproxy-openshift-cnv应用程序并接受其SSL证书。在此过程中,您可能会忽略任何404错误。您可以使用以下命令来生成URL:

    oc whoami --show-console | sed 's/console-openshift-console/cdi-uploadproxy-openshift-cnv/'

例如,我们针对名为“ cnv”的群集的基本域为“ example.com”的URL产生:

https://cdi-uploadproxy-openshift-cnv.apps.cnv.example.com/

您将需要一个项目来工作。在我们的示例中,我们使用名为“ mydev”的普通用户拥有的“ sandbox”。

要将图像上传到40GiB DataVolume中,请导航至“存储”->“持久卷声明”。单击“创建持久性数量声明”,然后选择“带有数据上传表单”。

单击“浏览…”,然后选择上面创建的QCOW2图像。设置一个名称,例如“ msedge-w10”,从较早的位置调用磁盘映像的虚拟大小,为“ Size”输入该值,然后单击“ Upload”按钮。

BLOG-RunningWindowsVMsonOpenShiftVirtualization-1

上载图像时,请按照说明将浏览器选项卡保持打开状态。

从VM映像创建虚拟机

导入PersistentVolumeClaim后,就该创建虚拟机了。在OpenShift控制台中,导航到“工作负载->虚拟化”,然后单击“创建虚拟机”。从下拉菜单中选择“使用向导新建”。

在“常规”选项卡中,填写虚拟机的名称,选择“ Microsoft Windows 10”作为操作系统,选择“中等”作为风味,选择“桌面”作为工作负载配置文件,并选择“现有PVC”作为启动源。确保选中了“安装Windows来宾工具”复选框,因为该图像上将需要驱动程序。单击下一步按钮继续浏览“网络”选项卡,然后再次进入“存储”选项卡。

在存储选项卡中,您将看到已经为“ windows-guest-tools”容器映像设置的CD-ROM磁盘。单击“添加磁盘”以包含刚上传的PVC。选择“使用现有PVC”作为“来源”,然后在“持续批量声明”下选择刚上传的PVC。名称可以保留为默认值,接口应保留为建议的“ virtio”。单击“添加”以将该磁盘定义添加到VM并返回到“存储”选项卡。将启动源更改为刚添加的磁盘的名称,然后单击“查看并确认”。

查看设置,选中“创建时启动虚拟机”复选框,然后单击“创建虚拟机”。单击下一页上的“查看虚拟机详细信息”以查看虚拟机。

启动Windows VM

单击“控制台”选项卡以查看虚拟机的图形控制台。

由于缺少磁盘驱动器,系统将无法正常启动,重新引导并无法 启动以键盘布局选择开头的Microsoft Windows 10恢复环境(WinRE)。

BLOG-RunningWindowsVMsonOpenShiftVirtualization-3

选择键盘布局后,为“高级选项”选择“疑难解答”按钮,然后选择“命令提示符”。

在CMD.EXE窗口中,WinRE环境在X:\上,而来宾工具ISO在D:\上。

要将驱动程序加载到WinRE的临时驱动程序存储中,请使用drvload

drvload D:\amd64\w10\viostor.inf /install

现在,虚拟硬盘驱动器应显示为驱动器号。根据映像,可能会有保留的分区,这些分区将系统根分区的字母按字母顺序推高,但是对于此演示的MSEdge评估VMDK,可以在C:\ Windows下找到Windows文件夹。

现在使用dism 将驱动程序注入到预引导环境中:

dism /image=C:\ /add-driver /driver=D:\amd64\w10\viostor.inf

BLOG-RunningWindowsVMsonOpenShiftVirtualization-2

从CMD.EXE终端退出,然后选择“继续”以使用新安装的VirtIO存储驱动程序引导进入Windows 10。

BLOG-RunningWindowsVMsonOpenShiftVirtualization

Windows启动后,登录并从CD-ROM来宾工具映像的根目录运行“ virtio-win-guest-tools.exe”安装程序。这将为虚拟设备安装一系列驱动程序,包括网络接口卡以及虚拟访客代理,从而使CNV可以更好地访问操作系统状态。

BLOG-RunningWindowsVMsonOpenShiftVirtualization-4

安装完成后,可以从VirtualMachine定义中删除来宾工具CD-ROM。关闭虚拟机,然后单击“磁盘”选项卡。VM完全关闭后,可通过从其行尾的菜单中选择DELETE来删除CD-ROM容器。

未经允许不得转载:励志言 » 使用OpenShift虚拟化从现有映像创建Windows虚拟机

赞 (0) 打赏

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏