As I have already described SRDF in my previous blog, there are various modes of SRDF operations and here in this blog, I will be discussing about SRDF synchronous or SRDF/S mode. But before we understand this, it would be wise to understand the term "Enginuity Emulations" as I will be using this term quite often in this blog and in my posts on SRDF.
The Symmetrix Operating System which is famously called as Enginuity Operating system, provides executables that manages I/O execution, data protection, data availability and integrity. These executables are called Enginuity emulations. Every processor in each and every director of the symmetrix array will have specific emulation codes to handle various operations. And this makes an independent director to act as a cached disk array in itself.
Let me give you a brief on the these important Enginuity Emulation which will help in SRDF I/O flow.
Below diagram will give you a picture of the various emulations, we have discussed above.
After data reaches in the cache of secondary array B, drive emulation will create a request to de-stage the data from cache to the R2 local mirrors. SRDF remote mirroring provides additional protection from the failure or disasters in case of multiple drive failures at the primary site. If all R1 local mirrors fails during host write operation, the wrote I/O proceeds to the secondary array via means of SRDF links. Now as R1 local mirrors are not receiving the data due to failure and entire data is being stored at the R2 local mirrors, this data at R2 local mirrors will be marked as invalid tracks indicating that the data at R1 side is not current and should not be used by the host.
If no new host write I/O to the R1 device have arrived since the last failure, R2 device will automatically synchronize it from itself as soon as the R1 device comes on-line as R2 device contains the invalid tracks.
Read Operations:
In normal read I/O operations, SRDF emulation is not required. As soon as the read I/O request is there, host emulation will check the data in the cache and returns it back to host if it exists there else it requests the drive emulation to provide the data from local disks to the cache and then returns it back to the host.
In a scenario where R1 local mirrors have failed and are not able to provide the data to any read request from host at the primary side, SRDF emulation will help in serving the read request from the R2 side. SRDF emulation will try to get the data from the R2 devices over the SRDF links and provide it to the host. Host might see a slight performance issue but still it will be able to access the data.
Now the question is that how will we maintain the data integrity and data consistency in SRDF operations and what happens if SRDF link fails etc. I will be discussing about these in my next blog.
The Symmetrix Operating System which is famously called as Enginuity Operating system, provides executables that manages I/O execution, data protection, data availability and integrity. These executables are called Enginuity emulations. Every processor in each and every director of the symmetrix array will have specific emulation codes to handle various operations. And this makes an independent director to act as a cached disk array in itself.
Let me give you a brief on the these important Enginuity Emulation which will help in SRDF I/O flow.
- Host Emulation: Manages I/O between host and the symmetrix array, moving data between the host interface card and the cache in the primary array.
- Drive Emulation: Manages the data movement between the cache in the array and the disk drives in a single array.
- SRDF Emulation: Manages the data movement across the SRDF links between the cache in the primary array to the cache in the secondary or remote array.
Below diagram will give you a picture of the various emulations, we have discussed above.
Now as you know the emulation, let's discuss the SRDF Synchronous mode. In SRDF/S operation, R1 devices are mirrored to the R2 devices in real time. Real time mirroring means that host updates are propagated to R2 devices in a regular continuous I/O flow. This mode will be defined at the device level and both the primary and the remote devices should be operating in this mode for it to work.
Write Operation in SRDF/S mode:
Whenever the host issues a write operation to the primary array, this operation will only be completed once the the write update has been propagated to the cache of secondary array and an acknowledgement of the same was received by the host. Entire operation takes place in below steps :
- Host issues a write I/O to the primary array A.
- Host emulation will make sure that data is written to the cache of Symmetrix A and also creates a write request:
- For the drive emulation to de stage the data from the cache to the R1 local mirrors.
- For the SRDF emulation to send the I/O over the SRDF link to cache in Symmetrix B.
- Now this write request created by host emulations in step 2, will be received by the SRDF emulations and it in turn access the updated data from the cache and frame it according to the SRDF protocol and send it across the SRDF links to symmetrix B.
- SRDF emulation in symmetrix B receives the data from the SRDF links, write it to the cache and sends an acknowledgement back to SRDF emulations of symmetrix A. It also creates a write request for the drive emulation in symmetrix B to de stage the data from the cache to the R2 local mirror drives.
- SRDF emulation forward the acknowledgement back to the host emulation, which completes a the successful I/O flow by sending a a successful command completion status to the host.
After data reaches in the cache of secondary array B, drive emulation will create a request to de-stage the data from cache to the R2 local mirrors. SRDF remote mirroring provides additional protection from the failure or disasters in case of multiple drive failures at the primary site. If all R1 local mirrors fails during host write operation, the wrote I/O proceeds to the secondary array via means of SRDF links. Now as R1 local mirrors are not receiving the data due to failure and entire data is being stored at the R2 local mirrors, this data at R2 local mirrors will be marked as invalid tracks indicating that the data at R1 side is not current and should not be used by the host.
If no new host write I/O to the R1 device have arrived since the last failure, R2 device will automatically synchronize it from itself as soon as the R1 device comes on-line as R2 device contains the invalid tracks.
Read Operations:
In normal read I/O operations, SRDF emulation is not required. As soon as the read I/O request is there, host emulation will check the data in the cache and returns it back to host if it exists there else it requests the drive emulation to provide the data from local disks to the cache and then returns it back to the host.
In a scenario where R1 local mirrors have failed and are not able to provide the data to any read request from host at the primary side, SRDF emulation will help in serving the read request from the R2 side. SRDF emulation will try to get the data from the R2 devices over the SRDF links and provide it to the host. Host might see a slight performance issue but still it will be able to access the data.
Now the question is that how will we maintain the data integrity and data consistency in SRDF operations and what happens if SRDF link fails etc. I will be discussing about these in my next blog.
No comments:
Post a Comment