I/O domain resiliency improves the availability and performance of an I/O domain by enabling it to continue to run even when one of its associated root domains is interrupted. When a root domain is interrupted, the I/O domains that use its services continue to run by enabling its affected devices to fail over to the alternate I/O path. When the root domain returns to service, the affected devices in the resilient I/O domain are also returned to service and the failover capabilities are restored.
The following diagrams show and describe what happens when one of the configured root domains fails and what happens when the root domain returns to service.
The first diagram shows a resilient I/O domain configuration that has two virtual functions, A and B. Root domain A and root domain B provide a virtual function to the I/O domain. The I/O domain uses virtual device multipathing such as IPMP for network devices and Oracle Solaris I/O multipathing for Fibre Channel devices.
The second diagram shows what occurs when the resilient I/O domain configuration loses its connection to root domain B. Such an interruption might occur when root domain B is interrupted by a panic or reboot. While root domain B is unavailable, virtual function B is suspended in the I/O domain and then multipathing engages to route all I/O through root domain A by using virtual function A.
The final diagram shows the resilient I/O domain configuration after root domain B returns to service. When root domain B is restored to service, virtual function B resumes operation in the I/O domain. The multipath group is restored to full redundancy.
In this configuration, the virtual function could be a virtual network device or a virtual storage device, which means that the I/O domain can be configured with any combination of virtual functions or virtual devices.
You can create a configuration where you have both resilient and non-resilient I/O domains. For an example, see Example – Using Resilient and Non-Resilient Configurations.