Challenges Implementing a Generic Backup-Restore API for Linux · Challenges Implementing a Generic...
Transcript of Challenges Implementing a Generic Backup-Restore API for Linux · Challenges Implementing a Generic...
![Page 1: Challenges Implementing a Generic Backup-Restore API for Linux · Challenges Implementing a Generic Backup-Restore API for Linux The Backup Bus Or “Why not a library or just sysfs?”](https://reader033.fdocuments.net/reader033/viewer/2022051903/5ff4b97a191e5e3529636a1e/html5/thumbnails/1.jpg)
![Page 2: Challenges Implementing a Generic Backup-Restore API for Linux · Challenges Implementing a Generic Backup-Restore API for Linux The Backup Bus Or “Why not a library or just sysfs?”](https://reader033.fdocuments.net/reader033/viewer/2022051903/5ff4b97a191e5e3529636a1e/html5/thumbnails/2.jpg)
Vault, Boston, March 20152015-03-12 13:45 UTC
Matthias G. EckermannSenior Product Manager
Challenges Implementing a Generic Backup-Restore APIfor Linux
![Page 3: Challenges Implementing a Generic Backup-Restore API for Linux · Challenges Implementing a Generic Backup-Restore API for Linux The Backup Bus Or “Why not a library or just sysfs?”](https://reader033.fdocuments.net/reader033/viewer/2022051903/5ff4b97a191e5e3529636a1e/html5/thumbnails/3.jpg)
3
Picture: "Escribano" by Jean Le Tavernier – [1].Licensed under Public Domain via Wikimedia Commons - http://commons.wikimedia.org/wiki/File:Escribano.jpg#/media/File:Escribano.jpg
![Page 4: Challenges Implementing a Generic Backup-Restore API for Linux · Challenges Implementing a Generic Backup-Restore API for Linux The Backup Bus Or “Why not a library or just sysfs?”](https://reader033.fdocuments.net/reader033/viewer/2022051903/5ff4b97a191e5e3529636a1e/html5/thumbnails/4.jpg)
4
Agenda
Traditional Backup/Restore approachesChallenges of the traditional approachUnused capabilities in LinuxMissing Features in LinuxRequirements to a Generic Backup-Restore APIProposal
![Page 5: Challenges Implementing a Generic Backup-Restore API for Linux · Challenges Implementing a Generic Backup-Restore API for Linux The Backup Bus Or “Why not a library or just sysfs?”](https://reader033.fdocuments.net/reader033/viewer/2022051903/5ff4b97a191e5e3529636a1e/html5/thumbnails/5.jpg)
Traditional Backup/Restore approaches
![Page 6: Challenges Implementing a Generic Backup-Restore API for Linux · Challenges Implementing a Generic Backup-Restore API for Linux The Backup Bus Or “Why not a library or just sysfs?”](https://reader033.fdocuments.net/reader033/viewer/2022051903/5ff4b97a191e5e3529636a1e/html5/thumbnails/6.jpg)
6
Challenges Implementing a Generic Backup-Restore API for Linux
“Traditional” Approaches
• Physical Layer• Block Level
‒ incl. Device Mapper
• Filesystem• Application
![Page 7: Challenges Implementing a Generic Backup-Restore API for Linux · Challenges Implementing a Generic Backup-Restore API for Linux The Backup Bus Or “Why not a library or just sysfs?”](https://reader033.fdocuments.net/reader033/viewer/2022051903/5ff4b97a191e5e3529636a1e/html5/thumbnails/7.jpg)
Challenges of the traditional approach
![Page 8: Challenges Implementing a Generic Backup-Restore API for Linux · Challenges Implementing a Generic Backup-Restore API for Linux The Backup Bus Or “Why not a library or just sysfs?”](https://reader033.fdocuments.net/reader033/viewer/2022051903/5ff4b97a191e5e3529636a1e/html5/thumbnails/8.jpg)
8
Challenges Implementing a Generic Backup-Restore API for Linux
Challenges
• Re-Invention of the wheel• Missing efficiency• Slow adaption to new development• Unexpected behaviour
![Page 9: Challenges Implementing a Generic Backup-Restore API for Linux · Challenges Implementing a Generic Backup-Restore API for Linux The Backup Bus Or “Why not a library or just sysfs?”](https://reader033.fdocuments.net/reader033/viewer/2022051903/5ff4b97a191e5e3529636a1e/html5/thumbnails/9.jpg)
Unused capabilities in Linux
![Page 10: Challenges Implementing a Generic Backup-Restore API for Linux · Challenges Implementing a Generic Backup-Restore API for Linux The Backup Bus Or “Why not a library or just sysfs?”](https://reader033.fdocuments.net/reader033/viewer/2022051903/5ff4b97a191e5e3529636a1e/html5/thumbnails/10.jpg)
10
Challenges Implementing a Generic Backup-Restore API for Linux
xfs
• Backup / Restore‒ xfsdump/xfsrestore/xfsinvutil
• xfs_freeze• Clone (with/without new UUID)
‒ xfs_copy‒ xfs_freeze
![Page 11: Challenges Implementing a Generic Backup-Restore API for Linux · Challenges Implementing a Generic Backup-Restore API for Linux The Backup Bus Or “Why not a library or just sysfs?”](https://reader033.fdocuments.net/reader033/viewer/2022051903/5ff4b97a191e5e3529636a1e/html5/thumbnails/11.jpg)
11
Challenges Implementing a Generic Backup-Restore API for Linux
ocfs2
• RefLinks (CoW)
![Page 12: Challenges Implementing a Generic Backup-Restore API for Linux · Challenges Implementing a Generic Backup-Restore API for Linux The Backup Bus Or “Why not a library or just sysfs?”](https://reader033.fdocuments.net/reader033/viewer/2022051903/5ff4b97a191e5e3529636a1e/html5/thumbnails/12.jpg)
12
Challenges Implementing a Generic Backup-Restore API for Linux
device mapper
• Snapshots• Deduplication
![Page 13: Challenges Implementing a Generic Backup-Restore API for Linux · Challenges Implementing a Generic Backup-Restore API for Linux The Backup Bus Or “Why not a library or just sysfs?”](https://reader033.fdocuments.net/reader033/viewer/2022051903/5ff4b97a191e5e3529636a1e/html5/thumbnails/13.jpg)
13
Challenges Implementing a Generic Backup-Restore API for Linux
ceph
• Snapshots‒ RBD Level‒ Layering‒ “Diff” – Incremental Snapshots
→ Can be used for Backup/Restore
![Page 14: Challenges Implementing a Generic Backup-Restore API for Linux · Challenges Implementing a Generic Backup-Restore API for Linux The Backup Bus Or “Why not a library or just sysfs?”](https://reader033.fdocuments.net/reader033/viewer/2022051903/5ff4b97a191e5e3529636a1e/html5/thumbnails/14.jpg)
14
Challenges Implementing a Generic Backup-Restore API for Linux
btrfs
CoW everywhere• RefLinks• Deduplication• Snapshots• Send/Receive• “Diff”
‒ Implemented as “Send” without sending the data
![Page 15: Challenges Implementing a Generic Backup-Restore API for Linux · Challenges Implementing a Generic Backup-Restore API for Linux The Backup Bus Or “Why not a library or just sysfs?”](https://reader033.fdocuments.net/reader033/viewer/2022051903/5ff4b97a191e5e3529636a1e/html5/thumbnails/15.jpg)
Missing Features in Linux
![Page 16: Challenges Implementing a Generic Backup-Restore API for Linux · Challenges Implementing a Generic Backup-Restore API for Linux The Backup Bus Or “Why not a library or just sysfs?”](https://reader033.fdocuments.net/reader033/viewer/2022051903/5ff4b97a191e5e3529636a1e/html5/thumbnails/16.jpg)
16
Challenges Implementing a Generic Backup-Restore API for Linux
Missing Features in Linux
• Local‒ Generic “Freeze/Unfreeze” for filesystems‒ Synchronized Checkpoint/Restart for applications
→ cgroups? systemd?
• Distributed‒ Multi system freeze‒ Distributed Snapshots
![Page 17: Challenges Implementing a Generic Backup-Restore API for Linux · Challenges Implementing a Generic Backup-Restore API for Linux The Backup Bus Or “Why not a library or just sysfs?”](https://reader033.fdocuments.net/reader033/viewer/2022051903/5ff4b97a191e5e3529636a1e/html5/thumbnails/17.jpg)
Requirements to a Generic Backup-Restore API
![Page 18: Challenges Implementing a Generic Backup-Restore API for Linux · Challenges Implementing a Generic Backup-Restore API for Linux The Backup Bus Or “Why not a library or just sysfs?”](https://reader033.fdocuments.net/reader033/viewer/2022051903/5ff4b97a191e5e3529636a1e/html5/thumbnails/18.jpg)
18
Challenges Implementing a Generic Backup-Restore API for Linux
Requirements
• List = “Diff” (no data)‒ Resume of a diff‒ Sizing information
• Export (data)‒ partial‒ full‒ clone
• Restore‒ full‒ incremental‒ with/without history‒ with/without deduplication
![Page 19: Challenges Implementing a Generic Backup-Restore API for Linux · Challenges Implementing a Generic Backup-Restore API for Linux The Backup Bus Or “Why not a library or just sysfs?”](https://reader033.fdocuments.net/reader033/viewer/2022051903/5ff4b97a191e5e3529636a1e/html5/thumbnails/19.jpg)
19
Challenges Implementing a Generic Backup-Restore API for Linux
Requirements (2)
• Enforce consistency‒ Freeze/Unfreeze‒ incl. application notification
• Information / Capabilities
![Page 20: Challenges Implementing a Generic Backup-Restore API for Linux · Challenges Implementing a Generic Backup-Restore API for Linux The Backup Bus Or “Why not a library or just sysfs?”](https://reader033.fdocuments.net/reader033/viewer/2022051903/5ff4b97a191e5e3529636a1e/html5/thumbnails/20.jpg)
Proposal
![Page 21: Challenges Implementing a Generic Backup-Restore API for Linux · Challenges Implementing a Generic Backup-Restore API for Linux The Backup Bus Or “Why not a library or just sysfs?”](https://reader033.fdocuments.net/reader033/viewer/2022051903/5ff4b97a191e5e3529636a1e/html5/thumbnails/21.jpg)
21
Challenges Implementing a Generic Backup-Restore API for Linux
The Backup Bus
Or “Why not a library or just sysfs?”
• Self inspection → easy to extend• Integrates with other approaches using a bus
‒ systemd‒ snapper
• Option, to transfer messages across machines• Easy to plug in for 3rd parties
![Page 22: Challenges Implementing a Generic Backup-Restore API for Linux · Challenges Implementing a Generic Backup-Restore API for Linux The Backup Bus Or “Why not a library or just sysfs?”](https://reader033.fdocuments.net/reader033/viewer/2022051903/5ff4b97a191e5e3529636a1e/html5/thumbnails/22.jpg)
22
• MgE 2006
![Page 23: Challenges Implementing a Generic Backup-Restore API for Linux · Challenges Implementing a Generic Backup-Restore API for Linux The Backup Bus Or “Why not a library or just sysfs?”](https://reader033.fdocuments.net/reader033/viewer/2022051903/5ff4b97a191e5e3529636a1e/html5/thumbnails/23.jpg)
Thank you.
23
Your comments!?
![Page 24: Challenges Implementing a Generic Backup-Restore API for Linux · Challenges Implementing a Generic Backup-Restore API for Linux The Backup Bus Or “Why not a library or just sysfs?”](https://reader033.fdocuments.net/reader033/viewer/2022051903/5ff4b97a191e5e3529636a1e/html5/thumbnails/24.jpg)
Corporate HeadquartersMaxfeldstrasse 590409 NurembergGermany
+49 911 740 53 0 (Worldwide)www.suse.com
Join us on:www.opensuse.org
24
![Page 25: Challenges Implementing a Generic Backup-Restore API for Linux · Challenges Implementing a Generic Backup-Restore API for Linux The Backup Bus Or “Why not a library or just sysfs?”](https://reader033.fdocuments.net/reader033/viewer/2022051903/5ff4b97a191e5e3529636a1e/html5/thumbnails/25.jpg)
Unpublished Work of SUSE. All Rights Reserved.This work is an unpublished work and contains confidential, proprietary and trade secret information of SUSE. Access to this work is restricted to SUSE employees who have a need to know to perform tasks within the scope of their assignments. No part of this work may be practiced, performed, copied, distributed, revised, modified, translated, abridged, condensed, expanded, collected, or adapted without the prior written consent of SUSE. Any use or exploitation of this work without authorization could subject the perpetrator to criminal and civil liability.
General DisclaimerThis document is not to be construed as a promise by any participating company to develop, deliver, or market a product. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. SUSE makes no representations or warranties with respect to the contents of this document, and specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose. The development, release, and timing of features or functionality described for SUSE products remains at the sole discretion of SUSE. Further, SUSE reserves the right to revise this document and to make changes to its content, at any time, without obligation to notify any person or entity of such revisions or changes. All SUSE marks referenced in this presentation are trademarks or registered trademarks of Novell, Inc. in the United States and other countries. All third-party trademarks are the property of their respective owners.