概述
从NVIDIA vGPU版本11.0开始支持了软件跨版本升级特性,借助此特性,一定程度上解耦了虚拟化vGPU Host与Guest驱动程序版本关系,实现更平滑的VM内vGPU驱动程序升级过程,提升了用户体验。
本文将着重介绍NVIDIA vGPU软件跨版本升级概念与局限性。
背景:
在NVIDIA vGPU 版本11.0 以前,虚拟机内部安装的vGPU Guest驱动程序需要与虚拟化平台上安装的Host驱动(vGPU manager)版本相匹配。例如: vGPU 9.x的虚拟机必须在运行在vGPU 版本9.x 的Host上面,而不能运行在vGPU版本10的Host上。这意味着如果对vGPU Host软件升级,虚拟机也要同步升级相应的vGPU Guest驱动程序,否则虚拟机内的驱动程序可能发生兼容性问题。尤其在云环境下,难以对多租户环境同步升级,云管理方升级vGPU Manager后,需要及时通知VM客户升级。
从11.0版本开始,提供了Cross-branch升级特性,该特性允许在升级了新版本vGPU驱动程序的虚拟化平台(Host)上运行较旧版本(一定范围内)的Guest驱动程序的虚拟机,期间无须客户强制升级Guest驱动,例如:升级vGPU 11.x的Host上面仍然可以运行旧的基于vGPU 10.x驱动的客户机,以便于后期升级。
在了解vGPU Cross-branch 升级之前,我们先介绍两个关于vGPU软件发布周期的概念,这将有助于我们理解vGPU版本号和后面的内容:
NVIDIA的vGPU软件有两种支持周期的版本:
1. 长期支持服务分支(LTSB), 目前LTSB版本号包括vGPU8.0, 11.0
· 长期支持分支(版本)支持周期为3年,因此可以得到更稳定的支持。
· 常伴随新的GPU架构发布,也包括新的vGPU特性。
· 发布周期间隔一般不超过2年
2. 新特性生产分支PBR(之前称为NFB),例如:vGPU 版本7.0, 9.0, 10.0
· 典型支持周期为1年有效
· 通常伴随新的软件特性发布
· 发布周期间隔大约半年左右
3. 小版本发布(Minor Release)通常为主分支的更新升级版本,形如x.y,y>=1, 如: vGPU 7.1, 9.3, 11.3。
此外,LTSB 本身也可看作是PBR,但一个PBR不一定是LTSB,LTSB是对齐PBR时间进行发布的,当产品满足LTSB发布条件时,将这一版本的PBR标定为LTSB。
Cross-Branch 升级策略
接下来我们看看支持Cross-branch升级一些必要条件:
1. vGPU跨版本升级要求虚拟化平台上安装的vGPUHost 驱动(又称为vGPU manager)的最低版本为11.0。早于v11.0的vGPUHost只支持版本内升级(In-branch),即Host 大版本=Guest 大版本。
2. 虚拟机内Guest驱动的最低版本为10.0, 如果VM内安装的vGPUGuest驱动版本< v10.0,则不兼容平台驱动程序。
3. Host驱动程序版本应大于或等于Guest驱动版本。例如:在12.0 Host驱动的平台上可以运行安装vGPUGuest驱动版本11.0的虚拟机,但不可以在安装v11.0 vGPU驱动的Host平台上运行v12.0 vGPU驱动的客户机。
4. Cross-branch 升级的Host和Guest驱动的大版本号跨度应在相邻的两个LTSB版本之间,包含LTSB版本自身和其间的PBR版本。但不能超出这个范围。
例如:假设vGPUv11.0和v13.0是相邻的2个LTSB版本,vGPU 12.0 是其间的PBR版本。允许在v12 的Host上运行v11,v12 guest驱动的VM,也允许在v13的host上面运行v11,v12,v13的guest驱动的VM。但是不可以在V12,V13 的host GPU版本上运行v10版本vGPU的guest,因为v11是此LTSB版本区间的下限;也不可以在v13的Host上运行未来v14的guest驱动的VM,因为其违背了条件3。
5. 小版本号(版本小数点后的数字) 不影响跨版本升级。
下表列出了vGPUhost/guest Cross-Branch 升级的兼容矩阵的范例(为了演示一些特殊情况,这里假设vGPU v13 是v11之后的下一个LTSB版本):
结论
NVIDIA vGPU v11.0提供了跨版本升级特性,为客户升级vGPU Guest驱动提供了一个时间窗口,很大程度缓解了之前由于Host升级带来兼容性强制升级。本文讨论了升级的必要条件和注意事项,并简单介绍了vGPU产品发布和维护周期,供参考。