I/O group

A pair of nodes is known as an input/output (I/O) group. Depending on the model of your system, either one I/O group or two I/O groups can be configured. When a write operation is performed to a volume, the node that processes the I/O duplicates the data onto the partner node that is in the I/O group. After the data is protected on the partner node, the write operation to the host application is completed. The data is physically written to the disk later.

Volumes are logical disks that are presented to the system by nodes. Volumes are also associated with the I/O group.

When an application server processes I/O to a volume, it can access the volume with either of the nodes in the I/O group. When you create a volume, you can specify a preferred node. Many of the multipathing driver implementations that the system supports use this information to direct I/O to the preferred node. The other node in the I/O group is used only if the preferred node is not accessible.

If you do not specify a preferred node for a volume, the system selects the node in the I/O group that has the fewest volumes to be the preferred node. After the preferred node is chosen, it can be changed only when the volume is moved to a different I/O group.
Note: The management GUI provides a wizard that moves volumes between I/O groups without disrupting host I/O operations.
To view the current preferred node for a volume, select Volumes > All Volumes in the management GUI. Right-click the volume and select Properties. To view the current preferred node assignment by using the command line interface, run the lsvdisk command.

To access information about I/O groups in the management GUI, select Monitoring > System. In the System - Overview, you can view the configured I/O groups on the system. The System - Overview page displays all the hardware that is assigned to the I/O groups that are configured on the system. Use the directional arrow to expand details on the I/O groups or its related hardware. To display information about the I/O groups in the command-line interface, use the lsiogrp command.

Read I/O is processed by referencing the cache in the node that receives the I/O. If the data is not found, it is read from the disk into the cache. The read cache can provide better performance if the same node is chosen to service I/O for a particular volume.

I/O traffic for a particular volume is, at any one time, managed exclusively by the nodes in a single I/O group. Although a system can have multiple nodes within it, the nodes manage I/O in independent pairs.More throughput can be obtained by adding a second I/O group.

Example of a write operation in an I/O group shows a write operation from a host (1) that is targeted for volume A. This write is targeted at the preferred node, Node 1 (2). The write operation is cached and a copy of the data is made in the partner node, the cache for Node 2 (3). The host views the write as complete. Later, the data is written, or de-staged, to storage (4).
Figure 1. Example of a write operation in an I/O group
The figure shows an example of a write operation in an I/O group.

When a node fails within an I/O group, the other node in the I/O group assumes the I/O responsibilities of the failed node. Data loss during a node failure is prevented by mirroring the I/O read and write data cache between the two nodes in an I/O group.

If only one node is assigned to an I/O group or if a node fails in an I/O group, the cache is flushed to the disk and then goes into write-through mode. Therefore, any writes for the volumes that are assigned to this I/O group are not cached; they are sent directly to the storage device. If both nodes in an I/O group go offline, the volumes that are assigned to the I/O group cannot be accessed.

When a volume is created, the I/O group to provide access to the volume must be specified. However, volumes can be created and added to I/O groups that contain offline nodes. I/O access is not possible until at least one of the nodes in the I/O group is online.

Note: You cannot create arrays that span I/O groups.