Link to home
Start Free TrialLog in
Avatar of MrVault
MrVault

asked on

Recommended setup for 14 drive SQL server

There are a ton of best practices out there for setting up database servers. We have 14 drive bays on a new server we ordered. We're trying to determine the best setup for the drives. All are 15K SAS drives. The server has 2 quad core CPUs with 2 threads per core (16 total threads). The server is far heavier on the write than on the read for the database. Basically customers are writing data to it 24/7 with heavier loads at night. They do pull data all the time but not nearly as much. However our database does lots of lookups to determine if it should write more data (it does dedup) or if it can use data it already has.

We planned on putting the OS (including page file) on a RAID 1 set (2 drives). That leaves 12 left. Here are some options I thought of:

A)
RAID 1 set for OS/pagefile
RAID 1 set for tempdb
RAID 10 set (4 drives) for transaction logs
RAID 10 set (6 drives) for database

B)
RAID 1 set for OS/pagefile
RAID 1 set for 1st tempd file
RAID 1 set for 2nd tempdb file
RAID 1 set for transaction logs
RAID 10 set for database (6 disks)

C)
RAID 1 set for OS/pagefile
RAID 1 set for 1st tempd file
RAID 1 set for 2nd tempdb file
RAID 1 set for 3rd tempdb file
RAID 1 set for 4th tempdb file
RAID 10 set for database and transaction logs (4 disks)
SOLUTION
Avatar of kevinhsieh
kevinhsieh
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of MrVault
MrVault

ASKER

can you expand regarding SSD? are they really the same cost? an overview or link would be great regarding SQL.

also do you know if a modern RAID controller card's performance is affected by RAID stripes that span multiple channels?

So if Channel 1 has 2 drives (RAID 1 set) and then another 2 drives (half of a raid 10 set) and then the next channel on the card has 2 drives (2nd half of RAID 10 set), is that a significant degredation compared to the first channel only having 2 drives and putting all 4 drives in the RAID 10 set on the second channel?


SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of MrVault

ASKER

Our drives are 15K 300 GB drives. We have 14 of them in a chassis with 2x 10K 146GB drives for the OS/Pagefile RAID 1 set. Our database volume in a RAID 10 6 drive set gets roughly 850 GB usable. Our database easily grows to 500GB per setup. Sometimes it's gotten over 2 TB in which case we had to temporarily offload it to external storage, clean it up so it's back down to 400 GB and then put it back on.
Avatar of MrVault

ASKER

We're pretty set on using 6 drives for a RAID 10 array for the databases. The question is how to break up the indexes, tempdb, and transaction logs. There are 6 drives left for this:

RAID 1 - tempdb
RAID 1 - trans log
RAID 1 - indexes

or

RAID 1 tempdb1
RAID 1 tempdb2
RAID 1 trans log + indexes

when SQL best practices say to have 1 tempdb file per core and we have 2 quad core processors, that means 8 tempdb files. Do they expect/hope people would dedicate 2 whole drives per tempdb file, or just have all 8 on a tempdb RAID 1 set? there's no way we can use 16 drives for the tempdb files.

Our indexes are pretty heavily used so we're debating where to put those too.
My though would be to make it 1 large RAID10 array to get as many spindles involved as possible, but I think that you're going to have to experiment. I am sure that the the relative activity between the indices, logs, and tempdb will determine the optimum placement.  If the hard drives aren't fast enough, puting indices on SSD will certainly make a difference.
Avatar of MrVault

ASKER

while the tempdb is over 12 GB in size (it's a 500GB db) 98% is free space and the ave disk queue length on the drive it's on is under .1 (raid 1 set). Thus I'm guessing now I can put the tempdb on the boot volume. I think we're thinking:

(2) RAID1 C - OS/page/tempdb
(2) RAID1 E - trans logs
(4) RAID10  - table in db with 45% of IO
(4) RAID10  - other table in db with 45% of IO
(2) RAID 1 F - rest of DB tables
ASKER CERTIFIED SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of MrVault

ASKER

suggestion was not per best practices and went another direction than requested