我可以在虚拟机中模拟存储设备来测试操作系统映像驱动程序兼容性吗?

我可以在虚拟机中模拟存储设备来测试操作系统映像驱动程序兼容性吗?

问候,

我正在尝试自动测试用于数据中心环境中自动部署的操作系统映像库中的驱动程序支持。

在大多数情况下,我看到人们在一些操作系统和一些服务器硬件模型上进行标准化,这使得测试和验证所有操作系统映像是否包含所有硬件支持的驱动程序变得相当容易。

不幸的是,我做不到。我有几十个操作系统(Linux/Windows/Solaris、x86/x64/SPARC,3 年前的版本),这些操作系统确实应该针对戴尔、惠普、IBM 和 Sun 的代表性服务器硬件进行 3 年前的测试。这需要大量工作和大量物理系统。

我更愿意做的是获取各种存储控制器(可能还有 NIC)的 PCI 设备信息,并使用某种工具在 VM 中模拟这些设备。然后,我可以将操作系统映像应用/安装到 VM 中,并查看将检测到的 PCI 设备与可用驱动程序匹配的内核代码是否遇到问题。必须对实际的设备功能进行一些模拟,因为操作系统会在驱动程序加载后开始尝试使用该设备,但似乎从事驱动程序或硬件开发的人可能对这种工具有类似的需求。

有人知道是否存在这样的事情吗?或者是否有完全不同的解决方法可以解决我的问题?

谢谢!

答案1

为了模拟您所谈论的各种 PCI 设备,您必须让某人编写这些 PCI 设备的虚拟版本。

由于没有编写虚拟硬件设备的“标准”(尽管我认为,如果有的话肯定会很酷),无法与不同的虚拟机管理程序配合使用,我不确定你会怎么做。(哎呀,我甚至不确定你是否将虚拟设备模块添加到任何主要的虚拟机管理程序。

模拟复杂设备(如 RAID 控制器)的工作量相当大。这基本上是在软件中重新实现物理设备的硬件和软件。(不过,在软件中实现硬件设备的洁净室,以便在虚拟环境中对驱动程序进行验证测试,这将是一件很棒的事情……嗯。有人在某个时间点对生产中的某些设备进行此操作......)

这是一个巧妙的想法,但我认为没有任何东西可以做你想做的事,如果有的话,那也将是基于设备而存在的。

相关内容