Обсуждение: Warm standby server
I've got 3 different database servers (db01, db02 and db03). I would like to have a WAL standby server that replays logs for all 3 in case one goes down, so I can promote that particular server. Can I do this by installing 3 separate postmasters on this machine? Obviously, if 2 went down at the same time, I'd have to do some magic to bring up another machine, but I'm not sure that's a concern. It'll be a RedHat RHEL-4 box on pg 8.1x
On Thu, 2008-06-26 at 10:19 -0500, Scott Whitney wrote: > I've got 3 different database servers (db01, db02 and db03). > > I would like to have a WAL standby server that replays logs for all 3 in > case one goes down, so I can promote that particular server. > > Can I do this by installing 3 separate postmasters on this machine? > Obviously, if 2 went down at the same time, I'd have to do some magic to > bring up another machine, but I'm not sure that's a concern. Yes, that will work. -- Simon Riggs www.2ndQuadrant.com PostgreSQL Training, Services and Support
I am not so sure of this arrangement's mertis
From HA (High Availability) point of view, the host/server is a single point of failure which will bring your entire infrastructure down if any of the server hardware components fail.
From Performance point of view, you have increased the load on your server by 3 folds as all instances would be using your I/O bandwidth to write to secondary storage
Given $300 to $400 price of headless servers these days, its much economical to split the workload on three boxes
Cheers
Medi
From HA (High Availability) point of view, the host/server is a single point of failure which will bring your entire infrastructure down if any of the server hardware components fail.
From Performance point of view, you have increased the load on your server by 3 folds as all instances would be using your I/O bandwidth to write to secondary storage
Given $300 to $400 price of headless servers these days, its much economical to split the workload on three boxes
Cheers
Medi
On Thu, Jun 26, 2008 at 9:06 AM, Simon Riggs <simon@2ndquadrant.com> wrote:
Yes, that will work.
On Thu, 2008-06-26 at 10:19 -0500, Scott Whitney wrote:
> I've got 3 different database servers (db01, db02 and db03).
>
> I would like to have a WAL standby server that replays logs for all 3 in
> case one goes down, so I can promote that particular server.
>
> Can I do this by installing 3 separate postmasters on this machine?
> Obviously, if 2 went down at the same time, I'd have to do some magic to
> bring up another machine, but I'm not sure that's a concern.
--
Simon Riggs www.2ndQuadrant.com
PostgreSQL Training, Services and Support
--
Sent via pgsql-admin mailing list (pgsql-admin@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-admin
Fully agreed, and it's just a concept at the moment. After I have a
prototype standby working next week in the first place, we'll be discussing
those very merits.
A 2nd question: Is it possible to have 2 standby servers with a single
master duplicating to standby1 (at my coloc), and standby2 (at my office)?
Assume no auto-failover.
-----Original Message-----
From: Montaseri [mailto:montaseri@gmail.com]
Sent: Jun 26, 2008 12:51 PM
To: Simon Riggs
Cc: Scott Whitney; pgsql-admin@postgresql.org
Subject: Re: [ADMIN] Warm standby server
I am not so sure of this arrangement's mertis
From HA (High Availability) point of view, the host/server is a single point
of failure which will bring your entire infrastructure down if any of the
server hardware components fail.
From Performance point of view, you have increased the load on your server
by 3 folds as all instances would be using your I/O bandwidth to write to
secondary storage
Given $300 to $400 price of headless servers these days, its much economical
to split the workload on three boxes
Cheers
Medi
On Thu, Jun 26, 2008 at 9:06 AM, Simon Riggs <simon@2ndquadrant.com> wrote:
On Thu, 2008-06-26 at 10:19 -0500, Scott Whitney wrote:
> I've got 3 different database servers (db01, db02 and db03).
>
> I would like to have a WAL standby server that replays logs for
all 3 in
> case one goes down, so I can promote that particular server.
>
> Can I do this by installing 3 separate postmasters on this
machine?
> Obviously, if 2 went down at the same time, I'd have to do some
magic to
> bring up another machine, but I'm not sure that's a concern.
Yes, that will work.
--
Simon Riggs www.2ndQuadrant.com
PostgreSQL Training, Services and Support
--
Sent via pgsql-admin mailing list (pgsql-admin@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-admin
While I am not an expert on WAL, but again I question the merits of such sophisticated HA configuration. Of course there are use cases for such configs, but I am only advocating best price performance kind of mentality
As WAL writes the journals all the way down to the disk (ie write thru and not write behind) before ack-ing toward the next step in a DB operation, increasing the number of mirrors (one production, one on-site, one off-site, I count 3 plexes here) will prolong each operation, with the following exponentially increasing write latencies
production DB writes are at the rate of SCSI, SATA or system bus (30 MBps)
on-site DB writes are at the rate of LAN (10 MBps)
off-site DB writes are at the rate of WAN (200 KBps)
Then if a three-way WAL writes is considered completed after the last WAN write, then you have effectively lowered your performance to 200 KBytes per sec writes. Now the gain. If the building gets destroyed, my data is protected. Ok. what kind of business are we running in that building? .... what is the rate of writes to database vs probability of building coming down vs value of data from 2 hours ago vs 10 seconds ago.
Thanks
Medi
As WAL writes the journals all the way down to the disk (ie write thru and not write behind) before ack-ing toward the next step in a DB operation, increasing the number of mirrors (one production, one on-site, one off-site, I count 3 plexes here) will prolong each operation, with the following exponentially increasing write latencies
production DB writes are at the rate of SCSI, SATA or system bus (30 MBps)
on-site DB writes are at the rate of LAN (10 MBps)
off-site DB writes are at the rate of WAN (200 KBps)
Then if a three-way WAL writes is considered completed after the last WAN write, then you have effectively lowered your performance to 200 KBytes per sec writes. Now the gain. If the building gets destroyed, my data is protected. Ok. what kind of business are we running in that building? .... what is the rate of writes to database vs probability of building coming down vs value of data from 2 hours ago vs 10 seconds ago.
Thanks
Medi
On Thu, Jun 26, 2008 at 11:01 AM, Scott Whitney <swhitney@journyx.com> wrote:
Fully agreed, and it's just a concept at the moment. After I have a
prototype standby working next week in the first place, we'll be discussing
those very merits.
A 2nd question: Is it possible to have 2 standby servers with a single
master duplicating to standby1 (at my coloc), and standby2 (at my office)?
Assume no auto-failover.
-----Original Message-----
From: Montaseri [mailto:montaseri@gmail.com]
Sent: Jun 26, 2008 12:51 PM
To: Simon Riggs
Cc: Scott Whitney; pgsql-admin@postgresql.org
Subject: Re: [ADMIN] Warm standby server
I am not so sure of this arrangement's mertis
From HA (High Availability) point of view, the host/server is a single point
of failure which will bring your entire infrastructure down if any of the
server hardware components fail.
From Performance point of view, you have increased the load on your server
by 3 folds as all instances would be using your I/O bandwidth to write to
secondary storage
Given $300 to $400 price of headless servers these days, its much economical
to split the workload on three boxes
Cheers
Medi
On Thu, Jun 26, 2008 at 9:06 AM, Simon Riggs <simon@2ndquadrant.com> wrote:
On Thu, 2008-06-26 at 10:19 -0500, Scott Whitney wrote:
> I've got 3 different database servers (db01, db02 and db03).
>
> I would like to have a WAL standby server that replays logs for
all 3 in
> case one goes down, so I can promote that particular server.
>
> Can I do this by installing 3 separate postmasters on this
machine?
> Obviously, if 2 went down at the same time, I'd have to do some
magic to
> bring up another machine, but I'm not sure that's a concern.
Yes, that will work.
--
Simon Riggs www.2ndQuadrant.com
PostgreSQL Training, Services and Support
--
Sent via pgsql-admin mailing list (pgsql-admin@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-admin
I was thinking along the same lines. However, having 2 standby servers is a
must for us. If my colocation center gets razed to the ground, I need to
have a standby server elsewhere. Having one at the colocation center is for
soft/hardware disasters on any primary. Having one at my office is for
facility disasters at the colocation center.
I envision it working like this:
The archive command pseudocode will be:
rsync <mywalfile> someone@abox
The standby slave servers will then continually rsync that directory while
in recovery mode.
Reading the docs, it looks as if this should work.
It's also my understanding that the archive command happens asynchronously,
so it shouldn't affect the overall performance of the primary. Regardless,
my proposed solution should handle such a scenario.
-----Original Message-----
From: Montaseri [mailto:montaseri@gmail.com]
Sent: Jun 26, 2008 1:21 PM
To: Scott Whitney
Cc: Simon Riggs; pgsql-admin@postgresql.org
Subject: Re: [ADMIN] Warm standby server
While I am not an expert on WAL, but again I question the merits of such
sophisticated HA configuration. Of course there are use cases for such
configs, but I am only advocating best price performance kind of mentality
As WAL writes the journals all the way down to the disk (ie write thru and
not write behind) before ack-ing toward the next step in a DB operation,
increasing the number of mirrors (one production, one on-site, one off-site,
I count 3 plexes here) will prolong each operation, with the following
exponentially increasing write latencies
production DB writes are at the rate of SCSI, SATA or system bus (30 MBps)
on-site DB writes are at the rate of LAN (10 MBps)
off-site DB writes are at the rate of WAN (200 KBps)
Then if a three-way WAL writes is considered completed after the last WAN
write, then you have effectively lowered your performance to 200 KBytes per
sec writes. Now the gain. If the building gets destroyed, my data is
protected. Ok. what kind of business are we running in that building? ....
what is the rate of writes to database vs probability of building coming
down vs value of data from 2 hours ago vs 10 seconds ago.
Thanks
Medi
On Thu, Jun 26, 2008 at 11:01 AM, Scott Whitney <swhitney@journyx.com>
wrote:
Fully agreed, and it's just a concept at the moment. After I have a
prototype standby working next week in the first place, we'll be
discussing
those very merits.
A 2nd question: Is it possible to have 2 standby servers with a
single
master duplicating to standby1 (at my coloc), and standby2 (at my
office)?
Assume no auto-failover.
-----Original Message-----
From: Montaseri [mailto:montaseri@gmail.com]
Sent: Jun 26, 2008 12:51 PM
To: Simon Riggs
Cc: Scott Whitney; pgsql-admin@postgresql.org
Subject: Re: [ADMIN] Warm standby server
I am not so sure of this arrangement's mertis
From HA (High Availability) point of view, the host/server is a
single point
of failure which will bring your entire infrastructure down if any
of the
server hardware components fail.
From Performance point of view, you have increased the load on your
server
by 3 folds as all instances would be using your I/O bandwidth to
write to
secondary storage
Given $300 to $400 price of headless servers these days, its much
economical
to split the workload on three boxes
Cheers
Medi
On Thu, Jun 26, 2008 at 9:06 AM, Simon Riggs <simon@2ndquadrant.com>
wrote:
On Thu, 2008-06-26 at 10:19 -0500, Scott Whitney wrote:
> I've got 3 different database servers (db01, db02 and
db03).
>
> I would like to have a WAL standby server that replays logs
for
all 3 in
> case one goes down, so I can promote that particular
server.
>
> Can I do this by installing 3 separate postmasters on this
machine?
> Obviously, if 2 went down at the same time, I'd have to do
some
magic to
> bring up another machine, but I'm not sure that's a
concern.
Yes, that will work.
--
Simon Riggs www.2ndQuadrant.com
PostgreSQL Training, Services and Support
--
Sent via pgsql-admin mailing list
(pgsql-admin@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-admin
On Thu, 2008-06-26 at 13:01 -0500, Scott Whitney wrote: > A 2nd question: Is it possible to have 2 standby servers with a single > master duplicating to standby1 (at my coloc), and standby2 (at my office)? > Assume no auto-failover. Yes, that works too. -- Simon Riggs www.2ndQuadrant.com PostgreSQL Training, Services and Support
Scott & Montaseri, Montaseri wrote: > While I am not an expert on WAL, but again I question the merits of > such sophisticated HA configuration. Of course there are use cases for > such configs, but I am only advocating best price performance kind of > mentality > > As WAL writes the journals all the way down to the disk (ie write thru > and not write behind) before ack-ing toward the next step in a DB > operation, increasing the number of mirrors (one production, one > on-site, one off-site, I count 3 plexes here) will prolong each > operation, with the following exponentially increasing write latencies "traditional" warm-standby involves replicating the *archived* (read: not currently-in-use) WAL to the standby servers, something that doesn't require a synchronous write operation, and something that could be spread out over a period of time. However, you might have an issue if the system copies across WAL's slower than new ones are generated. Scott, you should be aware that the mechanism you are proposing has the potential to "lose" the transactions that had committed, but had not yet been archived. That would most likely be the changes in the "currently being written" WAL file - which hadn't been filled up, and thus had not yet been archived. For your colo standby server, you might consider using some synchronous mechanism for WAL storage. Such a mechanism would have an impact on server performance but would allow you to achive durability of committed transactions. I'll actually be talking a bit about this at the PGDay of Linux World (August 5th)... -- Chander Ganesan Open Technology Group, Inc. One Copley Parkway, Suite 210 Morrisville, NC 27560 919-463-0999/877-258-8987 http://www.otg-nc.com Ask me about Expert PostgreSQL, PostGIS, and other Open Source training.