SlideShare a Scribd company logo
/
Think Your Postgres Backups
And Disaster Recovery Are
Safe? Let's talk.
Payal Singh
Database Administrator
OmniTI
1
Who am I ?
DBA@OmniTI
Github: payals
Blog: http://penningpence.blogspot.com
Twitter: @pallureshu
Email: payal@omniti.com
2
Agenda
Types of backups
Validation
Backups management
Automation
Filesystem
Third party tools
In-house solution
3
Types of Backups
4
Business Continuity Objectives
Recovery Point Objective (RPO)
Recovery Time Objective (RTO)
5
Types of Backups
● Logical
○ pg_dump
○ pg_dumpall
● Physical (File-system Level)
○ Online
 Most commonly used
 No downtime
○ Offline
 rarely used
 shutdown database for backup
6
Logical Backups
Advantages:
Granularity
Fine-tuned restores
Multiple in-built compression types
Ease of use, no extra setup required
Disadvantages:
Relatively slower
Frozen snapshots in time, i.e. no PITR
Locks
Data spread in time
7
pg_dumpall
Pros:
• Globals
Cons:
● Requires superuser privileges
● No granularity while restoring
● Plaintext only
● Cannot take advantage of faster/parallel restore with pg_restore
8
Physical Backups
Advantages:
Faster
Incremental Backups
Point In Time Recovery
By default compression on certain file-systems
Disadvantages:
Lacks granularity
9
Why do you need both?
The more the merrier:
Database wide restores - Filesystem restore is faster!
Someone dropped a table? - Dump backups are faster!
10
pg_basebackup
Advantage:
• In core postgres
• No explicit backup mode required
• Multiple instances can run concurrently
• Backups can be made on master as well as standby
Disadvantage:
• Slower when compared to snapshot file-system technologies
• Backups are always of the entire cluster
11
pg_basebackup Requirements
• A superuser or a user with REPLICATION permissions
can be used
• archive_command parameter should be set to true
• max_wal_senders should be at least 1
12
Delayed Replicas as Backups
• In situations where accidental damage was done that was realized in a
short period of time.
• May still result in some data loss post recovery, but it depends on the
importance of table, other objects dependent on it, etc.
13
Version Controlled DDL
• Committing daily changes to schema design, functions, triggers etc. into
source control
• Can go back to any state
• pg_extractor (https://github.com/omniti-labs/pg_extractor) facilitates
this by creating files for each database object, followed by integration
with git, svn, etc.
14
Validation
15
Continuous Restores
Validation is important
Estimates / Expectations
Procedure / External factors
Does it even work?
Development Database
Routine refresh + restore testing
Reporting Databases:
Overnight restores for reporting databases refreshed daily. Great
candidate for daily validation.
16
RTO
Sample Validation Log
2015-03-01 10:00:03 : Testing backup for 2015-02-28 from
/data/backup/hot_backup/+/var/log/test/bin/test_backups.sql
2015-03-01 10:00:03 : Starting decompress of
/data/backup/hot_backup/test.local-data-2015-02-28.tar.gz
2015-03-01 10:00:03 : Starting decompress of
/data/backup/hot_backup/test.local-xlog-2015-02-28.tar.gz
2015-03-01 10:00:03 : Waiting for both decompressing processes to finish
2015-03-01 14:36:06 : Decompressing worked, generated directory test with
size: 963G
2015-03-01 14:36:06 : Starting PostgreSQL
server starting
2015-03-01 14:36:07.372 EST @ 3282 LOG: loaded library
"pg_scoreboard.so"
2015-03-01 15:52:36 : PostgreSQL started
2015-03-01 15:52:36 : Validating Database
starting Vacuum
2015-03-02 08:17:56 : Test result: OK
2015-03-02 08:18:11 : All OK.
17
Where did Gitlab go wrong?
18
No PITR, no alerts for missing backups, no documentation for backup
location, no restore testing
“…backups…taken once per 24 hours…not yet been able to figure
out where they are stored…don’t appear to be working...”
No retention policy
“Fog gem may have cleaned out older backups”
No monitoring
“Our backups to S3 apparently don’t work either: the bucket is
empty”
No RPO
“…Unless we can pull these from the past 24 hours they will be
lost”
Sobering Thought of the Day
19
A chain is only as strong as the weakest link
Backup Management
20
Retention Period
Remove all older than x days
VS
Remove all but latest x backups
Off-server (short term)
VS
Off-site retention period (long term)
21
Security
Transfer
One way passwordless SSH access
HTTPS for cloud uploads (e.g. s3cmd)
Storage
Encryption
Access control
PCI Compliance
Private keys
Logical backups preferred
Multi-Tenancy Environment
Backup Server  Client
Client  Backup server
22
Monitoring and Alerts
Alert at runtime
• To detect errors at runtime within script, or change in system/user
environments
• Immediate
• Cron emails
Alert on storage/retention:
• Error in retention logic/implementation
• Secondary/Delayed
• Cron’d script, external monitoring
Alert on backup validation:
• On routine refreshes/restores
23
S3 Backups
Ideal for long term backups:
• Cheap
• Ample space
• Transfer in parts, can pick up where you left off in case of errors
• Speed depends on bandwidth
Secure:
• Buckets , Users, Policies
Communication:
• AWS cli / s3cmd
• Access keys
• PGP encryption
24
S3 Backups Contd.
Sample Bucket Policy:
{
"Version": "2012-10-17",
"Id": "S3-Account-Permissions",
"Statement": [
{
"Sid": "1",
"Effect": "Allow",
"Principal": {
"AWS":
"arn:aws:iam::<account_number>:user/omniti_testing"
},
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::omniti_testing",
"arn:aws:s3:::omniti_testing/*"
]
}
]
}
25
S3 Backups Contd.
Sample User Policy:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::omniti_testing",
"arn:aws:s3:::omniti_testing/*"
]
}
]
}
26
Automation
27
Why Automate?
Reduced Chance of Human Error
pg_dump backups
filesystem level backups
retention scripts
backup monitoring and alerts
off-site and off-server transfer as well as storage
access channels
security keys
cronjobs…
Less work, faster
Move scripts, swap crontabs, ensure all accesses exist
Uniformity, Reliability
28
What to Automate?
Scripts
Crontabs
Accesses
Validation/restores
29
Automation Example In Chef
payal@payal-ThinkPad-T520$ ls -l s3_backup/
drwxr-xr-x 2 payal payal 4096 Dec 2 11:03 attributes
drwxr-xr-x 3 payal payal 4096 Dec 2 11:03 files
-rw-r--r-- 1 payal payal 1351 Dec 2 11:03 README.md
drwxr-xr-x 2 payal payal 4096 Dec 2 11:03 recipes
drwxr-xr-x 3 payal payal 4096 Dec 2 11:03 templates
payal@payal-ThinkPad-T520 $ ls -l s3_backup/templates/default/
-rwxr-xr-x 1 payal payal 3950 Dec 2 11:03 backup.sh.erb
-rw-r--r-- 1 payal payal 1001 Jan 12 12:40 check_offsite_backups.sh.erb
-rw-r--r-- 1 payal payal 37 Dec 2 11:03 pg_dump_backup.conf.erb
-rw-r--r-- 1 payal payal 19 Dec 2 11:03 pg_dump.conf.erb
-rw-r--r-- 1 payal payal 6319 Dec 2 11:03 pg_dump_upload.py.erb
-rw-r--r-- 1 payal payal 1442 Dec 2 11:03 pg_start_backup.sh.erb
-rw-r--r-- 1 payal payal 1631 Dec 2 11:03 s3cfg.erb
30
Automation Example in Ansible
31
- name: "Use pg_dump for logical backup"
shell: "pg_dump -U postgres -Fc -f {{ db_name }}_{{ today
}}.bak {{ db_name }} > backup.log 2>&1"
args:
chdir: "{{ backup_dir }}"
when: not only_upload_backup
- name: "upload backup file"
s3: region="ap-southeast-1" bucket=“sample"
object="/DB_bucket/{{ db_name }}_{{ today }}.bak" src="{{
backup_dir }}/{{ db_name }}_{{ today }}.bak" mode=put
https://github.com/payals/postgresql_automation/tree/master/backups
Filesystem
32
Can Filesystems enhance DR?
33
ZFS
• Available on Solaris, Illumos. ZFS on Linux is new but improving!
• Built in compression
• Protections against data corruption
• Snapshots
• Copy-on-Write
How can ZFS help you with DR?
34
Scenario 1: You’re using pg_upgrade for a
major upgrade with hard link option (-k). It fails
in between. Since you used hardlinks, you
cannot turn on the older cluster. What do you
do?
ZFS Rollback – instantaneously rollback a
dataset to a previous state from a snapshot
sudo zfs rollback <snapshot_name>
How can ZFS help you with DR?
35
Scenario 2: You’ve accidentally deleted a large
table in a very large database where taking full
backups are infeasible. Is there a faster
alternative to a filesystem restore? ZFS rollback
will overwrite pgdata so you cannot use that.
ZFS Clone – Copy-on-Write. Instantaneously
clone a dataset from snapshot without any
additional space consumptions as long as you
don’t write to it.
sudo zfs clone <snapshot_name> <mountpoint>
External Tools
36
OmniPITR
37
PITR backups and archives
Backups off of master or standby
Built in backup integrity checks
Quick setup, Minimal requirements
Comprehensive logging
Built in retention
Ideal for infrastructures of all sizes
Barman
38
PITR backups and restores
Automatic retention, continuous recovery
Requires its own server
More suitable for larger infrastructures to manage multiple clusters and
multiple locations
Simplicity
Minimal knowledge of PITR inner workings required
Wrappers for recovery process
Supports backups from both primary and standby
wal-e
39
PITR backups and restores
Automatic retention, continuous recovery
Minimal setup
Cloud integration:
AWS, Azure, Google, Swift
In House Solution
40
Logical
def take_dump():
try:
with open(config_file, 'r') as f:
for db in f:
if db.strip():
db = db.replace("n", "")
dump_command = pg_dump_path + " -U postgres -v -Fc -f " +
dump_file_path + db.split()[-1] + "_" + start_time + ".sql" + " " + db + " 2>>
" + dump_file_path + db.split()[-1] + "_" + start_time + ".log"
os.system(dump_command)
print('backup of ' + db.split()[-1] + ' completed successfully')
except:
print('ERROR: bash command did not execute properly')
41
Physical
pg_basebackup:
Pg_basebackup –D pgdata –F format --xlogdir –Xs –c fast -p …
ZFS snapshots:
ZFS restore from snapshot
ZFS rollback to snapshot after failed upgrade or maintenance task
…
read_params "$@“
if [[ -z ${OFFLINE} ]]
then
postgres_start_backup
zfs_snap
postgres_stop_backup
else
zfs_snap
fi
backup
zfs_clear_snaps
42
S3 Backups
Basic steps:
check_lock()
take_dump()
gpg_encrypt()
s3_upload()
move_files()
cleanup()
43
Redundancy is Good
“That Sunday, Thomas deleted remotely stored backups and turned off the automated
backup system. He made some changes to VPN authentication that basically locked
everybody out, and turned off the automatic restart. He deleted internal IT wiki pages,
removed users from a mailing list, deactivated the company's pager notification system,
and a number of other things that basically created a huge mess that the company spent
the whole of Monday sorting out (it turned out there were local copies of the deleted
backups).”
https://www.theregister.co.uk/2017/02/23/michael_thomas_appeals_conviction/
44
S3 Backups Monitoring
Sample:
# Get timestamp of latest file in S3 bucket
latest_backup=$(s3cmd ls s3://omniti_client/ | awk {'print $1'} | sort -n | tail -1)
today=$(date --date=today "+%Y-%m-%d")
yesterday=$(date --date=yesterday "+%Y-%m-%d")
# If latest backup is older than yesterday, email dba
if [ $yesterday -ne $latest_backup -a $today -ne $latest_backup ]
then
echo "Offsite Backups Missing for client" | mailx -s "Offsite Backup Missing
for Client " dba@omniti.com
45
Backup Documentation
• Detailed backup information - types, locations, retention periods
• Procedures to setup new machines
• Analysis and estimation time for recovery
• Ways to recover
46
References
http://www.postgresql.org/docs/9.4/static
https://github.com/omniti-labs/omnipitr
http://docs.pgbarman.org
http://docs.chef.io/
https://github.com/omniti-labs/pgtreats
https://github.com/omniti-labs/pg_extractor
http://www.druva.com/blog/understanding-rpo-and-rto
http://evol-monkey.blogspot.co.uk/2013/08/postgresql-backup-
and-recovery.html
47
Questions?
48
Payal Singh
payal@omniti.com
OmniTI Computer Consulting Inc.

More Related Content

What's hot

ZFSperftools2012
ZFSperftools2012ZFSperftools2012
ZFSperftools2012
Brendan Gregg
 
Comparison of-foss-distributed-storage
Comparison of-foss-distributed-storageComparison of-foss-distributed-storage
Comparison of-foss-distributed-storage
Marian Marinov
 
The New Systems Performance
The New Systems PerformanceThe New Systems Performance
The New Systems Performance
Brendan Gregg
 
Kernel Recipes 2017: Performance Analysis with BPF
Kernel Recipes 2017: Performance Analysis with BPFKernel Recipes 2017: Performance Analysis with BPF
Kernel Recipes 2017: Performance Analysis with BPF
Brendan Gregg
 
Make Your Containers Faster: Linux Container Performance Tools
Make Your Containers Faster: Linux Container Performance ToolsMake Your Containers Faster: Linux Container Performance Tools
Make Your Containers Faster: Linux Container Performance Tools
Kernel TLV
 
LizardFS-WhitePaper-Eng-v3.9.2-web
LizardFS-WhitePaper-Eng-v3.9.2-webLizardFS-WhitePaper-Eng-v3.9.2-web
LizardFS-WhitePaper-Eng-v3.9.2-webSzymon Haly
 
Linux Performance Profiling and Monitoring
Linux Performance Profiling and MonitoringLinux Performance Profiling and Monitoring
Linux Performance Profiling and Monitoring
Georg Schönberger
 
Kernel Recipes 2017: Using Linux perf at Netflix
Kernel Recipes 2017: Using Linux perf at NetflixKernel Recipes 2017: Using Linux perf at Netflix
Kernel Recipes 2017: Using Linux perf at Netflix
Brendan Gregg
 
PGConf.ASIA 2019 Bali - Building PostgreSQL as a Service with Kubernetes - Ta...
PGConf.ASIA 2019 Bali - Building PostgreSQL as a Service with Kubernetes - Ta...PGConf.ASIA 2019 Bali - Building PostgreSQL as a Service with Kubernetes - Ta...
PGConf.ASIA 2019 Bali - Building PostgreSQL as a Service with Kubernetes - Ta...
Equnix Business Solutions
 
Out of the box replication in postgres 9.4(pg confus)
Out of the box replication in postgres 9.4(pg confus)Out of the box replication in postgres 9.4(pg confus)
Out of the box replication in postgres 9.4(pg confus)
Denish Patel
 
Percona xtrabackup - MySQL Meetup @ Mumbai
Percona xtrabackup - MySQL Meetup @ MumbaiPercona xtrabackup - MySQL Meetup @ Mumbai
Percona xtrabackup - MySQL Meetup @ Mumbai
Nilnandan Joshi
 
High Availability in 37 Easy Steps
High Availability in 37 Easy StepsHigh Availability in 37 Easy Steps
High Availability in 37 Easy Steps
Tim Serong
 
EuroBSDcon 2017 System Performance Analysis Methodologies
EuroBSDcon 2017 System Performance Analysis MethodologiesEuroBSDcon 2017 System Performance Analysis Methodologies
EuroBSDcon 2017 System Performance Analysis Methodologies
Brendan Gregg
 
PostgreSQL High Availability in a Containerized World
PostgreSQL High Availability in a Containerized WorldPostgreSQL High Availability in a Containerized World
PostgreSQL High Availability in a Containerized World
Jignesh Shah
 
pgDay Asia 2016 - Swapping Pacemaker-Corosync for repmgr (1)
pgDay Asia 2016 - Swapping Pacemaker-Corosync for repmgr (1)pgDay Asia 2016 - Swapping Pacemaker-Corosync for repmgr (1)
pgDay Asia 2016 - Swapping Pacemaker-Corosync for repmgr (1)Wei Shan Ang
 
PostgreSQL Extensions: A deeper look
PostgreSQL Extensions:  A deeper lookPostgreSQL Extensions:  A deeper look
PostgreSQL Extensions: A deeper look
Jignesh Shah
 
Linux Performance Analysis: New Tools and Old Secrets
Linux Performance Analysis: New Tools and Old SecretsLinux Performance Analysis: New Tools and Old Secrets
Linux Performance Analysis: New Tools and Old Secrets
Brendan Gregg
 
Streaming replication in practice
Streaming replication in practiceStreaming replication in practice
Streaming replication in practice
Alexey Lesovsky
 
SuperServer in Firebird 3
SuperServer in Firebird 3SuperServer in Firebird 3
SuperServer in Firebird 3
Mind The Firebird
 
Advanced Postgres Monitoring
Advanced Postgres MonitoringAdvanced Postgres Monitoring
Advanced Postgres MonitoringDenish Patel
 

What's hot (20)

ZFSperftools2012
ZFSperftools2012ZFSperftools2012
ZFSperftools2012
 
Comparison of-foss-distributed-storage
Comparison of-foss-distributed-storageComparison of-foss-distributed-storage
Comparison of-foss-distributed-storage
 
The New Systems Performance
The New Systems PerformanceThe New Systems Performance
The New Systems Performance
 
Kernel Recipes 2017: Performance Analysis with BPF
Kernel Recipes 2017: Performance Analysis with BPFKernel Recipes 2017: Performance Analysis with BPF
Kernel Recipes 2017: Performance Analysis with BPF
 
Make Your Containers Faster: Linux Container Performance Tools
Make Your Containers Faster: Linux Container Performance ToolsMake Your Containers Faster: Linux Container Performance Tools
Make Your Containers Faster: Linux Container Performance Tools
 
LizardFS-WhitePaper-Eng-v3.9.2-web
LizardFS-WhitePaper-Eng-v3.9.2-webLizardFS-WhitePaper-Eng-v3.9.2-web
LizardFS-WhitePaper-Eng-v3.9.2-web
 
Linux Performance Profiling and Monitoring
Linux Performance Profiling and MonitoringLinux Performance Profiling and Monitoring
Linux Performance Profiling and Monitoring
 
Kernel Recipes 2017: Using Linux perf at Netflix
Kernel Recipes 2017: Using Linux perf at NetflixKernel Recipes 2017: Using Linux perf at Netflix
Kernel Recipes 2017: Using Linux perf at Netflix
 
PGConf.ASIA 2019 Bali - Building PostgreSQL as a Service with Kubernetes - Ta...
PGConf.ASIA 2019 Bali - Building PostgreSQL as a Service with Kubernetes - Ta...PGConf.ASIA 2019 Bali - Building PostgreSQL as a Service with Kubernetes - Ta...
PGConf.ASIA 2019 Bali - Building PostgreSQL as a Service with Kubernetes - Ta...
 
Out of the box replication in postgres 9.4(pg confus)
Out of the box replication in postgres 9.4(pg confus)Out of the box replication in postgres 9.4(pg confus)
Out of the box replication in postgres 9.4(pg confus)
 
Percona xtrabackup - MySQL Meetup @ Mumbai
Percona xtrabackup - MySQL Meetup @ MumbaiPercona xtrabackup - MySQL Meetup @ Mumbai
Percona xtrabackup - MySQL Meetup @ Mumbai
 
High Availability in 37 Easy Steps
High Availability in 37 Easy StepsHigh Availability in 37 Easy Steps
High Availability in 37 Easy Steps
 
EuroBSDcon 2017 System Performance Analysis Methodologies
EuroBSDcon 2017 System Performance Analysis MethodologiesEuroBSDcon 2017 System Performance Analysis Methodologies
EuroBSDcon 2017 System Performance Analysis Methodologies
 
PostgreSQL High Availability in a Containerized World
PostgreSQL High Availability in a Containerized WorldPostgreSQL High Availability in a Containerized World
PostgreSQL High Availability in a Containerized World
 
pgDay Asia 2016 - Swapping Pacemaker-Corosync for repmgr (1)
pgDay Asia 2016 - Swapping Pacemaker-Corosync for repmgr (1)pgDay Asia 2016 - Swapping Pacemaker-Corosync for repmgr (1)
pgDay Asia 2016 - Swapping Pacemaker-Corosync for repmgr (1)
 
PostgreSQL Extensions: A deeper look
PostgreSQL Extensions:  A deeper lookPostgreSQL Extensions:  A deeper look
PostgreSQL Extensions: A deeper look
 
Linux Performance Analysis: New Tools and Old Secrets
Linux Performance Analysis: New Tools and Old SecretsLinux Performance Analysis: New Tools and Old Secrets
Linux Performance Analysis: New Tools and Old Secrets
 
Streaming replication in practice
Streaming replication in practiceStreaming replication in practice
Streaming replication in practice
 
SuperServer in Firebird 3
SuperServer in Firebird 3SuperServer in Firebird 3
SuperServer in Firebird 3
 
Advanced Postgres Monitoring
Advanced Postgres MonitoringAdvanced Postgres Monitoring
Advanced Postgres Monitoring
 

Viewers also liked

Automating Disaster Recovery PostgreSQL
Automating Disaster Recovery PostgreSQLAutomating Disaster Recovery PostgreSQL
Automating Disaster Recovery PostgreSQL
Nina Kaufman
 
Ensayo Higiene Maribel Arias
Ensayo Higiene Maribel AriasEnsayo Higiene Maribel Arias
Ensayo Higiene Maribel Arias
VinotintoRM
 
Dossier inscription district lycee 2017
Dossier inscription district lycee 2017Dossier inscription district lycee 2017
Dossier inscription district lycee 2017
rammt
 
Developing Your Business Through Internal Controls
Developing Your Business Through Internal ControlsDeveloping Your Business Through Internal Controls
Developing Your Business Through Internal Controls
Skoda Minotti
 
Corpo humano
Corpo humanoCorpo humano
Corpo humano
Kathia Zanata
 
Practica innovadora rosario cañar y nancy garcia
Practica innovadora rosario cañar y nancy garciaPractica innovadora rosario cañar y nancy garcia
Practica innovadora rosario cañar y nancy garcia
Edwin Riascos
 
Tracxn Research - Finance & Accounting Landscape, February 2017
Tracxn Research - Finance & Accounting Landscape, February 2017Tracxn Research - Finance & Accounting Landscape, February 2017
Tracxn Research - Finance & Accounting Landscape, February 2017
Tracxn
 
Mercadão Social · Equipe Brasil
Mercadão Social · Equipe BrasilMercadão Social · Equipe Brasil
Mercadão Social · Equipe Brasil
Mercadão Social
 
The Importance of Transparency in the Trust Ecomomy
The Importance of Transparency in the Trust EcomomyThe Importance of Transparency in the Trust Ecomomy
The Importance of Transparency in the Trust Ecomomy
Agility PR Solutions
 
Sociología de la Tecnología
Sociología de la TecnologíaSociología de la Tecnología
Sociología de la Tecnología
Gabriel Pérez
 
La telefonía móvil y su salud
La telefonía móvil y su saludLa telefonía móvil y su salud
La telefonía móvil y su salud
Iván González Muloz
 
Practica innovadora Rosa Ligia chapal
Practica innovadora Rosa Ligia chapalPractica innovadora Rosa Ligia chapal
Practica innovadora Rosa Ligia chapal
Edwin Riascos
 
Συνάντηση με τον Θεό της Βίβλου
Συνάντηση με τον Θεό της ΒίβλουΣυνάντηση με τον Θεό της Βίβλου
Συνάντηση με τον Θεό της Βίβλου
s konstant
 
MongoDB NoSQL database a deep dive -MyWhitePaper
MongoDB  NoSQL database a deep dive -MyWhitePaperMongoDB  NoSQL database a deep dive -MyWhitePaper
MongoDB NoSQL database a deep dive -MyWhitePaper
Rajesh Kumar
 
Salesforce Marketing Cloud Training | Salesforce Training For Beginners - Mar...
Salesforce Marketing Cloud Training | Salesforce Training For Beginners - Mar...Salesforce Marketing Cloud Training | Salesforce Training For Beginners - Mar...
Salesforce Marketing Cloud Training | Salesforce Training For Beginners - Mar...
Edureka!
 
Tracxn Research - Mobile Advertising Landscape, February 2017
Tracxn Research - Mobile Advertising Landscape, February 2017Tracxn Research - Mobile Advertising Landscape, February 2017
Tracxn Research - Mobile Advertising Landscape, February 2017
Tracxn
 
3Com 70-0399-000
3Com 70-0399-0003Com 70-0399-000
3Com 70-0399-000
savomir
 
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Lucas Jellema
 
Tracxn Research - Insurance Tech Landscape, February 2017
Tracxn Research - Insurance Tech Landscape, February 2017Tracxn Research - Insurance Tech Landscape, February 2017
Tracxn Research - Insurance Tech Landscape, February 2017
Tracxn
 
2015 Internet Trends Report
2015 Internet Trends Report2015 Internet Trends Report
2015 Internet Trends Report
IQbal KHan
 

Viewers also liked (20)

Automating Disaster Recovery PostgreSQL
Automating Disaster Recovery PostgreSQLAutomating Disaster Recovery PostgreSQL
Automating Disaster Recovery PostgreSQL
 
Ensayo Higiene Maribel Arias
Ensayo Higiene Maribel AriasEnsayo Higiene Maribel Arias
Ensayo Higiene Maribel Arias
 
Dossier inscription district lycee 2017
Dossier inscription district lycee 2017Dossier inscription district lycee 2017
Dossier inscription district lycee 2017
 
Developing Your Business Through Internal Controls
Developing Your Business Through Internal ControlsDeveloping Your Business Through Internal Controls
Developing Your Business Through Internal Controls
 
Corpo humano
Corpo humanoCorpo humano
Corpo humano
 
Practica innovadora rosario cañar y nancy garcia
Practica innovadora rosario cañar y nancy garciaPractica innovadora rosario cañar y nancy garcia
Practica innovadora rosario cañar y nancy garcia
 
Tracxn Research - Finance & Accounting Landscape, February 2017
Tracxn Research - Finance & Accounting Landscape, February 2017Tracxn Research - Finance & Accounting Landscape, February 2017
Tracxn Research - Finance & Accounting Landscape, February 2017
 
Mercadão Social · Equipe Brasil
Mercadão Social · Equipe BrasilMercadão Social · Equipe Brasil
Mercadão Social · Equipe Brasil
 
The Importance of Transparency in the Trust Ecomomy
The Importance of Transparency in the Trust EcomomyThe Importance of Transparency in the Trust Ecomomy
The Importance of Transparency in the Trust Ecomomy
 
Sociología de la Tecnología
Sociología de la TecnologíaSociología de la Tecnología
Sociología de la Tecnología
 
La telefonía móvil y su salud
La telefonía móvil y su saludLa telefonía móvil y su salud
La telefonía móvil y su salud
 
Practica innovadora Rosa Ligia chapal
Practica innovadora Rosa Ligia chapalPractica innovadora Rosa Ligia chapal
Practica innovadora Rosa Ligia chapal
 
Συνάντηση με τον Θεό της Βίβλου
Συνάντηση με τον Θεό της ΒίβλουΣυνάντηση με τον Θεό της Βίβλου
Συνάντηση με τον Θεό της Βίβλου
 
MongoDB NoSQL database a deep dive -MyWhitePaper
MongoDB  NoSQL database a deep dive -MyWhitePaperMongoDB  NoSQL database a deep dive -MyWhitePaper
MongoDB NoSQL database a deep dive -MyWhitePaper
 
Salesforce Marketing Cloud Training | Salesforce Training For Beginners - Mar...
Salesforce Marketing Cloud Training | Salesforce Training For Beginners - Mar...Salesforce Marketing Cloud Training | Salesforce Training For Beginners - Mar...
Salesforce Marketing Cloud Training | Salesforce Training For Beginners - Mar...
 
Tracxn Research - Mobile Advertising Landscape, February 2017
Tracxn Research - Mobile Advertising Landscape, February 2017Tracxn Research - Mobile Advertising Landscape, February 2017
Tracxn Research - Mobile Advertising Landscape, February 2017
 
3Com 70-0399-000
3Com 70-0399-0003Com 70-0399-000
3Com 70-0399-000
 
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
 
Tracxn Research - Insurance Tech Landscape, February 2017
Tracxn Research - Insurance Tech Landscape, February 2017Tracxn Research - Insurance Tech Landscape, February 2017
Tracxn Research - Insurance Tech Landscape, February 2017
 
2015 Internet Trends Report
2015 Internet Trends Report2015 Internet Trends Report
2015 Internet Trends Report
 

Similar to Backups

Backing up Wikipedia Databases
Backing up Wikipedia DatabasesBacking up Wikipedia Databases
Backing up Wikipedia Databases
Jaime Crespo
 
Nagios Conference 2014 - Andy Brist - Nagios XI Failover and HA Solutions
Nagios Conference 2014 - Andy Brist - Nagios XI Failover and HA SolutionsNagios Conference 2014 - Andy Brist - Nagios XI Failover and HA Solutions
Nagios Conference 2014 - Andy Brist - Nagios XI Failover and HA Solutions
Nagios
 
OpenStack DRaaS - Freezer - 101
OpenStack DRaaS - Freezer - 101OpenStack DRaaS - Freezer - 101
OpenStack DRaaS - Freezer - 101
Trinath Somanchi
 
Lock, Stock and Backup: Data Guaranteed
Lock, Stock and Backup: Data GuaranteedLock, Stock and Backup: Data Guaranteed
Lock, Stock and Backup: Data Guaranteed
Jervin Real
 
Oracle to Postgres Migration - part 2
Oracle to Postgres Migration - part 2Oracle to Postgres Migration - part 2
Oracle to Postgres Migration - part 2
PgTraining
 
A Backup Today Saves Tomorrow
A Backup Today Saves TomorrowA Backup Today Saves Tomorrow
A Backup Today Saves Tomorrow
Andrew Moore
 
Percona Live 2022 - PBM - The Backup Open Source Tool for MongoDB
Percona Live 2022 - PBM - The Backup Open Source Tool for MongoDBPercona Live 2022 - PBM - The Backup Open Source Tool for MongoDB
Percona Live 2022 - PBM - The Backup Open Source Tool for MongoDB
Jean Da Silva
 
10 ways to improve your rman script
10 ways to improve your rman script10 ways to improve your rman script
10 ways to improve your rman script
Maris Elsins
 
Training Slides: 203 - Backup & Recovery
Training Slides: 203 - Backup & RecoveryTraining Slides: 203 - Backup & Recovery
Training Slides: 203 - Backup & Recovery
Continuent
 
IOUG Collaborate 18 - Data Guard for Beginners
IOUG Collaborate 18 - Data Guard for BeginnersIOUG Collaborate 18 - Data Guard for Beginners
IOUG Collaborate 18 - Data Guard for Beginners
Pini Dibask
 
Oracle Data Guard for Beginners
Oracle Data Guard for BeginnersOracle Data Guard for Beginners
Oracle Data Guard for Beginners
Pini Dibask
 
Building tungsten-clusters-with-postgre sql-hot-standby-and-streaming-replica...
Building tungsten-clusters-with-postgre sql-hot-standby-and-streaming-replica...Building tungsten-clusters-with-postgre sql-hot-standby-and-streaming-replica...
Building tungsten-clusters-with-postgre sql-hot-standby-and-streaming-replica...
Command Prompt., Inc
 
Oracle data guard for beginners
Oracle data guard for beginnersOracle data guard for beginners
Oracle data guard for beginners
Pini Dibask
 
systemd @ Facebook -- a year later
systemd @ Facebook -- a year latersystemd @ Facebook -- a year later
systemd @ Facebook -- a year later
Davide Cavalca
 
Relax-and-Recover Automated Testing
Relax-and-Recover Automated TestingRelax-and-Recover Automated Testing
Relax-and-Recover Automated Testing
Gratien D'haese
 
Webinar slides: Backup Management for MySQL, MariaDB, PostgreSQL & MongoDB wi...
Webinar slides: Backup Management for MySQL, MariaDB, PostgreSQL & MongoDB wi...Webinar slides: Backup Management for MySQL, MariaDB, PostgreSQL & MongoDB wi...
Webinar slides: Backup Management for MySQL, MariaDB, PostgreSQL & MongoDB wi...
Severalnines
 
Deploying PostgreSQL on Kubernetes
Deploying PostgreSQL on KubernetesDeploying PostgreSQL on Kubernetes
Deploying PostgreSQL on Kubernetes
Jimmy Angelakos
 
OSBConf 2016: The Database Backup is done - what next? - by Jörg Brühe
OSBConf 2016: The Database Backup is done - what next? - by Jörg BrüheOSBConf 2016: The Database Backup is done - what next? - by Jörg Brühe
OSBConf 2016: The Database Backup is done - what next? - by Jörg Brühe
NETWAYS
 
Demystifying postgres logical replication percona live sc
Demystifying postgres logical replication percona live scDemystifying postgres logical replication percona live sc
Demystifying postgres logical replication percona live sc
Emanuel Calvo
 

Similar to Backups (20)

Backing up Wikipedia Databases
Backing up Wikipedia DatabasesBacking up Wikipedia Databases
Backing up Wikipedia Databases
 
Nagios Conference 2014 - Andy Brist - Nagios XI Failover and HA Solutions
Nagios Conference 2014 - Andy Brist - Nagios XI Failover and HA SolutionsNagios Conference 2014 - Andy Brist - Nagios XI Failover and HA Solutions
Nagios Conference 2014 - Andy Brist - Nagios XI Failover and HA Solutions
 
OpenStack DRaaS - Freezer - 101
OpenStack DRaaS - Freezer - 101OpenStack DRaaS - Freezer - 101
OpenStack DRaaS - Freezer - 101
 
Lock, Stock and Backup: Data Guaranteed
Lock, Stock and Backup: Data GuaranteedLock, Stock and Backup: Data Guaranteed
Lock, Stock and Backup: Data Guaranteed
 
Oracle to Postgres Migration - part 2
Oracle to Postgres Migration - part 2Oracle to Postgres Migration - part 2
Oracle to Postgres Migration - part 2
 
A Backup Today Saves Tomorrow
A Backup Today Saves TomorrowA Backup Today Saves Tomorrow
A Backup Today Saves Tomorrow
 
Percona Live 2022 - PBM - The Backup Open Source Tool for MongoDB
Percona Live 2022 - PBM - The Backup Open Source Tool for MongoDBPercona Live 2022 - PBM - The Backup Open Source Tool for MongoDB
Percona Live 2022 - PBM - The Backup Open Source Tool for MongoDB
 
10 ways to improve your rman script
10 ways to improve your rman script10 ways to improve your rman script
10 ways to improve your rman script
 
Training Slides: 203 - Backup & Recovery
Training Slides: 203 - Backup & RecoveryTraining Slides: 203 - Backup & Recovery
Training Slides: 203 - Backup & Recovery
 
The Accidental DBA
The Accidental DBAThe Accidental DBA
The Accidental DBA
 
IOUG Collaborate 18 - Data Guard for Beginners
IOUG Collaborate 18 - Data Guard for BeginnersIOUG Collaborate 18 - Data Guard for Beginners
IOUG Collaborate 18 - Data Guard for Beginners
 
Oracle Data Guard for Beginners
Oracle Data Guard for BeginnersOracle Data Guard for Beginners
Oracle Data Guard for Beginners
 
Building tungsten-clusters-with-postgre sql-hot-standby-and-streaming-replica...
Building tungsten-clusters-with-postgre sql-hot-standby-and-streaming-replica...Building tungsten-clusters-with-postgre sql-hot-standby-and-streaming-replica...
Building tungsten-clusters-with-postgre sql-hot-standby-and-streaming-replica...
 
Oracle data guard for beginners
Oracle data guard for beginnersOracle data guard for beginners
Oracle data guard for beginners
 
systemd @ Facebook -- a year later
systemd @ Facebook -- a year latersystemd @ Facebook -- a year later
systemd @ Facebook -- a year later
 
Relax-and-Recover Automated Testing
Relax-and-Recover Automated TestingRelax-and-Recover Automated Testing
Relax-and-Recover Automated Testing
 
Webinar slides: Backup Management for MySQL, MariaDB, PostgreSQL & MongoDB wi...
Webinar slides: Backup Management for MySQL, MariaDB, PostgreSQL & MongoDB wi...Webinar slides: Backup Management for MySQL, MariaDB, PostgreSQL & MongoDB wi...
Webinar slides: Backup Management for MySQL, MariaDB, PostgreSQL & MongoDB wi...
 
Deploying PostgreSQL on Kubernetes
Deploying PostgreSQL on KubernetesDeploying PostgreSQL on Kubernetes
Deploying PostgreSQL on Kubernetes
 
OSBConf 2016: The Database Backup is done - what next? - by Jörg Brühe
OSBConf 2016: The Database Backup is done - what next? - by Jörg BrüheOSBConf 2016: The Database Backup is done - what next? - by Jörg Brühe
OSBConf 2016: The Database Backup is done - what next? - by Jörg Brühe
 
Demystifying postgres logical replication percona live sc
Demystifying postgres logical replication percona live scDemystifying postgres logical replication percona live sc
Demystifying postgres logical replication percona live sc
 

Recently uploaded

Machine learning and optimization techniques for electrical drives.pptx
Machine learning and optimization techniques for electrical drives.pptxMachine learning and optimization techniques for electrical drives.pptx
Machine learning and optimization techniques for electrical drives.pptx
balafet
 
standardisation of garbhpala offhgfffghh
standardisation of garbhpala offhgfffghhstandardisation of garbhpala offhgfffghh
standardisation of garbhpala offhgfffghh
ArpitMalhotra16
 
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Subhajit Sahu
 
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Subhajit Sahu
 
【社内勉強会資料_Octo: An Open-Source Generalist Robot Policy】
【社内勉強会資料_Octo: An Open-Source Generalist Robot Policy】【社内勉強会資料_Octo: An Open-Source Generalist Robot Policy】
【社内勉強会資料_Octo: An Open-Source Generalist Robot Policy】
NABLAS株式会社
 
一比一原版(BU毕业证)波士顿大学毕业证成绩单
一比一原版(BU毕业证)波士顿大学毕业证成绩单一比一原版(BU毕业证)波士顿大学毕业证成绩单
一比一原版(BU毕业证)波士顿大学毕业证成绩单
ewymefz
 
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
axoqas
 
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
Tiktokethiodaily
 
Criminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdfCriminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdf
Criminal IP
 
FP Growth Algorithm and its Applications
FP Growth Algorithm and its ApplicationsFP Growth Algorithm and its Applications
FP Growth Algorithm and its Applications
MaleehaSheikh2
 
Q1’2024 Update: MYCI’s Leap Year Rebound
Q1’2024 Update: MYCI’s Leap Year ReboundQ1’2024 Update: MYCI’s Leap Year Rebound
Q1’2024 Update: MYCI’s Leap Year Rebound
Oppotus
 
SOCRadar Germany 2024 Threat Landscape Report
SOCRadar Germany 2024 Threat Landscape ReportSOCRadar Germany 2024 Threat Landscape Report
SOCRadar Germany 2024 Threat Landscape Report
SOCRadar
 
一比一原版(UPenn毕业证)宾夕法尼亚大学毕业证成绩单
一比一原版(UPenn毕业证)宾夕法尼亚大学毕业证成绩单一比一原版(UPenn毕业证)宾夕法尼亚大学毕业证成绩单
一比一原版(UPenn毕业证)宾夕法尼亚大学毕业证成绩单
ewymefz
 
一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单
一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单
一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单
nscud
 
Empowering Data Analytics Ecosystem.pptx
Empowering Data Analytics Ecosystem.pptxEmpowering Data Analytics Ecosystem.pptx
Empowering Data Analytics Ecosystem.pptx
benishzehra469
 
Adjusting primitives for graph : SHORT REPORT / NOTES
Adjusting primitives for graph : SHORT REPORT / NOTESAdjusting primitives for graph : SHORT REPORT / NOTES
Adjusting primitives for graph : SHORT REPORT / NOTES
Subhajit Sahu
 
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
yhkoc
 
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
slg6lamcq
 
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
mbawufebxi
 
Best best suvichar in gujarati english meaning of this sentence as Silk road ...
Best best suvichar in gujarati english meaning of this sentence as Silk road ...Best best suvichar in gujarati english meaning of this sentence as Silk road ...
Best best suvichar in gujarati english meaning of this sentence as Silk road ...
AbhimanyuSinha9
 

Recently uploaded (20)

Machine learning and optimization techniques for electrical drives.pptx
Machine learning and optimization techniques for electrical drives.pptxMachine learning and optimization techniques for electrical drives.pptx
Machine learning and optimization techniques for electrical drives.pptx
 
standardisation of garbhpala offhgfffghh
standardisation of garbhpala offhgfffghhstandardisation of garbhpala offhgfffghh
standardisation of garbhpala offhgfffghh
 
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
Algorithmic optimizations for Dynamic Levelwise PageRank (from STICD) : SHORT...
 
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
Levelwise PageRank with Loop-Based Dead End Handling Strategy : SHORT REPORT ...
 
【社内勉強会資料_Octo: An Open-Source Generalist Robot Policy】
【社内勉強会資料_Octo: An Open-Source Generalist Robot Policy】【社内勉強会資料_Octo: An Open-Source Generalist Robot Policy】
【社内勉強会資料_Octo: An Open-Source Generalist Robot Policy】
 
一比一原版(BU毕业证)波士顿大学毕业证成绩单
一比一原版(BU毕业证)波士顿大学毕业证成绩单一比一原版(BU毕业证)波士顿大学毕业证成绩单
一比一原版(BU毕业证)波士顿大学毕业证成绩单
 
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
哪里卖(usq毕业证书)南昆士兰大学毕业证研究生文凭证书托福证书原版一模一样
 
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
1.Seydhcuxhxyxhccuuxuxyxyxmisolids 2019.pptx
 
Criminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdfCriminal IP - Threat Hunting Webinar.pdf
Criminal IP - Threat Hunting Webinar.pdf
 
FP Growth Algorithm and its Applications
FP Growth Algorithm and its ApplicationsFP Growth Algorithm and its Applications
FP Growth Algorithm and its Applications
 
Q1’2024 Update: MYCI’s Leap Year Rebound
Q1’2024 Update: MYCI’s Leap Year ReboundQ1’2024 Update: MYCI’s Leap Year Rebound
Q1’2024 Update: MYCI’s Leap Year Rebound
 
SOCRadar Germany 2024 Threat Landscape Report
SOCRadar Germany 2024 Threat Landscape ReportSOCRadar Germany 2024 Threat Landscape Report
SOCRadar Germany 2024 Threat Landscape Report
 
一比一原版(UPenn毕业证)宾夕法尼亚大学毕业证成绩单
一比一原版(UPenn毕业证)宾夕法尼亚大学毕业证成绩单一比一原版(UPenn毕业证)宾夕法尼亚大学毕业证成绩单
一比一原版(UPenn毕业证)宾夕法尼亚大学毕业证成绩单
 
一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单
一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单
一比一原版(CBU毕业证)不列颠海角大学毕业证成绩单
 
Empowering Data Analytics Ecosystem.pptx
Empowering Data Analytics Ecosystem.pptxEmpowering Data Analytics Ecosystem.pptx
Empowering Data Analytics Ecosystem.pptx
 
Adjusting primitives for graph : SHORT REPORT / NOTES
Adjusting primitives for graph : SHORT REPORT / NOTESAdjusting primitives for graph : SHORT REPORT / NOTES
Adjusting primitives for graph : SHORT REPORT / NOTES
 
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
一比一原版(CU毕业证)卡尔顿大学毕业证成绩单
 
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
一比一原版(Adelaide毕业证书)阿德莱德大学毕业证如何办理
 
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
一比一原版(Bradford毕业证书)布拉德福德大学毕业证如何办理
 
Best best suvichar in gujarati english meaning of this sentence as Silk road ...
Best best suvichar in gujarati english meaning of this sentence as Silk road ...Best best suvichar in gujarati english meaning of this sentence as Silk road ...
Best best suvichar in gujarati english meaning of this sentence as Silk road ...
 

Backups

  • 1. / Think Your Postgres Backups And Disaster Recovery Are Safe? Let's talk. Payal Singh Database Administrator OmniTI 1
  • 2. Who am I ? DBA@OmniTI Github: payals Blog: http://penningpence.blogspot.com Twitter: @pallureshu Email: payal@omniti.com 2
  • 3. Agenda Types of backups Validation Backups management Automation Filesystem Third party tools In-house solution 3
  • 5. Business Continuity Objectives Recovery Point Objective (RPO) Recovery Time Objective (RTO) 5
  • 6. Types of Backups ● Logical ○ pg_dump ○ pg_dumpall ● Physical (File-system Level) ○ Online  Most commonly used  No downtime ○ Offline  rarely used  shutdown database for backup 6
  • 7. Logical Backups Advantages: Granularity Fine-tuned restores Multiple in-built compression types Ease of use, no extra setup required Disadvantages: Relatively slower Frozen snapshots in time, i.e. no PITR Locks Data spread in time 7
  • 8. pg_dumpall Pros: • Globals Cons: ● Requires superuser privileges ● No granularity while restoring ● Plaintext only ● Cannot take advantage of faster/parallel restore with pg_restore 8
  • 9. Physical Backups Advantages: Faster Incremental Backups Point In Time Recovery By default compression on certain file-systems Disadvantages: Lacks granularity 9
  • 10. Why do you need both? The more the merrier: Database wide restores - Filesystem restore is faster! Someone dropped a table? - Dump backups are faster! 10
  • 11. pg_basebackup Advantage: • In core postgres • No explicit backup mode required • Multiple instances can run concurrently • Backups can be made on master as well as standby Disadvantage: • Slower when compared to snapshot file-system technologies • Backups are always of the entire cluster 11
  • 12. pg_basebackup Requirements • A superuser or a user with REPLICATION permissions can be used • archive_command parameter should be set to true • max_wal_senders should be at least 1 12
  • 13. Delayed Replicas as Backups • In situations where accidental damage was done that was realized in a short period of time. • May still result in some data loss post recovery, but it depends on the importance of table, other objects dependent on it, etc. 13
  • 14. Version Controlled DDL • Committing daily changes to schema design, functions, triggers etc. into source control • Can go back to any state • pg_extractor (https://github.com/omniti-labs/pg_extractor) facilitates this by creating files for each database object, followed by integration with git, svn, etc. 14
  • 16. Continuous Restores Validation is important Estimates / Expectations Procedure / External factors Does it even work? Development Database Routine refresh + restore testing Reporting Databases: Overnight restores for reporting databases refreshed daily. Great candidate for daily validation. 16 RTO
  • 17. Sample Validation Log 2015-03-01 10:00:03 : Testing backup for 2015-02-28 from /data/backup/hot_backup/+/var/log/test/bin/test_backups.sql 2015-03-01 10:00:03 : Starting decompress of /data/backup/hot_backup/test.local-data-2015-02-28.tar.gz 2015-03-01 10:00:03 : Starting decompress of /data/backup/hot_backup/test.local-xlog-2015-02-28.tar.gz 2015-03-01 10:00:03 : Waiting for both decompressing processes to finish 2015-03-01 14:36:06 : Decompressing worked, generated directory test with size: 963G 2015-03-01 14:36:06 : Starting PostgreSQL server starting 2015-03-01 14:36:07.372 EST @ 3282 LOG: loaded library "pg_scoreboard.so" 2015-03-01 15:52:36 : PostgreSQL started 2015-03-01 15:52:36 : Validating Database starting Vacuum 2015-03-02 08:17:56 : Test result: OK 2015-03-02 08:18:11 : All OK. 17
  • 18. Where did Gitlab go wrong? 18 No PITR, no alerts for missing backups, no documentation for backup location, no restore testing “…backups…taken once per 24 hours…not yet been able to figure out where they are stored…don’t appear to be working...” No retention policy “Fog gem may have cleaned out older backups” No monitoring “Our backups to S3 apparently don’t work either: the bucket is empty” No RPO “…Unless we can pull these from the past 24 hours they will be lost”
  • 19. Sobering Thought of the Day 19 A chain is only as strong as the weakest link
  • 21. Retention Period Remove all older than x days VS Remove all but latest x backups Off-server (short term) VS Off-site retention period (long term) 21
  • 22. Security Transfer One way passwordless SSH access HTTPS for cloud uploads (e.g. s3cmd) Storage Encryption Access control PCI Compliance Private keys Logical backups preferred Multi-Tenancy Environment Backup Server  Client Client  Backup server 22
  • 23. Monitoring and Alerts Alert at runtime • To detect errors at runtime within script, or change in system/user environments • Immediate • Cron emails Alert on storage/retention: • Error in retention logic/implementation • Secondary/Delayed • Cron’d script, external monitoring Alert on backup validation: • On routine refreshes/restores 23
  • 24. S3 Backups Ideal for long term backups: • Cheap • Ample space • Transfer in parts, can pick up where you left off in case of errors • Speed depends on bandwidth Secure: • Buckets , Users, Policies Communication: • AWS cli / s3cmd • Access keys • PGP encryption 24
  • 25. S3 Backups Contd. Sample Bucket Policy: { "Version": "2012-10-17", "Id": "S3-Account-Permissions", "Statement": [ { "Sid": "1", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<account_number>:user/omniti_testing" }, "Action": "s3:*", "Resource": [ "arn:aws:s3:::omniti_testing", "arn:aws:s3:::omniti_testing/*" ] } ] } 25
  • 26. S3 Backups Contd. Sample User Policy: { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:*", "Resource": [ "arn:aws:s3:::omniti_testing", "arn:aws:s3:::omniti_testing/*" ] } ] } 26
  • 28. Why Automate? Reduced Chance of Human Error pg_dump backups filesystem level backups retention scripts backup monitoring and alerts off-site and off-server transfer as well as storage access channels security keys cronjobs… Less work, faster Move scripts, swap crontabs, ensure all accesses exist Uniformity, Reliability 28
  • 30. Automation Example In Chef payal@payal-ThinkPad-T520$ ls -l s3_backup/ drwxr-xr-x 2 payal payal 4096 Dec 2 11:03 attributes drwxr-xr-x 3 payal payal 4096 Dec 2 11:03 files -rw-r--r-- 1 payal payal 1351 Dec 2 11:03 README.md drwxr-xr-x 2 payal payal 4096 Dec 2 11:03 recipes drwxr-xr-x 3 payal payal 4096 Dec 2 11:03 templates payal@payal-ThinkPad-T520 $ ls -l s3_backup/templates/default/ -rwxr-xr-x 1 payal payal 3950 Dec 2 11:03 backup.sh.erb -rw-r--r-- 1 payal payal 1001 Jan 12 12:40 check_offsite_backups.sh.erb -rw-r--r-- 1 payal payal 37 Dec 2 11:03 pg_dump_backup.conf.erb -rw-r--r-- 1 payal payal 19 Dec 2 11:03 pg_dump.conf.erb -rw-r--r-- 1 payal payal 6319 Dec 2 11:03 pg_dump_upload.py.erb -rw-r--r-- 1 payal payal 1442 Dec 2 11:03 pg_start_backup.sh.erb -rw-r--r-- 1 payal payal 1631 Dec 2 11:03 s3cfg.erb 30
  • 31. Automation Example in Ansible 31 - name: "Use pg_dump for logical backup" shell: "pg_dump -U postgres -Fc -f {{ db_name }}_{{ today }}.bak {{ db_name }} > backup.log 2>&1" args: chdir: "{{ backup_dir }}" when: not only_upload_backup - name: "upload backup file" s3: region="ap-southeast-1" bucket=“sample" object="/DB_bucket/{{ db_name }}_{{ today }}.bak" src="{{ backup_dir }}/{{ db_name }}_{{ today }}.bak" mode=put https://github.com/payals/postgresql_automation/tree/master/backups
  • 33. Can Filesystems enhance DR? 33 ZFS • Available on Solaris, Illumos. ZFS on Linux is new but improving! • Built in compression • Protections against data corruption • Snapshots • Copy-on-Write
  • 34. How can ZFS help you with DR? 34 Scenario 1: You’re using pg_upgrade for a major upgrade with hard link option (-k). It fails in between. Since you used hardlinks, you cannot turn on the older cluster. What do you do? ZFS Rollback – instantaneously rollback a dataset to a previous state from a snapshot sudo zfs rollback <snapshot_name>
  • 35. How can ZFS help you with DR? 35 Scenario 2: You’ve accidentally deleted a large table in a very large database where taking full backups are infeasible. Is there a faster alternative to a filesystem restore? ZFS rollback will overwrite pgdata so you cannot use that. ZFS Clone – Copy-on-Write. Instantaneously clone a dataset from snapshot without any additional space consumptions as long as you don’t write to it. sudo zfs clone <snapshot_name> <mountpoint>
  • 37. OmniPITR 37 PITR backups and archives Backups off of master or standby Built in backup integrity checks Quick setup, Minimal requirements Comprehensive logging Built in retention Ideal for infrastructures of all sizes
  • 38. Barman 38 PITR backups and restores Automatic retention, continuous recovery Requires its own server More suitable for larger infrastructures to manage multiple clusters and multiple locations Simplicity Minimal knowledge of PITR inner workings required Wrappers for recovery process Supports backups from both primary and standby
  • 39. wal-e 39 PITR backups and restores Automatic retention, continuous recovery Minimal setup Cloud integration: AWS, Azure, Google, Swift
  • 41. Logical def take_dump(): try: with open(config_file, 'r') as f: for db in f: if db.strip(): db = db.replace("n", "") dump_command = pg_dump_path + " -U postgres -v -Fc -f " + dump_file_path + db.split()[-1] + "_" + start_time + ".sql" + " " + db + " 2>> " + dump_file_path + db.split()[-1] + "_" + start_time + ".log" os.system(dump_command) print('backup of ' + db.split()[-1] + ' completed successfully') except: print('ERROR: bash command did not execute properly') 41
  • 42. Physical pg_basebackup: Pg_basebackup –D pgdata –F format --xlogdir –Xs –c fast -p … ZFS snapshots: ZFS restore from snapshot ZFS rollback to snapshot after failed upgrade or maintenance task … read_params "$@“ if [[ -z ${OFFLINE} ]] then postgres_start_backup zfs_snap postgres_stop_backup else zfs_snap fi backup zfs_clear_snaps 42
  • 44. Redundancy is Good “That Sunday, Thomas deleted remotely stored backups and turned off the automated backup system. He made some changes to VPN authentication that basically locked everybody out, and turned off the automatic restart. He deleted internal IT wiki pages, removed users from a mailing list, deactivated the company's pager notification system, and a number of other things that basically created a huge mess that the company spent the whole of Monday sorting out (it turned out there were local copies of the deleted backups).” https://www.theregister.co.uk/2017/02/23/michael_thomas_appeals_conviction/ 44
  • 45. S3 Backups Monitoring Sample: # Get timestamp of latest file in S3 bucket latest_backup=$(s3cmd ls s3://omniti_client/ | awk {'print $1'} | sort -n | tail -1) today=$(date --date=today "+%Y-%m-%d") yesterday=$(date --date=yesterday "+%Y-%m-%d") # If latest backup is older than yesterday, email dba if [ $yesterday -ne $latest_backup -a $today -ne $latest_backup ] then echo "Offsite Backups Missing for client" | mailx -s "Offsite Backup Missing for Client " dba@omniti.com 45
  • 46. Backup Documentation • Detailed backup information - types, locations, retention periods • Procedures to setup new machines • Analysis and estimation time for recovery • Ways to recover 46