3

I am configuring RAID arrays for a HP Proliant server running Windows Server 2008. We will probably use RAID10 configurations, but split it to several logical drives.

Is it reasonable to create a single dedicated RAID 0 logical drive just for the swap file?

[Edit]

Here is our system info:

  • HP Proliant ML350 G6
  • 1x Intel Xeon E5520 4 core
  • 6GB RAM PC3 UDIMM
  • P410i HW RAID controller + 512MB BBWC
  • 4x 1.5Tb SATA
  • Windows Server 2008 R2 Enterprise

[Edit2]

Ok, at the end I realized I was talking nonsense.

Since I was planning to use RAID10 for these 4 disks anyway (write speed 2x, read speed 4x), I realized it didn't seem too justified to make a small RAID0 partition for the relatively small benefit I get (write 4x, read 4x) compared to the mess I would end up with if one of my disks would die.

My idea was something like this:

  • RAID array: 4x1.5Tb.
    • 1st logical disk: 4x16Gb RAID0 for swap
    • 2nd logical disk: 4x1.3Tb RAID10 for everything else

Once you create an Array out of these 4 physical disks, HP P410i allows creating several RAID setups which can utilize them partially.

Never mind, I will simply use RAID10 and have a reasonably fast, but much safer machine.

[Update a couple of years later]

Found this question from long ago and decided to update, in case someone has a similar dilemma: at the end we simply went with RAID10 and upgraded our RAM to 32GB. With RAM prices these days, you simply shouldn't allow the server to touch the page file. Also, if you want a blazingly fast response, using a couple of enterprise SSDs is also not such a big expense like it used to be.

One additional conclusion we got is that, if you need more storage, than it actually might make sense to use smaller SSDs in your server and use a SAN for actual data storage. At some point, server storage capacity will reach its expansion limits, so it's better to keep this in mind and design your system for scalability.

6 Answers 6

3

No. It is reasonable to avoid swapping.

If your system swaps, the performance increase from Raid 0 will be negligible compared to the performance loss from swapping. Besides, how big do you want to make the swapfile?

Raid 0 increases the chance of failure, so you make your system less reliable by setting this swap scheme up.

If you know you must swap regularly, you might think about SSDs. But then thats a write cycle that is suboptimal for the current lines of SSDs. YMMV.

Please post more information on system setup and useage (ram size? file? db?)

Old hint: make the pagefile fixed size and big. This avoids fragmentation of the swapfile. (not sure if this is still true for 2k8)

1
  • 2
    This. If Windows (or any OS) finds that its swapfile is suddenly unresponsive, it will crash hard, because the swap contents represent memory and OSes don't typically run well when a bunch of memory ends up corrupted, missing or otherwise inaccessible. Nov 4, 2010 at 12:20
2

For me, If you're considering this it makes just as much sense to put the pagefile on one well performing single disk. If anything you'll probably see better performance than having it sharing the same physical disks as the data - and if you're paging enough that you're really actually worried about the performance benefits then you're probably paging too much and need to address that bottleneck by other means.

1

Kind of yes, certainly there's enough single-disk windows boxes out there and as Posipet states you should try to minimise swapping where possible but what strikes me is how you intend to do this given your setup - essentially you're using all four disks for one R10 array, so I don't know HOW you think you can present a logical R0 drive, certainly you could have a third 'swap-only' logical drive but given this will be in a different part of each drive from the regular boot volume you'll only make the system slowers via more head movement and it'll still be R10 anyway. Let me know if I've misunderstood something please.

6
  • 2
    I guess you could make the RAID10 array not span the entire disk, and then create a 4-disk RAID0 with the remaining space Nov 4, 2010 at 9:48
  • Yes, as Farseeker said, I would create a small RAID0 swap partition spanning the first 10Gb of all 4 disks, and then create RAID10 for the rest of the disk. So I am talking about same 4 physical disks.
    – vgru
    Nov 4, 2010 at 13:27
  • I'll be honest I didn't know you could do that, I thought that whole disks had to be part of one array or another which then could be cut up into logical drives - you've taught me something :)
    – Chopper3
    Nov 4, 2010 at 14:01
  • 1
    @Chopper3: Yes, I didn't know this either until few days ago, until you gave me the idea yourself: serverfault.com/questions/195796/… :). The reason for this was that otherwise I wouldn't be able to boot Windows from a >2Tb disk (it can't be GPT). P410i controller can create and handle multiple RAID setups (0,10,5,6) using the same array of disks. ACU calls them "logical" disks, but each of them is shown as a separate SCSI device in device manager, so Windows doesn't have a clue what's going on underneath. Thanks!
    – vgru
    Nov 5, 2010 at 8:23
  • 1
    This is a handy tip. I just realized I could have logical drives with differing raid levels on the same physical array.
    – ewwhite
    Jan 4, 2011 at 19:18
1

If you can allow for total failure from one drive failure, then yeah fine. Bear in mind what is your strategy to recover the array should you lose your array? Yes its only a page file but you will have to recreate your array and add it (disk) back into Windows before you can do this (add your page file back in). The you'll need to reboot again. Downtime will be fairly lengthy

If this is acceptable to your business, then you might want to try force a drive offline to see if you are happy with what you now need to do.

For me, no. I definitely wouldn't do this.

1

Using a physical drive for the swap file will give a performance increase. Using a logical drive will actually hurt performance, albeit only slightly. The reason for this is quite simple:

The reason the use of a physical drive for swap helps is because you reduce the head movements required for both the swap drive and the system/data drive, where the swap would otherwise be.

When using a logical drive for swap you actually increase the amount of head movement, as the head assembly needs to charge back and forth to satisfy the requirements of all logical drives on that physical drive (or array).

As head movement is the slowest part of disk access you should take steps to minimise it. For the same reason it is more efficient to use a single logical drive per physical drive or array, rather than partitioning it off. Of course that doesn't take into account other reasons you may have for partitioning.

0

It seems a bit daft to me given that disk storage is so much cheaper than physical memory, not to take advantage of RAID to make the swap go faster - I'd go with RAID 1

(and you get fault tolerance into the bargain!)

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .