Tuesday, February 22, 2011

SAN Disk Setup and SQL

Today, I had an opportunity to voice my opinion on a subject that I had virtually no experience in, SAN setup in regards to SQL Server. This has always been something that has been abstracted from me by the SAN admin. In the old times, we would get a new server, ask for some disks (we determine the RAID level, if needed), and presto, they would appear a bit later. But this is the new times and with the new times comes a new SAN admin.

Since I had no experience in storage other than basic knowledge of RAID setup, I decided I should first acquaint myself with some of the terms like:

·         Partition_Offset: Starting place on the disk where user data will be written to. (Windows Server 2008 defaults to 1 MB)
·         Stripe_Unit_Size: This is the block size that striped across your RAID arrays. Typical values are 8KB, 16KB, 32KB, 64KB.
·         File_Allocation_Unit_Size: Bytes Per Cluster

Trying to go from Zero to Good Enough To Get By was a little tougher that I thought it was going to be. But thanks to the information provided on the internet by Paul Randal, Microsoft, and Dell, I was able to craft a workable solution.

In the end, we created the following disks for SQL:
·         Data: RAID 5
o   Partition_Offset: 1024 KB (Windows Server 2008 Default)
o   Stript_Unit_Size: 64 KB (SAN Default for RAID 5)
o   File_Allocation_Unit_Size: 64 KB (Recommended size for SQL)
·         Logs: RAID 1
o   File_Allocation_Unit_Size: 64 KB (Recommended size for SQL)
·         TempDB: RAID 1
o   File_Allocation_Unit_Size: 64 KB (Recommended size for SQL)

Any comments or suggestions are welcome. Perhaps someone who has more experience with these types of SAN configurations can shed some light on some areas I might have overlooked.

No comments:

Post a Comment