Differences between revisions 18 and 21 (spanning 3 versions)
Revision 18 as of 2009-09-22 22:54:50
Size: 2321
Editor: c-67-176-12-8
Comment:
Revision 21 as of 2009-12-02 01:53:35
Size: 3895
Editor: c-67-176-12-8
Comment:
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
= Implementation Status = = Current Tasklist =
Line 7: Line 7:
Line 9: Line 8:
Line 18: Line 16:
5. Install 'Package” as a directory structure that will contain all future 'tools'
/bin, /etc, /tmp, /log, ...
Installed on hmidb (after the move to hmidb0 we'll setup the final packages)
5. Install 'Package” as a directory structure that will contain all future 'tools' /bin, /etc, /tmp, /log, ... Installed on hmidb (after the move to hmidb0 we'll setup the final packages)
Line 22: Line 18:
6. Setup backup jobs (pending move to hmidb0)
Cron entry to run the base file system backup (I suggest once/quarter)
Cron entry to archive the WAL segments (monthly)
Optional additional base file system backups to alternate locations 
6. Setup backup jobs (pending move to hmidb0) Cron entry to run the base file system backup (I suggest once/quarter) Cron entry to archive the WAL segments (monthly) Optional additional base file system backups to alternate locations
Line 27: Line 20:
The toolset will be run from the warm standby server   The toolset will be run from the warm standby server
Line 31: Line 23:
Line 33: Line 24:
  * Strategy fully dependant on the Backup / Recovery strategy and defined manual steps     * Strategy fully dependant on the Backup / Recovery strategy and defined manual steps
Line 36: Line 26:

* I successfully tested the backup of a running warm standby server and then recovering from the warm standby base backup and the subsequent archived WAL files from the master  
  * I successfully tested the backup of a running warm standby server and then recovering from the warm standby base backup and the subsequent archived WAL files from the master
Line 40: Line 28:
  
Line 42: Line 29:
Line 44: Line 30:


Line 48: Line 31:
Line 50: Line 32:
Line 52: Line 33:
     * SLONY v2 must be used if we want to use PostgreSQL 8.4
     * SLONY-1 2.03 (release Candidate) recommended due to a few key bugs in 2.01 and 2.02

 
* Next Steps:

  
* Define SLONY Architecture

  
* Define Log Shipping process

  
* Build SLONY scripts/tools       * Implement & Test


 * SLONY v2 must be used if we want to use PostgreSQL 8.4
 * SLONY-1 2.03 (release Candidate) recommended due to a few key bugs in 2.01 and 2.02
 * Next Steps:
  * Define SLONY Architecture
  * Define Log Shipping process
  * Build SLONY scripts/tools
* Implement & Test
Line 70: Line 41:

   * Setup of a new (local) warm standby server

   * further testing of the current backup scripts

   * Testing / Validating a restore based on backups from the warm standby

   * Design of the SLONY control modules

   * Revise / make more clear & easy to follow the warm standby recovery plan
 * Setup of a new (local) warm standby server (done)
 * further testing of the current backup scripts (done)
 * Design of the SLONY control modules (done)
 * Revise / make more clear & easy to follow the warm standby recovery plan (pending)
 * End2end testing:
  * setup 4 VM's (done)
  * install postgres on nodes 1 & 2 (done)
  * setup warm standby (done)
  * install PITR backup scripts (done)
  * install slony control scripts (done)
  * setup initial slony cluster (done, pending re-starts as needed)
  * test warm standby failover (done - first pass - success with caveats)
  * test slony switchover / switch back (done - success)
  * test pitr recovery (pending)
  * setup slony log shipping (pending)
  * test slony log shipping receiver (pending)
  * document end2end test results (pending)
  * add slony scripts to add/remove things from the slony cluster (pending)
  * test the add/remove things to slony script(s) (pending)
  * NOTES: we need to manage consistency of the pitr backups off the warm standby ourselves based on discussions with the Postgres development team I believe we should test the following:
   * shutdown the warm standby database(s), run the xfsdump, then restart (back into recovery mode) the warm standby database(s)
    * creates a risk factor in that the warm standby is down during the dump
   * Force a checkpoint on the master, watch the standby logs for the completion of the checkpoint and then run the xfsdump
    * creates the need to manage the 'window' between checkpoints and ensure that its long enough to do our xfsdump
    * This involves the monitoring/tweaking of the # of checkpoint segments and the checkpoint_timeout in relation to current traffic volues
   * Both of these, plus the single failover script has introduces unexpected issues and/or unexpected scope, thus pushing our timeline out.
    . I'll try and make up some time in the next (monitoring) phase of the schedule.

Kevins's archive

Anchor(mostrecent)

Current Tasklist

Updated Wed 09-09-2009

Backup / Recovery

1. pitrBackup = 100% complete (We may still find bugs as we engage in further testing)

2. walBackup = 100% complete (We may still find bugs as we engage in further testing)

3. Implement changes based on feedback if needed

4. Unit testing - 100% (Basic Unit tests)

5. Install 'Package” as a directory structure that will contain all future 'tools' /bin, /etc, /tmp, /log, ... Installed on hmidb (after the move to hmidb0 we'll setup the final packages)

6. Setup backup jobs (pending move to hmidb0) Cron entry to run the base file system backup (I suggest once/quarter) Cron entry to archive the WAL segments (monthly) Optional additional base file system backups to alternate locations

The toolset will be run from the warm standby server

Warm Standby

  • Documented strategy
    • Strategy fully dependant on the Backup / Recovery strategy and defined manual steps
    • We'll need to address the re-setup of SLONY after a fAIL over as part of the upcoming 'Data Replication' strategy
    • I successfully tested the backup of a running warm standby server and then recovering from the warm standby base backup and the subsequent archived WAL files from the master
    • walBackup script 100% complete
    • walBackup Unit Testing - 100% complete (Basic unit tests)
    • Still To Do: Revise / make more clear & easy to follow the recovery plan

Web db Plan

  • Strategy documented - initial pass (100%)

SLONY Plan

  • SLONY v2 must be used if we want to use PostgreSQL 8.4
  • SLONY-1 2.03 (release Candidate) recommended due to a few key bugs in 2.01 and 2.02
  • Next Steps:
    • Define SLONY Architecture
    • Define Log Shipping process
    • Build SLONY scripts/tools
    • Implement & Test

Currently In Progress

  • Setup of a new (local) warm standby server (done)
  • further testing of the current backup scripts (done)
  • Design of the SLONY control modules (done)
  • Revise / make more clear & easy to follow the warm standby recovery plan (pending)

  • End2end testing:
    • setup 4 VM's (done)
    • install postgres on nodes 1 & 2 (done)

    • setup warm standby (done)
    • install PITR backup scripts (done)
    • install slony control scripts (done)
    • setup initial slony cluster (done, pending re-starts as needed)
    • test warm standby failover (done - first pass - success with caveats)
    • test slony switchover / switch back (done - success)
    • test pitr recovery (pending)
    • setup slony log shipping (pending)
    • test slony log shipping receiver (pending)
    • document end2end test results (pending)
    • add slony scripts to add/remove things from the slony cluster (pending)
    • test the add/remove things to slony script(s) (pending)
    • NOTES: we need to manage consistency of the pitr backups off the warm standby ourselves based on discussions with the Postgres development team I believe we should test the following:
      • shutdown the warm standby database(s), run the xfsdump, then restart (back into recovery mode) the warm standby database(s)
        • creates a risk factor in that the warm standby is down during the dump
      • Force a checkpoint on the master, watch the standby logs for the completion of the checkpoint and then run the xfsdump
        • creates the need to manage the 'window' between checkpoints and ensure that its long enough to do our xfsdump
        • This involves the monitoring/tweaking of the # of checkpoint segments and the checkpoint_timeout in relation to current traffic volues
      • Both of these, plus the single failover script has introduces unexpected issues and/or unexpected scope, thus pushing our timeline out.
        • I'll try and make up some time in the next (monitoring) phase of the schedule.

JsocWiki: KevinsProgress (last edited 2013-05-01 04:35:27 by localhost)