In the previous article on LDoms IO Virtualization I discussed how IO access is provided to a Logical Domain by proxying the capabilities of a physical device using virtual services and devices. One disadvantage of this approach is the inability to provide access to the physical IO devices when the service domain reboots or shuts down. On UltraSPARC-T1 processor ("Niagara") based systems like the T1000/T2000 this can be addressed using a simple failover solution where access to IO devices is exported from both a primary and an alternate backup service domain. The I/O bridge on these systems consists of two leafs that can be partitioned, owned and reset independently by two different service domains. The virtual disk and network devices in a LDom are then configured to use both service domains and failover from the primary to the alternate service domain in the event of a failure. Standard Solaris features like IP Multipathing (IPMP) and Solaris Volume Manager (SVM) mirroring are used for failure detection and triggering a failover to the alternate services. See figure below.
This configuration was implemented on a T2000 with files exported as vDisks, and two vNet devices connected to vSwitch services on the two service domains. A simple chess program and disk benchmark was run on the LDom (ldg1) to generate load. Subsequently, the primary service domain was rebooted triggering a failover to the alternate service domain. Note the very slight pause in the domain's operation at the time of failover. Also note that, the pings to primary service domain stall and then resume during reboot. In a subsequent blog I will post step-by-step instructions for setting up the configuration described here.
FOR A DEMO CLICK HERE.
NOTE: The ability to soft reset a PCI-E leaf or failover to an alternate service domain is not part of LDoms 1.0 and will require running LDoms release 1.0.1 or higher.