Обсуждение: Clusters

Поиск
Список
Период
Сортировка

Clusters

От
James Kelty
Дата:
Hello,

I have a question regarding clusters. What with all
the hoop-la about Oracle RAC, the question of
clustering PostgreSQL has come up at work.

Now, I know that only one system can actually update
the database, and in a active/passive failover
situation that is ok. But! If I have lots and lots of
READS from the DB, can I cluster many low end systems
together behind an SLB? Assume that all systems have a
qlogic card, and are attached to a SAN, and that the
SAN holds the data. Can PostgreSQL be configured to
read from the SAN? Does each system have to initialize
the DB?

I think this could greatly improve the perfomance from
a application appearance, but, so far I have only seen
documentation about Oracle RAC, DB2, and MySQL using
some sort of cluster software, be it, kimberlite, Red
Hat Cluster Manager, or Vertias Cluster Server.

PostgreSQL seems to be our DB of choice, and I just
want to have a scalable solution via clustering for
it. No replication. Thanks for any thoughts!

-James


=====
James Kelty
11742 NW Valley Vista Rd.
Hillsboro, OR 97124
Cell: 541.621.5832
j_kelty@yahoo.com

__________________________________________________
Do you Yahoo!?
Y! Web Hosting - Let the expert host your web site
http://webhosting.yahoo.com/

Re: Clusters

От
Andrew Sullivan
Дата:
On Mon, Oct 28, 2002 at 12:47:52PM -0800, James Kelty wrote:
> together behind an SLB? Assume that all systems have a
> qlogic card, and are attached to a SAN, and that the
> SAN holds the data. Can PostgreSQL be configured to
> read from the SAN? Does each system have to initialize
> the DB?

You can't do this safely.  PostgreSQL wants to control its disk.
Someone has said on the (?) -general list that he has modified the
PostgreSQL code to do this, but it makes me nervous.

The Postgres-R project is trying to do something similar, but it's
some way from production quality.

> it. No replication. Thanks for any thoughts!

I sort of wonder why "no replication" is a requirement.  If you want
lots of cheap, read-only machines, why not do it with replication?
You can buy a _lot_ of x86 boxes with Promise IDE RAID and big, fast
IDE drives for the price of ORAC.

A

--
----
Andrew Sullivan                         204-4141 Yonge Street
Liberty RMS                           Toronto, Ontario Canada
<andrew@libertyrms.info>                              M2P 2A8
                                         +1 416 646 3304 x110


Re: Clusters

От
Sean Chittenden
Дата:
> > together behind an SLB? Assume that all systems have a qlogic
> > card, and are attached to a SAN, and that the SAN holds the
> > data. Can PostgreSQL be configured to read from the SAN? Does each
> > system have to initialize the DB?
>
> You can't do this safely.  PostgreSQL wants to control its disk.
> Someone has said on the (?) -general list that he has modified the
> PostgreSQL code to do this, but it makes me nervous.

Didn't Tom say that it was possible if you had different WAL logs for
each instance?  ie, just share the data directory, but everything else
has to be on a per instance basis.  Check the archives, someone just
asked about this a week ago or so.  -sc

--
Sean Chittenden

Re: Clusters

От
Andrew Sullivan
Дата:
On Mon, Oct 28, 2002 at 01:18:46PM -0800, Sean Chittenden wrote:
>
> Didn't Tom say that it was possible if you had different WAL logs for
> each instance?  ie, just share the data directory, but everything else
> has to be on a per instance basis.  Check the archives, someone just
> asked about this a week ago or so.  -sc

As Sean says, check the archives.  But I think the problem is bigger
than just the WAL.  For instance, the pidfile is in the data
directory, so each system is going to try to overwrite that.  Plus,
there's no read-only mode for Postgres, so if one of the systems
writes where it shouldn't, you'll blow everything away.  I can
appreciate that some people like to play at the bare metal this way,
but it gives me ulcers ;-)

A

--
----
Andrew Sullivan                         204-4141 Yonge Street
Liberty RMS                           Toronto, Ontario Canada
<andrew@libertyrms.info>                              M2P 2A8
                                         +1 416 646 3304 x110


Re: Clusters

От
James Kelty
Дата:
I've just been very unhappy with the ease of use for
Postgres replication. Pgreplicator was a huge pain
that worked less often than not, rserv was really
unmanageable. I haven't had a chance to look at
dbmirror yet, though. Plus the replication would start
to chew up network bandwidth at some point. Of course,
so would reading from the SAN. But, then there is the
issue of system failure. If the system has to be
re-imaged, then I'd have to take a snap shot of the
master, and re-apply it to the new system. It just
seems more manageable if I can plug in a new Postgres
'instance' to the SAN, and have it up to date the
minute it starts. I know that postgres doesn't have a
'read-only' mode, but it does have the GRANT option.
So, access to the DB _can_ be controlled that way at
least.

Anyway, thanks for all the thoughts and info. If
anyone knows of some other replication service besides
the two listed above, great! Let me know!

Lemme just say, that the feature set of Postgres, when
talking strictly database, is AWESOME. Really easy to
work with, and around, but, in the HA world, it seems
a little difficult to work with.

Thanks again, Guys!

-James

--- Andrew Sullivan <andrew@libertyrms.info> wrote:
> On Mon, Oct 28, 2002 at 12:47:52PM -0800, James
> Kelty wrote:
> > together behind an SLB? Assume that all systems
> have a
> > qlogic card, and are attached to a SAN, and that
> the
> > SAN holds the data. Can PostgreSQL be configured
> to
> > read from the SAN? Does each system have to
> initialize
> > the DB?
>
> You can't do this safely.  PostgreSQL wants to
> control its disk.
> Someone has said on the (?) -general list that he
> has modified the
> PostgreSQL code to do this, but it makes me nervous.
>
> The Postgres-R project is trying to do something
> similar, but it's
> some way from production quality.
>
> > it. No replication. Thanks for any thoughts!
>
> I sort of wonder why "no replication" is a
> requirement.  If you want
> lots of cheap, read-only machines, why not do it
> with replication?
> You can buy a _lot_ of x86 boxes with Promise IDE
> RAID and big, fast
> IDE drives for the price of ORAC.
>
> A
>
> --
> ----
> Andrew Sullivan                         204-4141
> Yonge Street
> Liberty RMS                           Toronto,
> Ontario Canada
> <andrew@libertyrms.info>
>  M2P 2A8
>                                          +1 416 646
> 3304 x110
>
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
> http://archives.postgresql.org


=====
James Kelty
11742 NW Valley Vista Rd.
Hillsboro, OR 97124
Cell: 541.621.5832
j_kelty@yahoo.com

__________________________________________________
Do you Yahoo!?
Y! Web Hosting - Let the expert host your web site
http://webhosting.yahoo.com/

Re: Clusters

От
Andrew Sullivan
Дата:
On Mon, Oct 28, 2002 at 04:00:38PM -0800, James Kelty wrote:

> that worked less often than not, rserv was really
> unmanageable.

We use PostgreSQL, Inc's eRserver, which is a commercial version of
the code in contrib/, and I can say that it is not unmanageable, but
it is some work at first.  The commercial version is an improvement
on the contrib/ code, though.  For us, it's worth it; but you have to
decide that for yourself.

A

--
----
Andrew Sullivan                         204-4141 Yonge Street
Liberty RMS                           Toronto, Ontario Canada
<andrew@libertyrms.info>                              M2P 2A8
                                         +1 416 646 3304 x110


Re: Clusters

От
Tom Lane
Дата:
Sean Chittenden <sean@chittenden.org> writes:
> together behind an SLB? Assume that all systems have a qlogic
> card, and are attached to a SAN, and that the SAN holds the
> data. Can PostgreSQL be configured to read from the SAN? Does each
> system have to initialize the DB?
>>
>> You can't do this safely.  PostgreSQL wants to control its disk.
>> Someone has said on the (?) -general list that he has modified the
>> PostgreSQL code to do this, but it makes me nervous.

> Didn't Tom say that it was possible if you had different WAL logs for
> each instance?

I said no such thing.  I said it will not work, period.

            regards, tom lane