构造与安装虚拟化设备丨系列文章(2)

题图摄于北京:望京升明月

近期文章:

运维 Harbor 镜像仓库的法宝:Operator

Harbor和Dragonfly双剑合璧

KubeFATE: 用云原生技术赋能联邦学习(一)

用FATE进行图片识别的联邦学习

(本文作者系 VMware 边缘计算实验室主任,原文首发于VMware中国研发中心公众号)

上期文章《边缘计算的探索与实践》总述了云边协同和设备管理的方向,本篇文章将会描述如何利用VMware的免费软件构造与安装虚拟化设备。

第二篇 构造与安装虚拟化设备

vSphere Hypervisor介绍

VMware 是全球领先的虚拟化软件、混合云计算和企业用户计算方案提供商,vSphere 是其核心的旗舰产品。2020 年 4 月,VMware向全球发布了最新一代的 vSphere 7.0 产品,提供更多新增功能,特别是全面支持Kubernetes的革命性的 Tanzu 平台

vSphere是应用广泛的虚拟化平台,不仅在服务器,在设备上运行所需的核心功能已包含进了免费产品 vSphere Hypervisor (https://www.vmware.com/cn/products/vsphere-hypervisor.html) 中。

已验证的设备规范

这里讨论的是免费vSphere Hypervisor从技术上讲可运行所需要的设备规范,而不是提供商业产品级别支持的vSphere所要求的硬件兼容列表

已验证来源于多家厂商、符合至少如下硬件规范的约20种型号设备上,从技术上讲可以运行vSphere Hypervisor。

  • CPU:x86-64 2+ 核心(1GHz+)、支持VT-x/AMD-V指令

  • 内存:4GB (ECC或non-ECC)

  • 存储:SSD/HDD/Flash 16GB

  • 网络:1Gbps有线网卡

下载相关软件

必要软件

注意:下载之前需要先注册账号,才能获取免费的vSphere Hypervisor序列号。ISO镜像是必要的,如果需要定制化镜像,还要下载离线包。

  • vSphere Hypervisor

    - vSphere Hypervisor 7.0

    (https://my.vmware.com/zh/web/vmware/evalcenter?p=free-esxi7) 或

    - vSphere Hypervisor 6.7 

    (https://my.vmware.com/zh/web/vmware/evalcenter?p=free-esxi6)

可选驱动软件

注意:因为有些设备载有Realtek或其它vSphere 6.x/7.0不提供官方支持芯片的网卡,所以需要到社区网站上自行下载。如

  • Realtek网卡驱动 (https://vibsdepot.v-front.de/wiki/index.php/Net55-r8168):PCIe接口的Realtek网卡

  • USB网卡驱动 (https://flings.vmware.com/usb-network-native-driver-for-esxi):USB接口的网卡(含主板自建的、非USB物理接口的网卡)

可选工具软件

注意:命令行和图形两种方式二选一即可。如果希望深度定制ESXi镜像,建议选择vCenter Server。

  • vCenter Server 7.0 :通过图形方式构建,注册账号后可下载后免费试用60天,或利用某个已安装的vCenter实例。

  • VMware PowerCLI 12.0:通过命令行方式构建

  • OVF Tools  4.4:命令行方式部署虚机镜像的工具

  • ESXCLI 7.0 :远程管理ESXi的命令行工具

构建适合设备的定制ESXi镜像

命令行方式

安装VMware PowerCLI的步骤省略,以下以ESXi 7.0添加USB网卡驱动为例。

  • 增添ESXi 7.0的软件仓库

Add-EsxSoftwareDepot .\VMware-ESXi-7.0.0-15843807-depot.zip

  • 增添USB网卡驱动的软件仓库

Add-EsxSoftwareDepot .\ESXi700-VMKUSB-NIC-FLING-34491022-component-15873236.zip

  • 获取ESXi 7.0里的镜像规范名

Get-EsxImageProfile | ft name

  • 从不含vmtools的镜像规范ESXi-7.0.0-15843807-no-tools复制出一份新的镜像规范ESXi7-USB

New-EsxImageProfile -CloneProfile ESXi-7.0.0-15843807-no-tools -Name ESXi7-USBNIC -vendor VMware

  • 将USB网卡驱动vmkusb-nic-fling添加到新创建的镜像规范ESXi7-USB中

Add-EsxSoftwarePackage -ImageProfile ESXi7-USBNIC -SoftwarePackage vmkusb-nic-fling –Force

  • 为新镜像规范ESXi7-USBNIC设置接受等级为VMwareCertified(本步骤为可选)

Set-EsxImageProfile -AcceptanceLevel VMwareCertified -ImageProfile ESXi7-USBNIC

  • 将新镜像规范ESXi7-USBNIC导出为ISO镜像文件ESXi7-USBNIC.iso

Export-EsxImageProfile -ImageProfile ESXi7-USBNIC -FilePath ESXi7-USBNIC.iso -ExportToIso –Force

这个导出的ISO镜像文件ESXi7-USBNIC.iso既可启动安装ESXi 7.0,将其“烧“到USB盘中。

注意:现在社区提供的Realtek PCIe网卡驱动还不支持ESXi 7.0,只能定制ESXi 6.7的镜像文件,步骤类似于上面的例子。

图形方式

也可以利用vCenter Server里的自动部署(Auto Deploy)功能来定制ESXi安装镜像。这样的好处可以很容易地选择增加或删除其他集成包(VIB),即进一步压缩镜像的大小、或添加其他自动部署的Kickstart脚本。这里同样以定制ESXi 7.0镜像为例。

  • 增添ESXi 7.0的软件仓库

  • 增添USB网卡驱动的软件仓库

  • 新建软件仓库

  • 新建镜像规范,并添加USB网卡驱动vmkusb-nic-fling,删除vmtools,设定接受等级为VMware certified(可选)。

注意:在本步骤中,可以选择删除更多的集成包以极大地压缩镜像的尺寸,比如设备上不需要的网卡(NIC)和存储卡(HBA)驱动等。如果是在ESXi 6.7镜像中添加PCIe Realtek网卡驱动,切记接受等级要选择社区支持(Community Support)。

  • 导出新镜像。

这个导出的ISO镜像文件既可启动安装ESXi 7.0,将其“烧“到USB盘中。

在设备上安装ESXi镜像

连接硬件

在设备上安装ESXi镜像之前要确保该设备具有足够的硬件资源,特别是以上列出的内存(至少4GB)、硬盘(非eMMC、至少16GB)和网络(1Gbps以上有线网卡)。按照该设备的使用手册连接键盘、显示器、U盘、网线等。如配置无显示器接口,需要按设备使用手册,将适当的串口以调试方式连接至显示器。

BIOS设置

在有些设备中,即使有配置4GB内存,但显存是与主内存共享的。在这种情况下,建议在正式安装前在BIOS中把共享显存设置到最小(比如32MB)。

另外,确保在BIOS内的硬件虚拟化指令Intel Virtualization Technology或AMD Secure Virtual Machine设置于Enabled状态,而安全启动Secure Boot或TPM设置于disabled状态。

启动安装

按照BIOS的设置从“烧“好的U盘启动,在看到如下ESXi加载画面时迅速按下Shift+O键,追加内核参数ignoreHeadless=TRUE,这是为了支持Headless模式。

之后ESXi应该就可以像在服务器那样正常安装。待安装完成之后,会提示重新启动。

重启设置

重启之后,记得要在看到如上的加载画面时再次迅速按下Shift+O键,同样追加内核参数ignoreHeadless=TRUE。这是因为该参数还没有保存下来,而要在接下来的步骤中保存。在这次重启后,除了设置网卡地址(如果不是DHCP)之外,建议打开SSH和ESXi Shell服务以方便调试。

以命令行方式ssh root@192.168.0.10 登录设备后,更改并保存内核参数如下。

esxcfg-advcfg --set-kernel "TRUE" ignoreHeadless

esxcfg-advcfg -–get-kernel ignoreHeadless

验证安装成功

再次重新启动设备,这次就不用键入Shift+O调整内核参数了。现在也可以图形方式登录了。

  • 图形方式https://192.168.0.10/

登录之后可以将之前下载vSphere Hypervisor时免费获取的序列号应用。

手工创建datastore(可选)

对于服务器等大型计算机来讲,一般配置有足够大的存储空间。安装vSphere Hypervisor即ESXi之后,通常就会自动生成至少一个可用的datastore。有了datastore之后才能够创建虚机,部署实际的边缘应用。但对于只有少量存储空间(比如<32GB的USB)的设备来说,可能会遇到安装ESXi之后没有自动创建任何可用datastore的情况。

比如:在ESXi 6.7上,安装系统后的剩余空间不会做任何分区;在ESXi 7.0上,安装基础系统后的空间会建立一个VMFSL的分区,举例如下。这个VMFSL分区实际上没有存储任何数据,而也不可当作正常VMFS分区使用。在虚拟化设备上,绝大多数情况不会使用这个VMFSL分区。我们就此将其删除,释放空间出来手工创建VMFS分区。

  • 登录虚拟化设备

ssh root@192.168.0.10

  • 获取目标存储分区表

partedUtil getptbl /dev/disks/t10.SanDisk00Ultra_Fit000000000000004C530001131021105082

这里的关键点是替换最后一项第7分区的UUID为VMFS的AA31E02A400F11DB9590000C2911D1B8,千万不要修改其他任何分区的数据。

  • 获取coredump分区状态

esxcli system coredump partition get

  • 解除coredump分区锁定

esxcli system coredump partition set --enable false

  • 刷新目标存储的分区表

partedUtil setptbl /dev/disks/t10.SanDisk00Ultra_Fit000000000000004C530001131021105082 gpt \

"1 64 204863 C12A7328F81F11D2BA4B00A0C93EC93B 128" \

"5 208896 2306047 EBD0A0A2B9E5443387C068B6B72699C7 0" \

"6 2308096 4405247 EBD0A0A2B9E5443387C068B6B72699C7 0" \

"7 4407296 20971486 AA31E02A400F11DB9590000C2911D1B8 0"

  • 在新VMFS分区上创建datastore

vmkfstools /dev/disks/t10.SanDisk00Ultra_Fit000000000000004C530001131021105082:7

现在就能看到一个新的datastore已经创建出来了,可以把它更名为datastore1。

部署边缘应用

接下来,虚拟化设备就可以用来部署边缘应用了。比如Linux基金会旗下的EdgeX Foundry项目(https://www.edgexfoundry.org/),可以通过Ubuntu虚机镜像成功部署到虚拟化设备上去。在2019年12月的EdgeX Foundry China Day上的工作坊,已经展示过EdgeX Foundry部署在虚拟化设备上正常工作的实例。EdgeX Foundry微服务架构里的10几个容器实例都运行在虚拟化设备内的同一个Ubuntu虚机实例里。

如果同一个虚拟化设备在部署了一个EdgeX Foundry实例之后还有相当的富余资源,就可以再部署若干任何OS支持的其他边缘应用。比如基于Windows IoT Core的Azure IoT Edge、基于Zephyr、Wind River或QNX的“实时”控制软件、基于DOS的遗留系统、基于Android x86的展示牌应用、基于Raspbian或Ubuntu Core的现代边缘应用等。

有两种常见方式来部署虚机镜像:ESXi Web UI的图形方式或者OVF Tools的命令行方式。因为与其他虚机镜像的部署方式一样,这里不再赘述详细的步骤。

透传PCIe和USB设备

在虚拟化设备上部署边缘应用,可能需要设置某些PCIe或USB设备的透传(Pass-through),特别是为了连接现场的传感器、设备内的加速器或者是上云的Wifi和移动通信网卡。这些设置和在数据中心里的方式并无不同,同样不再赘述。

- 未完待续 -

消息一则:

VMware近期职位: 北京、上海、广州等


要想了解云原生、区块链和人工智能等技术原理,请立即长按以下二维码,关注本公众号亨利笔记 ( henglibiji ),以免错过更新。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值