Re: Hardware advice

From: "scott(dot)marlowe" <scott(dot)marlowe(at)ihs(dot)com>
To: Adam Witney <awitney(at)sghms(dot)ac(dot)uk>
Cc: pgsql-performance <pgsql-performance(at)postgresql(dot)org>
Subject: Re: Hardware advice
Date: 2003-05-30 17:17:39
Message-ID: Pine.LNX.4.33.0305301046160.31612-100000@css120.ihs.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

On Fri, 30 May 2003, Adam Witney wrote:

> Hi scott,
>
> Thanks for the info
>
> > You might wanna do something like go to all 146 gig drives, put a mirror
> > set on the first 20 or so gigs for the OS, and then use the remainder
> > (5x120gig or so ) to make your RAID5. The more drives in a RAID5 the
> > better, generally, up to about 8 or 12 as the optimal for most setups.
>
> I am not quite sure I understand what you mean here... Do you mean take 20Gb
> from each of the 5 drives to setup a 20Gb RAID 1 device? Or just from the
> first 2 drives?

You could do it either way, since the linux kernel supports more than 2
drives in a mirror. But, this costs on writes, so don't do it for things
like /var or the pg_xlog directory.

There are a few ways you could arrange 5 146 gig drives.

One might be to make the first 20 gig on each drive part of a mirror set
where the first two drives are the live mirror, and the next three are hot
spares. Then you could setup your RAID5 to have 4 live drives and 1 hot
spare.

Hot spares are nice to have because they provide for the shortest period
of time during which your machine is running with a degraded RAID array.

note that in linux you can set the kernel parameter
dev.raid.speed_limit_max and dev.raid.speed_limit_min to control the
rebuild bandwidth used so that when a disk dies you can set a compromise
between fast rebuilds, and lowering the demands on the I/O subsystem
during a rebuild. The max limit default is 100k / second, which is quite
slow. On a machine with Ultra320 gear, you could set that to 10 ot 20
megs a second and still not saturate your SCSI buss.

Now that I think of it, you could probably set it up so that you have a
mirror set for the OS, one for pg_xlog, and then use the rest of the
drives as RAID5. Then grab space on the fifth drive to make a hot spare
for both the pg_xlog and the OS drive.

Drive 0
[OS RAID1 20 Gig D0][big data drive RAID5 106 Gig D0]
Drive 1
[OS RAID1 20 Gig D1][big data drive RAID5 106 Gig D1]
Drive 2
[pg_xlog RAID1 20 gig D0][big data drive RAID5 106 Gig D2]
Drive 3
[pg_xlog RAID1 20 gig D1][big data drive RAID5 106 Gig D3]
Drive 4
[OS hot spare 20 gig][g_clog hot spare 20 gig][big data drive RAID5 106
Gig hot spare]

That would give you ~ 300 gigs storage.

Of course, there will likely be slightly less performance than you might
get from dedicated RAID arrays for each RAID1/RAID5 set, but my guess is
that by having 4 (or 5 if you don't want a hot spare) drives in the RAID5
it'll still be faster than a dedicated 3 drive RAID array.

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message scott.marlowe 2003-05-30 17:20:33 Re: Table Relationships
Previous Message Josh Berkus 2003-05-30 17:03:19 Re: Table Relationships