XtraBackup: Hot Backups
and More
Vadim Tkachenko
Morgan Tocker
http://percona.com
http://MySQLPerformanceBlog.com
MySQL CE...
Introduction
• Vadim Tkachenko
– Percona Inc, CTO and Lead of Development
• Morgan Tocker
– Percona Inc, Director of Train...
Comparing Backup Options
Engine
s
Warmth Flex
Backup
Flex
Restore
Backup
time
Restore
time
Binlog
coord
Impact
mysqldump I...
What is talk about
• XtraBackup
• Internals
• Basic and advance usage
XtraBackup: Hot Backups and More
-4-
Idea
• Copy XtraDB / InnoDB tables without stopping server ( and
locking tables)
• Challenge: Tables are being changed in ...
Solution
• Copy tables and log changes
– InnoDB transactional redo logs are doing the same
– XtraBackup is mini instance o...
Basic design
• Copy tables, log changes into xtrabackup_logfile
• Prepare – apply log to copied tables
XtraBackup: Hot Bac...
XtraBackup
• Non-blocking online backup of XtraDB / InnoDB /
InnoDB–plugin tables
• Blocking for MyISAM
XtraBackup: Hot Ba...
Tools
• Binaries
– xtrabackup
• Copy .ibd & xtrabackup_logfile
– tar4ibd
• Script
– innobackupex-1.5.1
• Taken from InnoDB...
Basic usage
• innobackupex-1.5.1 /destination/dir
• innobackupex-1.5.1 --apply-log /backup/dir
– --use-memory (1GB default...
Stream
• innobackupex-1.5.1 --stream=tar ./ > backup.tar
• Tar compatible stream ( -i required to extract)
– Tar was repla...
Slave
• To setup slave from master
– No specific actions needed
• File xtrabackup_binlog_info
mysql-bin.000020 70206554
• ...
Incremental/Differential
• We are able to copy only changes from last backup
– xtrabackup --backup --target-dir=/data/back...
Export/import
• Export only table to another server
– xtrabackup --table=tpcc.order_line --backup --target-
dir=/data/vadi...
Statistics
• Show details on tablespaces / indexes
table: tpcc/order_line, index: PRIMARY, space id: 25, root page: 3, zip...
Thank you!
• Questions?
• vadim@percona.com
• morgan@percona.com
XtraBackup: Hot Backups and More
-16-
Upcoming SlideShare
Loading in …5
×

Uc2010 xtra backup-hot-backups-and-more

1,657 views
1,558 views

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,657
On SlideShare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
29
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Uc2010 xtra backup-hot-backups-and-more

  1. 1. XtraBackup: Hot Backups and More Vadim Tkachenko Morgan Tocker http://percona.com http://MySQLPerformanceBlog.com MySQL CE Apr 2010
  2. 2. Introduction • Vadim Tkachenko – Percona Inc, CTO and Lead of Development • Morgan Tocker – Percona Inc, Director of Training XtraBackup: Hot Backups and More -2-
  3. 3. Comparing Backup Options Engine s Warmth Flex Backup Flex Restore Backup time Restore time Binlog coord Impact mysqldump InnoDB/X traDB HOT ROW MOST MED WORST YES MEDIUM mysqldump ALL WARM ROW MOST MED WORST YES MEDIUM Snapshot ALL MOSTLY HOT SYSTEM SYSTEM SLOW- MED BEST YES HEAVY XtraBackup InnoDB/X traDB HOT TABLE TABLE FAST BEST YES LOW InnoDB Hot Backup InnoDB HOT TABLE TABLE FAST BEST YES LOW XtraBackup / InnoDB Hot Backup ALL WARM TABLE TABLE FAST BEST YES MEDIUM/ LARGE MySQLHotC opy MyISAM WARM TABLE TABLE FAST BEST YES LOW Cold Backup ALL COLD SYSTEM SYSTEM BEST BEST YES VERY HEAVY XtraBackup: Hot Backups and More -3-
  4. 4. What is talk about • XtraBackup • Internals • Basic and advance usage XtraBackup: Hot Backups and More -4-
  5. 5. Idea • Copy XtraDB / InnoDB tables without stopping server ( and locking tables) • Challenge: Tables are being changed in background • Alternative solutions – ZFS snapshot ( Solaris / FreeBSD) – LVM, good if performance is not concern • 160 ios -> 25 ios • ~20% space reservation – InnoDB Hot Backup / Oracle Online Backup • Commercial, per-server, last release 2006 ? • Can be expensive for X,000 servers XtraBackup: Hot Backups and More -5-
  6. 6. Solution • Copy tables and log changes – InnoDB transactional redo logs are doing the same – XtraBackup is mini instance of XtraDB / InnoDB – Idea taken from InnoDB Hot Backup XtraBackup: Hot Backups and More -6-
  7. 7. Basic design • Copy tables, log changes into xtrabackup_logfile • Prepare – apply log to copied tables XtraBackup: Hot Backups and More -7- copy xtrabackup_logfile tables New location changes
  8. 8. XtraBackup • Non-blocking online backup of XtraDB / InnoDB / InnoDB–plugin tables • Blocking for MyISAM XtraBackup: Hot Backups and More -8-
  9. 9. Tools • Binaries – xtrabackup • Copy .ibd & xtrabackup_logfile – tar4ibd • Script – innobackupex-1.5.1 • Taken from InnoDB Hot Backup (GPL) , heavily modified • Copy .frm, myisam, locking etc XtraBackup: Hot Backups and More -9-
  10. 10. Basic usage • innobackupex-1.5.1 /destination/dir • innobackupex-1.5.1 --apply-log /backup/dir – --use-memory (1GB defaults) • innobackupex-1.5.1 --throttle=IOS /destination/dir XtraBackup: Hot Backups and More -10-
  11. 11. Stream • innobackupex-1.5.1 --stream=tar ./ > backup.tar • Tar compatible stream ( -i required to extract) – Tar was replaced by libtar and tar4ibd • Compress – innobackupex-1.5.1 --stream=tar ./ | gzip - > backup.tar.gz • Copy to remote host – innobackupex-1.5.1 --stream=tar ./ | ssh vadim@desthost "cat - > /data/vol1/mysqluc/backup.tar“ • The same but with throttling – innobackupex --stream=tar | pv -q -L10m | ssh vadim@desthost "tar xfi -" XtraBackup: Hot Backups and More -11-
  12. 12. Slave • To setup slave from master – No specific actions needed • File xtrabackup_binlog_info mysql-bin.000020 70206554 • To backup from slave – innobackupex-1.5.1 --slave-info /destination/dir • LOCK caveats – FLUSH TABLES WITH READ LOCK to get master/slave info and to copy MYISAM tables – 100GB of MyISAM tables will cause a problem XtraBackup: Hot Backups and More -12-
  13. 13. Incremental/Differential • We are able to copy only changes from last backup – xtrabackup --backup --target-dir=/data/backups/incremental --incremental- basedir=/data/backups/2010-04-11_17-55-54 • From output: – … xtrabackup: The latest check point (for incremental): '2438774348‘ … • xtrabackup --prepare --target-dir=/data/vadim/mysqluc/2010-04-11_20-45-42 --incremental- dir=/data/vadim/mysqluc/incremental XtraBackup: Hot Backups and More -13- Copy only changes since LSN xtrabackup_logfile tables New location changes
  14. 14. Export/import • Export only table to another server – xtrabackup --table=tpcc.order_line --backup --target- dir=/data/vadim/mysqluc/order_line/ • Prepare – xtrabackup --prepare --export --target- dir=/data/vadim/mysqluc/order_line/ • Copy to remote host (it has to be XtraDB) – alter table order_line discard tablespace; – set global innodb_expand_import=1; – alter table order_line import tablespace; XtraBackup: Hot Backups and More -14-
  15. 15. Statistics • Show details on tablespaces / indexes table: tpcc/order_line, index: PRIMARY, space id: 25, root page: 3, zip size: 0 estimated statistics in dictionary: key vals: 32471816, leaf pages: 264267, size pages: 302592 real statistics: level 2 pages: pages=1, data=8406 bytes, data/pages=51% level 1 pages: pages=467, data=4756806 bytes, data/pages=62% leaf pages: recs=35116662, pages=264267, data=2410713870 bytes, data/pages=55% XtraBackup: Hot Backups and More -15-
  16. 16. Thank you! • Questions? • vadim@percona.com • morgan@percona.com XtraBackup: Hot Backups and More -16-

×