Search Postgresql Archives

Re: better architecture?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/20/2014 04:57 PM, zach cruise wrote:
On 11/20/14, Adrian Klaver <adrian.klaver@xxxxxxxxxxx> wrote:
On 11/20/2014 12:30 PM, zach cruise wrote:

For more info see:

http://www.postgresql.org/docs/9.3/interactive/continuous-archiving.html
to be clear- i change my 2 VMs setup {"1. master (dev) - 2. slave
(prod) setup"} to 3 VMs {"1. master (dev) - 2. slave (prod) setup - 3.
archive (wal)"}.

but what do i gain?

Extra protection against failure, maybe.

So:

            --->  WAL Archive ---
            |                    |
            |    Streaming       |
master ---  --------------------> slave

If the direct link between the master and slave goes down, the slave can
still get WALs from the archive. If the archive machine goes down you
still have the direct link. If you take the slave down the master can
still push WALs to the archive. This assumes the 'machines' are actually
separated and connecting through different networks. You say you are
using VMs, but not where they are running. If they are all running on
the same machine running through the same network link then you really
do not have protection against network issues. The same if the host
machine goes down. This is one of those pen and paper times, when you
sketch out the arrangement and start doing what ifs.

First of all, the below is really in need of whiteboard/paper diagram to keep track of the moving parts. That being said here it goes:


master, slave and archive can be 3 separate VMs on 1 host, with their
clones on 2nd and 3rd hosts.

I can see the above being a potential nightmare. I am not sure how you ensure that the cloning process results in clones that exactly mirror the state of the originals at a particular point in time. Failing in that would seem to me to lead to no end of issues in the replication process.


a follow-up question on WAL recycling: ("When WAL archiving is being
done, the log segments must be archived before being recycled or
removed" from http://www.postgresql.org/docs/9.3/static/wal-configuration.html)

say streaming is off-
* if both master and archive are down, slave is still up and running. yes?

Yes.

* if master writes data when archive is down, it will copy over to
slave when archive is back up. yes?

If streaming is off and you are doing archiving then it will copy over to the archive.

* but if WAL is recycled before archive is back up, it will not copy
over to slave. yes?

The issue here as pointed out previously is that the WALs will stack up on the master because it will not be able to archive them. So then you run into a potential of of space issue on the master. From here:

http://www.postgresql.org/docs/9.3/interactive/continuous-archiving.html

"It is important that the archive command return zero exit status if and only if it succeeds. Upon getting a zero result, PostgreSQL will assume that the file has been successfully archived, and will remove or recycle it. However, a nonzero status tells PostgreSQL that the file was not archived; it will try again periodically until it succeeds."

...

"While designing your archiving setup, consider what will happen if the archive command fails repeatedly because some aspect requires operator intervention or the archive runs out of space. For example, this could occur if you write to tape without an autochanger; when the tape fills, nothing further can be archived until the tape is swapped. You should ensure that any error condition or request to a human operator is reported appropriately so that the situation can be resolved reasonably quickly. The pg_xlog/ directory will continue to fill with WAL segment files until the situation is resolved. (If the file system containing pg_xlog/ fills up, PostgreSQL will do a PANIC shutdown. No committed transactions will be lost, but the database will remain offline until you free some space.)"


see my concern with a separate archive is if archive is down and
master gets stuck retrying to push the same segment again and again,
there may be a problem in recovery when archive is back up. no?

See above.





--
Adrian Klaver
adrian.klaver@xxxxxxxxxxx


--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux