Abstract:
Methods, storage arrays and computer readable media for triggering a failover between an active controller and a standby controller of a storage array are provided. One method includes determining by the active controller a number of connected fabrics available between ports of the active controller and a host and determining by the standby controller a number of connected fabrics available between the ports of the standby controller and the host. The method further includes executing a policy configuration to determine if the number of connected fabrics for each of the active controller and the standby controller meet a threshold for triggering the failover. The failover being a forced failover where the active controller takes a role of the standby controller and the standby controller takes a role of the active controller.
Abstract:
Storage arrays, systems and methods for processing commands to enable SCSI-level forwarding between an active controller and a standby controller are provided. In one example, the standby controller has ports that operate in an asymmetric logical unit access (ALUA) standby (SB) mode. One such method includes receiving a command by a port of the standby controller, wherein the port operates in the ALUA SB mode. The method includes identifying that the command is of a type that is predefined for forwarding, and forwarding the command from a SCSI layer of the standby controller to a SCSI layer of the active controller. The method further includes processing the command in a user space of the active controller to generate return data and forwarding the return data from the active controller to the standby controller. The method additionally includes sending the return data to the initiator, over the port of the standby controller.
Abstract:
Methods and systems for processing failover operations in a storage array configured for Fibre Channel communication are provided. One example method includes executing a primary process in user space of a controller of the storage array. The primary process is configured to process request commands from one or more initiators and has access to a volume manager for serving data input/output (I/O) requests. The primary process has a connection to a port of storage array when in operation. The method further executes a secondary process in the user space of the controller to process request commands from one or more of the initiators. The secondary process is not provided access to the volume manger and is provided access to data for responding to non-I/O requests. The secondary process is not provided a connection to the port when the primary process is in operation. The second process is configured to detect that the primary process has entered a state of non-operation, and in response performing a port grab of the port by the secondary process. The method further includes causing a replay of in-progress commands that were being executed by the primary process before entering the state of non-operation and deleting the in-progress commands. The method continues to execute the secondary process while the primary process is in the non-operation state.
Abstract:
Methods, storage arrays and computer readable media for path discovery to ports of a Fibre Channel storage system that includes a multi-array pool and is part of a group of arrays are provided. One example method includes executing a pull operation via a group leader array of the group of arrays. The pull operation is configured to gather port status of each one of the arrays in the group of arrays. The method further executes a push operation via the group leader array of the group of arrays. The push operation is configured to populate a local cache of each array in the group of arrays with the port status of each one of the arrays in the group of arrays. The method executes the pull operation and the push operation on a periodic schedule, such that changes that occur at particular ones of the arrays of the group of arrays are pushed to each one of the arrays in the group of arrays. Configurations for enabling volume moves, striping data across arrays and pools, pool creation, pool deletes, pool adds, group merge and other processes are also provided.