Friday, March 30, 2012

Raid Setup

We have just bought a new box for our SQL Database's.. ..We have three
database's, 1 is by far the most intensive, it's a 3rd party application
database and is around 20gb.. ..it uses the temp db heavily.. ..and the
transaction log gets up to about 750mb - 1gb before it's backed up every
15minutes. The other databases are 20gb and 10gb respectively, the 20gb
database contains 15gb of BLOB's.
The box we have bought has dual xeons and 4gb of RAM, and we have 18 disks
to play with, 6 SCSI's @.15krpm in the box and 12 @.7.2rpm SATA in a Smart
Array.
My initial views for the RAID configuration were as follows:
Array 1, RAID 1 (2xSCSI) OS & Pagefile
Array 2, RAID 1 (2xSCSI) TempDB
Array 3, RAID 1 (2xSCSI) The intensive database's transaction log
Array 4, RAID 10 (10xSATA) All Datafiles
Array 5, RAID 1 (2xSATA) Remaining 2 Transaction Logs
Although I have also looked at:
Array 1, RAID 1 (2xSCSI) OS & Pagefile
Array 2, RAID 1 (2xSCSI) TempDB
Array 3, RAID 1 (2xSCSI) The intensive database's transaction log
Array 4, RAID 10 (6xSATA) All Datafiles
Array 5, RAID 10 (2xSATA) File containing BLOB's
Array 6, RAID 1 (2xSATA) Transaction Log 2
Array 7, RAID 1 (2xSATA) Transaction Log 3
And:
Array 1, RAID 1 (2xSCSI) OS
Array 2, RAID 1 (2xSCSI) PageFile
Array 3, RAID 1 (2xSCSI) TempDB
Array 4, RAID 1 (2xSATA) Clustered Index's of all DB's
Array 5, RAID 1 (2xSATA) Non-Clustered Index's of all DB's
Array 6, RAID 1 (2xSATA) File containing BLOB's
Array 7, RAID 1 (2xSATA) Transaction Log 1
Array 8, RAID 1 (2xSATA) Transaction Log 2
Array 9, RAID 1 (2xSATA) Transaction Log 3
...I'll be doing some further reading, but just wondered if anyone had any
input on this?
Thanks in advance BenHi Ben
Why did you buy so many disks & such a small amount of memory? Are you using
SQL 2000 or SQL 2005? Which version of Windows? These are actually all quite
important factors as they define your memory constraints & influence whether
you should configure any of your disks for specialist read / write activity.
The less memory you have, the more you push IO down to your disk
sub-system..
Regards,
Greg Linwood
SQL Server MVP
"BenUK" <BenUK@.discussions.microsoft.com> wrote in message
news:5109C752-1078-4576-B5EF-F7929AB104DE@.microsoft.com...
> We have just bought a new box for our SQL Database's.. ..We have three
> database's, 1 is by far the most intensive, it's a 3rd party application
> database and is around 20gb.. ..it uses the temp db heavily.. ..and the
> transaction log gets up to about 750mb - 1gb before it's backed up every
> 15minutes. The other databases are 20gb and 10gb respectively, the 20gb
> database contains 15gb of BLOB's.
> The box we have bought has dual xeons and 4gb of RAM, and we have 18 disks
> to play with, 6 SCSI's @.15krpm in the box and 12 @.7.2rpm SATA in a Smart
> Array.
> My initial views for the RAID configuration were as follows:
> Array 1, RAID 1 (2xSCSI) OS & Pagefile
> Array 2, RAID 1 (2xSCSI) TempDB
> Array 3, RAID 1 (2xSCSI) The intensive database's transaction log
> Array 4, RAID 10 (10xSATA) All Datafiles
> Array 5, RAID 1 (2xSATA) Remaining 2 Transaction Logs
> Although I have also looked at:
> Array 1, RAID 1 (2xSCSI) OS & Pagefile
> Array 2, RAID 1 (2xSCSI) TempDB
> Array 3, RAID 1 (2xSCSI) The intensive database's transaction log
> Array 4, RAID 10 (6xSATA) All Datafiles
> Array 5, RAID 10 (2xSATA) File containing BLOB's
> Array 6, RAID 1 (2xSATA) Transaction Log 2
> Array 7, RAID 1 (2xSATA) Transaction Log 3
> And:
> Array 1, RAID 1 (2xSCSI) OS
> Array 2, RAID 1 (2xSCSI) PageFile
> Array 3, RAID 1 (2xSCSI) TempDB
> Array 4, RAID 1 (2xSATA) Clustered Index's of all DB's
> Array 5, RAID 1 (2xSATA) Non-Clustered Index's of all DB's
> Array 6, RAID 1 (2xSATA) File containing BLOB's
> Array 7, RAID 1 (2xSATA) Transaction Log 1
> Array 8, RAID 1 (2xSATA) Transaction Log 2
> Array 9, RAID 1 (2xSATA) Transaction Log 3
> ...I'll be doing some further reading, but just wondered if anyone had any
> input on this?
> Thanks in advance Ben|||We're using Windows 2003 Standard Edition, and SQL Standard Edition... ...so
more memory wasn't really an option.. ..the cost of disks are cheap in
comparison to the upgrade to Enterprise Edition of SQL - we have to purchase
the processor licenses. We haven't actually purchased the disks yet, if
there's only a small benefit between say 12 and 18 disks we'll only buy the
12...
"Greg Linwood" wrote:

> Hi Ben
> Why did you buy so many disks & such a small amount of memory? Are you usi
ng
> SQL 2000 or SQL 2005? Which version of Windows? These are actually all qui
te
> important factors as they define your memory constraints & influence wheth
er
> you should configure any of your disks for specialist read / write activit
y.
> The less memory you have, the more you push IO down to your disk
> sub-system..
> Regards,
> Greg Linwood
> SQL Server MVP
> "BenUK" <BenUK@.discussions.microsoft.com> wrote in message
> news:5109C752-1078-4576-B5EF-F7929AB104DE@.microsoft.com...
>
>|||Hi Ben
This depends entirely on whether you're using SQL 2000 or SQL 2005 & 32 bit
vs 64 bit. For example, if you're using 64 bit Windows 2003 Server Standard
Edition and 64 bit SQL 2005 Standard Edition, you can access up to 32Gb
Memory.
That's why I asked whether you're using SQL 2000 or SQL 2005.
Regards,
Greg Linwood
SQL Server MVP
"BenUK" <BenUK@.discussions.microsoft.com> wrote in message
news:12B8799F-C62C-4D25-BD05-2122305040A9@.microsoft.com...[vbcol=seagreen]
> We're using Windows 2003 Standard Edition, and SQL Standard Edition...
> ...so
> more memory wasn't really an option.. ..the cost of disks are cheap in
> comparison to the upgrade to Enterprise Edition of SQL - we have to
> purchase
> the processor licenses. We haven't actually purchased the disks yet, if
> there's only a small benefit between say 12 and 18 disks we'll only buy
> the
> 12...
> "Greg Linwood" wrote:
>|||Memory isn't an option, it's 32bit SQL 2000 on 32bit windows... ...hence I'm
trying to compensate with disks and find the best raid config I can...
"Greg Linwood" wrote:

> Hi Ben
> This depends entirely on whether you're using SQL 2000 or SQL 2005 & 32 bi
t
> vs 64 bit. For example, if you're using 64 bit Windows 2003 Server Standar
d
> Edition and 64 bit SQL 2005 Standard Edition, you can access up to 32Gb
> Memory.
> That's why I asked whether you're using SQL 2000 or SQL 2005.
> Regards,
> Greg Linwood
> SQL Server MVP
> "BenUK" <BenUK@.discussions.microsoft.com> wrote in message
> news:12B8799F-C62C-4D25-BD05-2122305040A9@.microsoft.com...
>
>|||OK, I just wanted to check up on these points first, because they're often
missed with new SQL server implementations.
Back to your original qns then:
Firstly, drop the idea of a seperate Array for your page file b/c well
configured, dedicated database servers should perform very little IO against
page files. Page files are for machines where many processes need to share
virtual memory & dedicated servers generally do very little of this -
certainly not enought to warrant dedicating an array to. Far better to
dedicate this array to a tlog or some other useful purpose
Seperating objects down to the granularity you've outlined in the last
option. The problem with this approach is that you're making assumptions
about how your IO should be partitioned where it's often far easier to leave
these objects on a single array & let SQL Server spread the load accross
them. Another way of looking at this scenario is that if any one object type
experiences heavy IO, it has fewer disks to achieve its workload with.
Short of more specific information about the actual workload performed by
the various DB objects, I'd say that your initial configuration is a very
good starting point.
Regards,
Greg Linwood
SQL Server MVP
"BenUK" <BenUK@.discussions.microsoft.com> wrote in message
news:94A8EB85-786A-415D-BA47-8E75777744A1@.microsoft.com...[vbcol=seagreen]
> Memory isn't an option, it's 32bit SQL 2000 on 32bit windows... ...hence
> I'm
> trying to compensate with disks and find the best raid config I can...
> "Greg Linwood" wrote:
>|||Smashing thanks Greg, in the original configuration I have 2 transaction log
s
sharing an array... ...these logs don't grow above 250mb over 15minutes...
...but I'm wondering whether it's worth splitting them out onto seperate
arrays? - I'd have to drop the RAID 10 array from 10 to 8 disks to make
room... ...but I've read it's best to seperate Transaction Logs onto
seperate arrays so they can be sequential... ...I'm unsure if the benefit of
having them on seperate disks would be less than having the 10 disks in the
RAID 10 array... ...I guess it's one of those things I'll find out with some
testing :-) Anyway thanks again for the responses..
"Greg Linwood" wrote:

> OK, I just wanted to check up on these points first, because they're often
> missed with new SQL server implementations.
> Back to your original qns then:
> Firstly, drop the idea of a seperate Array for your page file b/c well
> configured, dedicated database servers should perform very little IO again
st
> page files. Page files are for machines where many processes need to share
> virtual memory & dedicated servers generally do very little of this -
> certainly not enought to warrant dedicating an array to. Far better to
> dedicate this array to a tlog or some other useful purpose
> Seperating objects down to the granularity you've outlined in the last
> option. The problem with this approach is that you're making assumptions
> about how your IO should be partitioned where it's often far easier to lea
ve
> these objects on a single array & let SQL Server spread the load accross
> them. Another way of looking at this scenario is that if any one object ty
pe
> experiences heavy IO, it has fewer disks to achieve its workload with.
> Short of more specific information about the actual workload performed by
> the various DB objects, I'd say that your initial configuration is a very
> good starting point.
> Regards,
> Greg Linwood
> SQL Server MVP
>
> "BenUK" <BenUK@.discussions.microsoft.com> wrote in message
> news:94A8EB85-786A-415D-BA47-8E75777744A1@.microsoft.com...
>
>|||Hi Ben
I suggest you don't seperate those logs out then, as 250Mb in 15 mins is
quite moderate & you could probably find better uses for those disks.
Speaking of which - one thing I missed when I first looked at your
suggestions is that you don't have a local drive for backups. Are you
planning to do these off onto a network or tape? If not, I suggest you don't
forget a backup volume in your plan & those extra disks might come in handy
for this purpose...
Regards,
Greg Linwood
SQL Server MVP
"BenUK" <BenUK@.discussions.microsoft.com> wrote in message
news:ADDF9C2C-FC93-447F-9F44-E554316C36F6@.microsoft.com...[vbcol=seagreen]
> Smashing thanks Greg, in the original configuration I have 2 transaction
> logs
> sharing an array... ...these logs don't grow above 250mb over 15minutes...
> ...but I'm wondering whether it's worth splitting them out onto seperate
> arrays? - I'd have to drop the RAID 10 array from 10 to 8 disks to make
> room... ...but I've read it's best to seperate Transaction Logs onto
> seperate arrays so they can be sequential... ...I'm unsure if the benefit
> of
> having them on seperate disks would be less than having the 10 disks in
> the
> RAID 10 array... ...I guess it's one of those things I'll find out with
> some
> testing :-) Anyway thanks again for the responses..
> "Greg Linwood" wrote:
>|||We currently backup over the network and then onto tape.. ..but it's worth
thinking about, thanks again for the help :-)
"Greg Linwood" wrote:

> Hi Ben
> I suggest you don't seperate those logs out then, as 250Mb in 15 mins is
> quite moderate & you could probably find better uses for those disks.
> Speaking of which - one thing I missed when I first looked at your
> suggestions is that you don't have a local drive for backups. Are you
> planning to do these off onto a network or tape? If not, I suggest you don
't
> forget a backup volume in your plan & those extra disks might come in hand
y
> for this purpose...
> Regards,
> Greg Linwood
> SQL Server MVP
> "BenUK" <BenUK@.discussions.microsoft.com> wrote in message
> news:ADDF9C2C-FC93-447F-9F44-E554316C36F6@.microsoft.com...
>
>sql

No comments:

Post a Comment