Virtual Function Boot In Single-Root and Multi-Root I/O Virtualization Environments
Abstract
A method for virtual function boot in a system including a single-root I/O virtualization (SR-IOV) enabled server includes loading a PF driver of the PF of a storage adapter onto the server utilizing the virtual machine manager of the server; creating a plurality of virtual functions utilizing the PF driver, detecting each of the virtual functions on an interconnection bus, maintaining a boot list associated with the plurality of virtual functions, querying the storage adapter for the boot list utilizing a VMBIOS associated with the plurality of VMs, presenting the detected boot list to a VM boot manager of the VMM, and booting each of the plurality of virtual machines utilizing each of the virtual functions, wherein each VF of the plurality of VFs is assigned to a VM of the plurality of VMs via an interconnect passthrough between the VMM and the plurality of VMs.
Claims
exact text as granted — not AI-modifiedWhat is claimed:
1 . A method for virtual function boot in a system including a single-root I/O virtualization (SR-IOV) enabled server configured to implement a plurality of virtual machines (VMs) and a virtual machine manager (VMM) and a storage adapter including at least one physical function (PF) and configured to implement a plurality of virtual functions, wherein the SR-IOV enabled server and the physical storage adapter are communicatively couplable, comprising:
upon interconnection of the storage adapter with the SR-IOV enabled server and boot of the SR-IOV enabled server and storage adapter, loading a PF driver of the PF of the storage adapter onto the SR-IOV enabled server utilizing the virtual machine manager of the SR-IOV enable server; creating a plurality of virtual functions utilizing the PF driver; detecting each of the plurality of virtual functions on an interconnection bus utilizing the VMM; maintaining a boot list associated with the plurality of virtual functions; querying the storage adapter for the boot list associated with the plurality of virtual functions utilizing a VMBIOS associated with the plurality of VMs, the VMBIOS being configured to detect the boot list associated with the plurality of virtual functions; presenting the detected boot list to a VM boot manager of the VMM utilizing the VMBIOS; and booting each of the plurality of virtual machines utilizing each of the virtual functions, wherein each VF of the plurality of VFs is assigned to a VM of the plurality of VMs via an interconnect passthrough between the VMM and the plurality of VMs, wherein each of a plurality of virtual disks (VDs) is mapped to a VF of the plurality of virtual functions utilizing the VM boot manager.
2 . The method of claim 1 , wherein the interconnection of the storage adapter with the SR-IOV enabled server and boot of the SR-IOV enabled server and storage adapter comprises:
interconnecting the physical storage adapter to the SR-IOV enabled server via the interconnection bus; booting SR-IOV enabled server firmware and physical storage adapter firmware; and during SR-IOV enabled server firmware and physical storage adapter firmware boot, identifying the physical function of the physical storage adapter as a controller of the SR-IOV enabled server utilizing the virtual machine manager.
3 . The method of claim 1 , wherein the maintaining a boot list associated with the plurality of virtual functions comprises:
maintaining a boot list associated with the plurality of virtual functions, wherein storage adapter firmware is configured to maintain and track boot data for each virtual function.
4 . The method of claim 1 , wherein the querying the storage adapter for the boot list associated with the plurality of virtual functions utilizing a VMBIOS associated with the plurality of VMs comprises:
querying the storage adapter firmware for the boot list associated with the plurality of virtual functions utilizing a VMBIOS associated with the plurality of VMs, the VMBIOS being configured to detect the boot list associated with the plurality of virtual functions.
5 . The method of claim 1 , wherein the storage adapter comprises:
a MegaRAID card.
6 . The method of claim 1 , wherein the interconnection bus comprises:
a Peripheral Component Interconnect Express (PCIe) interconnection bus.
7 . The method of claim 1 , wherein the interconnection passthrough comprises:
a PCIe passthrough.
8 . The method of claim 1 , further comprising:
providing a diagnostic message indicative of a status of at least one virtual function drivers.
9 . The method of claim 8 , wherein the providing a diagnostic message indicative of a status of at least one virtual function drivers comprises:
transmitting a status signal from the at least one virtual function driver to the storage adapter, the status signal being indicative of the status of the at least one virtual function driver; storing information associated with the status signal utilizing storage adapter firmware; relaying the status signal from the storage adapter to the PF driver in the VM manager; relaying the status signal from the PF driver to at least one of an error handler of the VM manager or management tool of the VM manager; and transmitting a user signal to a user interface from the management tool, wherein the user signal is configured to trigger a pre-determined message selected based on a characteristic of the status signal.
10 . A system for virtual function boot in a system comprising:
a single-root I/O virtualization (SR-IOV) server configured to implement a plurality of virtual machines (VMs) and a virtual machine manager (VMM); and a storage adapter including at least one physical function (PF), storage adapter configured to implement a plurality of virtual functions, the storage adapter being communicatively couplable to the SR-IOV enabled server via a PCIe slot of the SR-IOV enabled server, wherein, upon interconnection of the storage adapter with the SR-IOV enabled server, the storage adapter and the SR-IOV enabled server are configured to: load a PF driver of the PF of the storage adapter onto the SR-IOV enabled server utilizing the virtual machine manager of the SR-IOV enable server; create a plurality of virtual functions utilizing the PF driver; detect each of the plurality of virtual functions on an interconnection bus utilizing the VMM; maintain a boot list associated with the plurality of virtual functions; query the storage adapter for the boot list associated with the plurality of virtual functions utilizing a VMBIOS associated with the plurality of VMs, the VMBIOS being configured to detect the boot list associated with the plurality of virtual functions; present the detected boot list to a VM boot manager of the VMM utilizing the VMBIOS; and boot each of the plurality of virtual machines utilizing each of the virtual functions, wherein each VF of the plurality of VFs is assigned to a VM of the plurality of VMs via an interconnect passthrough between the VMM and the plurality of VMs, wherein each of a plurality of virtual disks (VDs) is mapped to a VF of the plurality of virtual functions utilizing the VM boot manager.
11 . The method of claim 19 , wherein the storage adapter comprises:
a MegaRAID card.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.