ASM Mirroring

I’ve been trying to embed a presentation into the blog using slideshare all to no avail unfortunately – wordpress.com seems to just create a link rather than actually give me a nicely embedded window containing the presentation. So I’m going to have to try just using images instead. Here is another attempt at describing how ASM does mirroring.

I think the way ASM does mirroring is quite interesting when you delve into the details and ASM mirroring is quite unlike traditional hardware RAID mirroring. ASM does not mirror actual disks but does it’s mirroring at the extent level.

slide1

ASM has the concept of failure groups and each device within the diskgroup belongs to one and only one failure group. Ideally, each failure group would share no components ensuring if a component fails it only affects one failure group and has no impact on the other failure group.

You can see in the above we have 2 failure groups each with 2 devices, giving a total of 4 devices within the diskgroup. I have chosen to describe how normal redundancy works.

slide3

In the diagram above I have now allocated 1 extent of space to my datafile that is stored within a diskgroup created with normal redundancy. ASM has the concept of primary and secondary extents. In the diagram the primary extents will be red and the secondary are purple. So the first extent has gone to the first disk in failure group 1 and there is a corresponding secondary extent in failure group 2.

So far this is quite familiar and is what traditional mirroring would like. Now lets allocate a few more extents:

slide6

So now we see we have primary extents on both failure groups. You can also see that the devices are no longer mirror copies of each other. It is the extents that have been mirrored. The reason ASM ensures that there is an even distribution of primary extents on all devices is that ASM only ever (by defaul) reads the primary extents, so to enable the maximum I/O bandwidth and to utilise all devices in a diskgroup for reads ASM needs to have the primary extents spread over all devices.

In the event of a device failure, the secondary extent will be able to be read from the other failure group.

The other point to note is that each device has the same number of extents allocated to it as that is one of the goals of ASM extent allocation – to keep all devices filled up to the same capacity.

Advertisements

3 thoughts on “ASM Mirroring

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s