问候,
我正在尝试在用于数据中心环境中自动部署的操作系统映像库中自动测试驱动程序支持。
在大多数情况下,我看到人们对一些操作系统和一些服务器硬件模型进行了标准化,这使得测试和验证所有操作系统映像是否包含所有硬件支持的驱动程序都相当易于管理。
不幸的是,我不能那样做。我有几十个操作系统(Linux/Windows/Solaris、x86/x64/SPARC,3 年前的版本),确实应该针对戴尔、惠普、IBM 和 Sun 3 年前的代表性服务器硬件进行测试。这是大量的工作和大量的物理系统。
我宁愿做的是获取各种存储控制器(可能还有 NIC)的 PCI 设备信息,并使用一些东西来模拟 VM 中的设备。然后我可以将操作系统映像应用/安装到虚拟机,并查看将检测到的 PCI 设备与可用驱动程序相匹配的内核代码是否出现问题。必须对实际设备功能进行一些模拟,因为操作系统会在驱动程序加载后开始尝试使用设备,但似乎从事驱动程序或硬件开发的人可能对这样的工具有类似的需求。
有谁知道这样的事情是否存在?还是有完全不同的解决方法可以解决我的问题?
谢谢!
要模拟您正在谈论的各种 PCI 设备,您必须让某人编写这些 PCI 设备的虚拟版本。
由于没有编写虚拟硬件设备的“标准”(不过,在我看来,如果有的话肯定会很酷)可以与不同的管理程序一起工作,我不确定你会如何去做。(哎呀,我什至不确定您是否可以将虚拟设备模块添加到任何主要的管理程序。)
模拟复杂设备(如 RAID 控制器)的工作量非常大。它基本上是在软件中重新实现物理设备的硬件和软件。(不过,在软件中对硬件设备进行无尘室实现以在虚拟环境中对驱动程序进行验证测试,这将是一件很巧妙的事情......嗯。有人必须为某些生产中的设备完成此操作观点...)
这是一个好主意,但我认为没有任何东西可以做你想做的事,如果有的话,那将是基于设备的设备。