This is actually an extent to my other topic 'Need 100% seriously help with disklayout and LUNS' just to keep things separated
However, I've been wondering a bit upon all the topics for best practice to separate indexes and datafiles and also the placement for a mirrored diskset, as JHunter mention the best way is to place a mirror at each shelf in a SAN. For instance, if our scenario consists of a SAN with 4 shelfs each with 15 disks then the layout should be done like this. I've chosen to create a LUN with 12 disks...
The above ascii shows one LUN where the mirror is placed at shelf 1
Now we have one LUN, now I will create another so we then have two LUNS
What you see now is a normal 'best practice' for a SQLServer setup at a SAN - right?. Normally we would place an index at shelf 2 and 3 and datafiles at 0 and 1. In our database properties we would then create a primary filegroup pointing at LUN 1 and a filegroup index pointing at LUN 2.... and everybody is happy
However I think this approach is old and dusty, why are we still trying to take control over the LUNS and their disks?
Why not let the HW do what it's best at!
Why not create vertically LUNS? Like this..
Is'nt this much more fault tolerant and also using the bandwidth much more distributed?
The database then needs 2 primary, one pointing to LUN1 and another to LUN2, the same goes for the indexfiles.
And what if we then take my other approach into considerations, you know regarding using the same LUNS for both datafiles and indexfiles.... If we use my approach all readings would be evenly distributed between LUN1-2-3-4 and because of the high fault tolerance we can loose a shelf and still retrieve our data at 75% speed.
I would love to hear comments
as I think this is very interesting.