河北王春海

2022年8月31日,在VMware Explore 2022大会上VMware 介绍了其vSphere 和 vSAN 产品的更新。2022年10月11日,VMware发布了vSphere 8的正式版本。vSphere 8与vSAN 8更新较多,读者或用户关注点有以下内容。

(1)vSphere 8许可方式变更。vSphere 8会改为订阅方式,但原来的永久许可方式也会保留。对于现有 vSphere 部署的客户,可以将现有永久许可证转换为订阅。进行切换后,可以使用可选的附加混合云服务进一步扩展 vSphere+ 的功能,用户可以在准备就绪时订阅这些服务。

vSphere 8.0 的每个CPU许可最多可支持

例如:如果每台服务器配置了2个Intel 至强Gold 6338N处理器,该处理器具有32个内核。则每台服务器需要配置2个CPU许可。

如果每台服务器配置了2个Intel至强Platinum 8380 处理器,该处理器具有40个内核,则每台服务器需要配置4个CPU许可。

(2)ESXi系统安装。对于完整 ESXi 安装,弃用 USB 或 SD 卡设备将不再使用

(3)ESXi 引导内存要求增加:ESXi 引导的最低内存要求已从 4 GB 增加到 8 GB。运行虚拟机所需的最小内存仍为 8 GB。

(4)vSphere 8.0 与 VMware NSX for vSphere (NSX-V) 不兼容。不支持从具有 NSX for vSphere 的系统升级到 vSphere 8.0。

(5)防止执行不受信任的二进制文件:从 ESXi 8.0 开始,默认情况下启用了一个新的安全选项,可限制执行不受信任的二进制文件,从而更好地抵御勒索软件攻击。execInstalledOnly 选项目前是一个运行时参数,可限制执行应用程序和 vmkernel 模块等二进制文件,以提高安全性并抵御破坏和泄露行为。启用 execInstalledOnly 后,仅允许运行使用 VIB 在本地安装的二进制文件。

(6)停止支持 Apple Mac 平台:ESXi 8.0 不支持 Apple Mac Pro 和 Apple Mac Mini 平台,也不支持将 macOS 作为客户机操作系统。

(7)vSphere 8可为已支持的 CPU 和 GPU 添加数据处理单元 (DPU) 支持。这将允许 vSphere 用户通过将网络和安全功能从 CPU 卸载到 DPU 来提高系统性能。VMware 声称,这将节省多达 20% 的 CPU 使用率,并提供更好的性能,从而降低总拥有成本。这也将更好地支持资源密集型人工智能 (AI)和机器学习 (ML)应用。

(8)vSAN 8 引入了 vSAN Express Storage Architecture (vSAN ESA)架构,vSAN ESA 由一个单层架构组成,所有设备均可提供容量。此平面存储池不再需要使用具有缓存设备的磁盘组。

7.0及以前的版本的传统vSAN架构中,是两层架构。每个磁盘组(Disk groups)包括1个缓存层和1个容量层。缓存层要求有1缓存SSD,容量层包括1到7容量SSD或HDD。

在vSAN 8ESA架构中,不再需要2种SSD而变为单一分层,每个节点上都是单一存储池,不再有磁盘组,不再需要配置单独的缓存磁盘。性能方面,vSAN 8 ESA架构下,使用RAID-6可以达到传统架构RAID-1的性能。

【说明】在vSAN中,要使用RAID-6需要至少6台主机,虚拟机中保存1GB的数据需要占用1.5GB的存储空间。RAID-1需要至少3台主机,虚拟机中保存1GB的数据需要占用2GB的存储空间。

vSAN 8仍然支持传统的架构,传统的架构称为Original Storage Architecture。在vSAN 8中,传统架构增加了写入缓冲区大小,可以配置vSAN主机将写入缓冲区从600GB增加到1.6TB。vSAN 8磁盘格式升级到17.0版本。

本例简要介绍从vSphere 7升级到vSphere 8的知识,并且搭建实验环境体验vSAN 8的ESA架构。

1 将vSphere 7.0 U3升级到vSphere 8

在当前的环境中,有一个由4台ESXi主机组成的vSphere vSAN实验环境。每台主机有1个磁盘组,一共8个容量磁盘。查看每台主机的磁盘对象,每台主机有1个240GB的NVME SSD和2个2TB的SATA硬盘,当前磁盘格式为15

1.1 升级vCenter 7.0到8.0

要将vSphere 7.0升级到8.0比较简单,先升级vCenter,再升级ESXi,之后升级vSAN磁盘格式。下面一一介绍。

1)检查vCenter Server 7.0所在的ESXi主机,在当前的示例中,vCenter Server所在ESXi的IP地址是172.18.96.43。当前vCenter Server的IP地址为172.18.96.20

2)加载vCenter Server 8.0的安装ISO文件,执行vcsa-ui-installer\win32目录中的install.exe程序,选择“升级”。

(3)在“连接到源设备”对话框中,输入源设备vCenter Server的IP地址(当前示例为172.18.96.20),选择管理源设备的ESXi主机或vCenter Server(当前选择ESXi主机,该地址是172.18.96.43),并输入对应vCenter Server的SSO账户administrator@vsphere.local名及密码,以及对应ESXi主机的root账号名root和密码,如图1所示。

升级与测试vSphere 8​_vSphere


1 源设备

(4)在“vCenter Server部署目标”对话框中,输入部署新vCenter Server 8所在ESXi主机,当前示例为172.18.96.42,并输入root账户和密码。

(5)在“设置目标vCenter Server虚拟机”对话框中输入新部署的vCenter Server虚拟机的名称和root账号的密码。在当前示例中,新部署的vCenter虚拟机名称为vcsa8.0.0.10000-20201232-96.20

(6)在“选择部署大小”对话框中,设置新vCenter Server部署大小和存储大小,在此选择“微型”部署。

7)在“选择数据存储”对话框中选择此设备的存储位置,本示例选择vSAN存储,并且选择精简模式。

8)在“配置网络设置”对话框中,为新部署的vCenter Server选择网络并设置临时的IP地址,临时的IP地址应该与原来的vCenter Server在同一网段并且是未被使用的IP地址,本示例为172.18.96.10

9)在“即将完成第1阶段”显示了开始部署新vCenter Server的设置,单击“完成”按钮。

10)开始第一阶段的工作,在此阶段将部署一台名为vcsa8.0.0.10000-20201232-96.20的vCenter Server,新的虚拟机使用临时IP地址172.18.96.10。第一阶段部署完成后将开始第二阶段,此时显示https:// 172.18.96.10:5480继续部署。

(11)开始第二阶段,并且连接到源vCenter Server,当前要连接到的源vCenter Server172.18.96.20

(12)选择要升级的数据,本示例只选择“配置”数据。

(13)在“即将完成”对话框中显示了完成前的配置,检查无误之后选中“我已备份vCenter和数据库中的所有必要数据”,然后单击“完成”按钮。

(14)在“升级-第二阶段”将从源vCenter Server(IP地址为172.18.96.20)复制数据到启用临时IP地址172.18.96.10的vCenter Server,在复制完数据后,源vCenter Server关闭,将复制的数据导入新vCenter Server,并且将临时IP地址172.18.96.10修改成成原来vCenter Server的IP地址172.18.96.20,升级完成。升级完成后登录vCenter Server

【说明】在从vSphere 7.0升级到8.0的时候,8.0使用的是测试版本。在2022年10月11日发布了正式版后,将8.0从测试版升级到了正式版。

1.2 升级集群中所有ESXi主机

对于从vSphere 7.0升级到8.0,可以使用集群升级功能,批量升级集群中所有ESXi主机。下面介绍升级过程,主要步骤如下。

(1)使用vSphere Client登录到vCenter Server,依次查看集群中每台ESXi主机的版本号,当前版本号为7.0.3-20036589

(2)在“Lifecycle Manager”的“导入的ISO”中导入ESXi 8.0的升级ISO镜像,然后将上载的ISO创建基准,当前基准名称为ESXi-8.0.0-20201225

(3)在“Lifecycle Manager”的“设置”选项中“修补程序下载”中,单击右侧的“编辑”链接,禁用“自动下载”。

(4)在“设置→主机修复→虚拟机”中,在“默认虚拟机回滚设置”中禁用生成虚拟机快照,如图2所示。

升级与测试vSphere 8​_vSphere_02


图2 禁用生成虚拟机快照

(5)返回到“主机和集群”清单,在左侧导航器中选中集群名称,在右侧“更新”选项中单击“附加”,在弹出的下拉列表中选择“附加基准或基准组”(如图3所示),在弹出的“附加|vSAN对话框中选择升级基准,当前为ESXi-8.0.0-20201225

升级与测试vSphere 8​_vSAN_03


图3 附加基准组

(6)附加基准文件之后,选中附加的基准文件,单击“修复”链接。在“修复|vSAN项,具有ESXi-8.0.0-20201225”对话框中,默认会选中当前集群中的所有主机,单击“修复”按钮。

7)升级向导会依次将每台主机进入维护模式,修复每台ESXi主机后重新启动,并再次进入系统后将主机退出维护模式,然后将下一台主机进入维护模式并继续修复,直到将集群中每台主机升级完成。

在升级vCenter Server与ESXi之后,升级vSAN磁盘格式版本到17.0。升级前vSAN磁盘格式版本为15.0

(1)登录到vCenter Server,在“配置→vSAN磁盘管理”中,可以看到当前的磁盘格式为15。单击“升级”按钮,如图4所示。

升级与测试vSphere 8​_vSphere_04


图4 升级vSAN分区

(2)在“升级”对话框,单击“升级”按钮,开始转换磁盘格式,在“近期任务”显示进度。

3)升级完成后,在“配置→vSAN→磁盘管理”中,vSAN格式升级到17.0

2 搭建vSAN 8实验环境

为了搭建vSphere 8与vSAN 8的实验环境,我们准备了一台DELL R730XD的服务器,这台服务器配置了2个Intel E5-2680 V4的CPU,512GB内存,12块4TB的NL-SAS磁盘并使用RAID-50划分为2个卷,其中第1个卷100GB用来安装ESXi 7.0.3-20036589,剩下的空间划分为第2个卷用来保存数据。在实验前主机摘要信息如图5所示。

升级与测试vSphere 8​_vSAN_05


图5 实验主机

2.1 vSAN 8 ESA集群实验

在ESXi中创建了一个名为vsan8-beta的资源池,创建了4台ESXi的虚拟机,并且将vCenter Server 8的虚拟机安装在这个资源池中。每台主机配置清单如表1所列。

1 vSphere 8与vSAN 8实验环境配置清单

序号

虚拟机名称

IP地址

CPU

内存(GB

硬盘

1

ESXi8-192.168.16.41

192.168.16.41

4

96

120GB×1

500GB×10

2

ESXi8-192.168.16.42

192.168.16.42

4

96

120GB×1

500GB×10

3

ESXi8-192.168.16.43

192.168.16.43

4

96

120GB×1

500GB×10

4

ESXi8-192.168.16.44

192.168.16.44

4

96

120GB×1

500GB×10

5

vcsa8-16.20

192.168.16.20

8

14


安装vCenter Server 8.0,在创建的4台ESXi主机中安装ESXi 8.0,在安装ESXi的时候,将系统安装在容量为120GB的磁盘中,安装完成后,每台ESXi主机根据表1规划设置管理IP地址。

安装vCenter 8.0与ESXi 8.0之后,使用浏览器登录vCenter Server 8.0,创建数据中心(本示例名称为Datacenter)和集群(本示例名称为vsan),将4台ESXi主机添加到集群中。然后依次登录每台ESXi主机,将容量为500GB的磁盘声明为SSD,声明之后如图6所示。

升级与测试vSphere 8​_vSphere_06


图6 声明磁盘为SSD

每台ESXi主机配置了一块 VMXNET3的虚拟网卡。注意,如果在ESXi中创建嵌套的ESXi虚拟机,做vSAN的实验,ESXi主机管理流量、VMotion流量、vSAN流量应该在同一个VMkernel上。如果使用多台虚拟交换机,并且创建多个不同的VMkernel,ESXi主机管理流量与vSAN流量在不同的VMkernel上时,将无法创建vSAN存储。如图7所示,这是vmk0启用管理流量、置备流量、VMotion流量和vSAN流量的截图。

升级与测试vSphere 8​_vSAN_07


图7 查看VMkernel启用的服务

在准备好实验环境后,启用vSAN服务,主要步骤如下。

(1)登录到vCenter Server,在左侧导航窗格中单击集群名称,在右侧“配置→vSAN服务”中选择“标准vSAN集群”,单击“配置”按钮。

(2)在“vSAN ESA”对话框中,启用vSAN ESA。如果关闭vSAN ESA,将是使用传统的磁盘组格式。如图8所示。

升级与测试vSphere 8​_vSphere_08


图8 启用vSAN ESA

(3)在“服务”对话框中单击“下一步”按钮,在“声明磁盘”对话框中,选中所有容量为500GB的磁盘。在当前的示例中,4台主机合计一共40块容量为500GB的磁盘,声明的磁盘总容量为19.53TB

4)在“创建故障域”对话框中单击“下一步”按钮,在“检查”对话框中,显示了当前创建vSAN集群的信息,检查完成后,单击“完成”按钮。

5)配置vSAN集群完成后,在“配置→vSAN磁盘管理”中,显示当前共有4台主机,共有40个已声明的磁盘。磁盘运行状况为正常,网络分区组都在组1,如图9所示。

升级与测试vSphere 8​_vSphere_09


图9 磁盘管理

6)在图15中单击“查看磁盘”链接,显示每台主机的磁盘使用情况。当前显示的是IP地址为192.168.16.41的磁盘,在当前示例中,一共声明了10块vSAN磁盘。如图10所示。在当前的显示中,没有单独用作缓存的磁盘,每一块磁盘都是容量磁盘。

升级与测试vSphere 8​_vSphere_10


10 没有专用于缓存的磁盘

7)在组成vSAN集群后,当前vSAN存储容量为19.53TB,在当前示例中,将vSAN存储默认名称修改为vsanDatastore-19.53TB,这方便后期的管理与维护。

2.2 创建RAID-5虚拟机存储策略

如果vSAN集群有4台主机,并且是全闪存vSAN集群或新的ESA集群情况下,可以使用RAID-5的虚拟机存储策略。如果有6台主机,可以使用RAID-6的虚拟机存储策略。下面创建RAID-5的虚拟机存储策略,并创建Windows 11的虚拟机,并在虚拟机中安装操作系统。

(1)使用管理员账户登录到vCenter Server,在“策略和配置文件”中创建名称为RAID-5的虚拟机存储策略。

(2)编辑名称为RAID-5的虚拟机存储策略,在“可用性”选项卡中,在“允许的故障数”右侧选择“1个故障-RAID-5(纠删码)”,“存储规则”选项卡中,在“存储层”选择“全闪存”。其他选择默认值。

(3)在“存储兼容性”对话框中,显示可用的vSAN存储。

(4)创建虚拟机存储策略后,新建虚拟机,创建名称为Windows 11的虚拟机,存储策略选择RAID-5,虚拟机操作系统为Windows 10(如果要选择Windows 11操作系统,需要为当前vSphere环境配置KMS服务器)。为虚拟机分配2个vCPU、4GB内存和100GB硬盘,如图11所示。

升级与测试vSphere 8​_vSAN_11


图11 自定义硬件

(5)使用VMRC打开Windows 11虚拟机控制台,打开虚拟机电源,加载Windows 11的ISO安装镜像。在选择版本之前,在安装界面按Shift+F10,打开命令行界面,输入regedit打开注册表,然后定位到:HKEY_LOCAL_MACHINE\SYSTEM\Setup,创建一个名为“LabConfig”的项,在“LabConfig”下创建两个DWORD值(如图12所示)。

键为“BypassTPMCheck”,值为“00000001”

键为“BypassSecureBootCheck”,值为“00000001”

升级与测试vSphere 8​_vSphere_12


图12 修改注册表

然后选择要安装的Windows 11版本,直到安装完成。安装完成后,安装VMware Tools。之后可以继续进行其他测试,这些不一一介绍。

2.3 其他配置实验说明

在最初的实验配置中,每台主机配置了4个vCPU和32GB内存,1个120GB的系统盘,3个500GB的容量盘,此配置可以完成传统的vSAN全闪存磁盘组实验,也可以完成ESA的vSAN集群实验。

后来将每台主机扩充到64GB内存,10个500GB的容量盘,想要完成新的ESA的vSAN集群时,在将每台主机10块500GB的SSD声明之后,在“磁盘管理”中出错,如图13所示。

升级与测试vSphere 8​_vSphere_13


图13 运行状况不正常

其中3台主机可以使用8块500GB磁盘,有2块500GB动态状况为“未知”,如图14所示。还有1台主机可以使用9块500GB磁盘,有1块500GB动态状况为“未知”。

升级与测试vSphere 8​_vSAN_14


图14 可用磁盘8块,2块未知

后来删除vSAN集群,将每台ESXi主机内存扩充到96GB之后,在配置ESA vSAN集群后,每台主机的10块500GB 磁盘可以成功加到vSAN集群中。

在嵌套的ESXi中再安装Windows 11的虚拟机,如果要让Windows 11虚拟机访问外部网络,需要在宿主ESXi主机,为4台ESXi虚拟机使用的ESXi主机端口组属性中,启用混杂模式和伪传输,如图15所示。这样Windows 11虚拟机才能访问网络。

升级与测试vSphere 8​_vSphere_15


图15 端口组安全设置

3 vSphere 8使用中的一些小问题

我分别在实验环境物理机中,将vSphere 7升级到vSphere 8。也在嵌套的ESXi中全新安装了vSphere 8。在实验过程中,总体良好,但也发现一些小问题,记录如下。

(1)在升级安装ESXi 8的时候,磁盘前面取消了*和#的提示。在ESXi 6.0和7.0的版本中,如果磁盘已经使用,标记为*的是包括VMFS分区,标记为#的是vSAN磁盘。但在ESXi 8.0的版本中,没有对磁盘进行标记,在升级的时候需要注意。如图16所示。

升级与测试vSphere 8​_vSphere_16


图16 升级ESXi时磁盘选择界面

(2)vSphere 集群服务 (vCLS) 是 vSphere 7.0 Update 1 中的一项新功能。此功能可确保 vSphere DRS 和 vSphere HA 等集群服务都可用于维护集群中所运行工作负载的资源和运行状况,而不依赖于 vCenter Server 实例可用性。

vSphere 7.0 Update 1 开始,vSphere DRS 依赖于 vSphere 集群服务的运行状况。vSphere 集群服务 (vCLS) 默认处于启用状态,并在所有 vSphere 集群中运行。

在vSphere 8.0.0-20513097版本中,管理员可以在vCenter Server中关闭vCLS的虚拟机,但无法在vCenter Server中打开vCLS虚拟机的电源。并且vCLS虚拟机在关闭后可能无法自动开机。在vSphere 7.0 U1、U2、U3等版本中,如果vCLS虚拟机被人为或意外关闭,会自动重新打开电源。在vSphere 8.0中,如果vCLS虚拟机意外关机,可以登录到vCLS所在的ESXi主机,在ESXi中手动打开vCLS虚拟机的电源。

(3)vSphere 8的HA设置中,启用主机监控选项不可用,如图17所示。

升级与测试vSphere 8​_vSAN_17


图17 启用主机监控不可用

在使用VMware Workstation部署vCenter Server 8.0的时候,会出现图18所示错误。

升级与测试vSphere 8​_vSphere_18


图18 出错

如果希望使用VMware Workstation部署vCenter Server 8.0,可以按如下的方式解决。

(1)使用虚拟光驱加载vCenter Server 8.0的安装镜像,拷贝安装光盘vcsa文件夹中的ova文件到本地硬盘。在当前示例中,拷贝的文件名称为VMware-vCenter-Server-Appliance-8.0.0.10000-20519528_OVF10.ova,将其拷贝到f:\temp文件夹中。在当前示例中,vCenter Server安装光盘加载盘符为M。

(2)进入命令提示窗口,进入到f:\temp文件夹中,使用vCenter Server安装光盘vcsa\ovftool文件夹中的ovftool.exe程序,将VMware-vCenter-Server-Appliance-8.0.0.10000-20519528_OVF10.ova文件转化成ovf文件,命令格式如下:

m:\vcsa\ovftool\ovftool.exe VMware-vCenter-Server-Appliance-8.0.0.10000-20519528_OVF10.ova VMware-vCenter-Server-Appliance-8.0.0.10000-20519528_OVF10.ovf

(3)转化完成后,删除VMware-vCenter-Server-Appliance-8.0.0.10000-20519528_OVF10.ovaVMware-vCenter-Server-Appliance-8.0.0.10000-20519528_OVF10.mf文件。删除之后展开剩余文件如图19所示。

升级与测试vSphere 8​_vSphere_19


图19 展开后的文件

(4)用“记事本”打开VMware-vCenter-Server-Appliance-8.0.0.10000-20519528_OVF10.ovf文件,使用查找替换命令,将ovf:userCnotallow="false" 替换为ovf:userCnotallow="true",如图20所示。替换后保存退出。

升级与测试vSphere 8​_vSphere_20


20 替换

(5)然后再用VMware Workstation打开VMware-vCenter-Server-Appliance-8.0.0.10000-20519528_OVF10.ovf,根据向导部署vCenter Server即可。

【说明】(1)这篇文章发表在 《网络安全和信息化》2023年第1期,第47~56页。今天一个读者问vSAN 8的内容,我找了一下发出来。

(2)vSphere 8 现在按CPU核心数许可。vSAN按容量许可。具体可以咨询当地的经销商。