摘要 |
A data processing system includes a storage system and caching storage controllers coupled to the storage system and to a storage network. The storage controllers operate in an active-active fashion to provide access to volumes of the storage system from any of the storage controllers in response to storage commands from the storage network. The storage controllers employ a distributed cache protocol in which (a) each volume is divided into successive chunks of contiguous blocks, and (b) either chunk ownership may be dynamically transferred among the storage controllers in response to the storage commands, or storage commands sent to a non-owning controller may be forwarded to the owning controller. A multipathing initiator such as a server computer directs the storage commands to the storage controllers by (1) for each volume, maintaining a persistent association of the chunks of the volume with respective storage controllers, and (2) for each storage request directed to a target chunk, identifying the storage controller associated with the target chunk and sending a corresponding storage command to the identified storage controller. Chunk ownership tends to stabilize at individual storage controllers, reducing unnecessary transfer of cache data and metadata among the storage controllers. |