Virtual machine images as structured data The Mirage image library - - PowerPoint PPT Presentation
Virtual machine images as structured data The Mirage image library - - PowerPoint PPT Presentation
Virtual machine images as structured data The Mirage image library Glenn Ammons, Vasanth Bala, Todd Mummert, Darrell Reimer, Xiaolan Zhang IBM Research Why image libraries? VM image puts app config in one place; image library puts
June 2011 IBM Research 2
Why image libraries?
- VM image puts app config in one place; image
library puts enterprise config in one place
- Improve maintenance: scans, patches
- Permit analyses: search, mine, compare
– What DBMSs do we use? Why did our webapp break?
- Image libraries: go beyond deploy/capture
- Provenance
- Version and access control
- Efficient, offline maintenance and analyses
June 2011 IBM Research 3
VM images as structured data
Unstructured (hypervisor) Structured (Mirage)
Image manifest FS manifest
/etc/passwd /usr/bin/ls ...
Metadata File contents (in CAS) Checkin Checkout Disk manifest VM image
June 2011 IBM Research 4
Experience: RC2
- Problem: convert all images from Xen to KVM
- No downtime, low resource use, user transparency
- Must install kernels, kernel modules, change config.
- Iterative: fail → find bug → fix → try again
- Version control useful
– Rollback – Comparisons for debugging
- Used virtual mount to speed conversion
June 2011 IBM Research 5
Virtual mount
Structured (Mirage)
Image manifest FS manifest
/boot/kernel /etc/network/foo ...
Metadata File contents (in CAS) Disk manifest % import kvm-kernel % vmount IMAGE /mnt
June 2011 IBM Research 6
Virtual mount
Structured (Mirage)
Image manifest FS manifest
/boot/kernel /etc/network/foo ...
Metadata File contents (in CAS) Disk manifest % import kvm-kernel % vmount IMAGE /mnt % replace-content \ /boot/kernel
June 2011 IBM Research 7
Virtual mount
Structured (Mirage)
Image manifest FS manifest
/boot/kernel /etc/network/foo ...
Metadata File contents (in CAS) Disk manifest % import kvm-kernel % vmount IMAGE /mnt % replace-content \ /boot/kernel % vi /etc/network/foo
June 2011 IBM Research 8
Experience: IBM Workload Deployer
OS team MW team App team A.0 B.0 clone B.1 Install MW C.0 clone C.1 Install app
June 2011 IBM Research 9
Experience: IBM Workload Deployer
OS team MW team App team A.0 B.0 clone B.1 Install MW C.0 clone C.1 Install app A.1 Update OS
June 2011 IBM Research 10
Experience: IBM Workload Deployer
OS team MW team App team A.0 B.0 clone B.1 Install MW C.0 clone C.1 Install app A.1 B.2 Patch w/ diff(A.0, A.1) Update OS
June 2011 IBM Research 11
Backup slides
June 2011 IBM Research 12
Mirage architecture
Catalog manager Library services Image indexer Content-addressed store Database Storage Clients
June 2011 IBM Research 13
Mirage architecture
Catalog manager Library services Image indexer Content-addressed store Database Storage Clients Deduplication Garbage collection Structure-aware Optimized for images Deduplication Garbage collection Structure-aware Optimized for images
June 2011 IBM Research 14
Mirage architecture
Catalog manager Library services Image indexer Content-addressed store Database Storage Clients Converts to and from Mirage format Flexible plugin architecture Converts to and from Mirage format Flexible plugin architecture
June 2011 IBM Research 15
Mirage architecture
Catalog manager Library services Image indexer Content-addressed store Database Storage Clients Maintains metadata State (active/deleted) Provenance tree Access control Version control Maintains metadata State (active/deleted) Provenance tree Access control Version control
June 2011 IBM Research 16
Mirage architecture
Catalog manager Library services Image indexer Content-addressed store Database Storage Clients Checkin/checkout Virtual mount Describe, list, compare, search Admin functions Checkin/checkout Virtual mount Describe, list, compare, search Admin functions
June 2011 IBM Research 17
Reducing translation costs
- Runtime translation costs reduced by
- Structure-aware CAS (faster lookups)
- Virtual mount (avoids translation)
- Delta deployment (exploits sharing)
- Hybrid indexing reduces dev. Costs
- Offloads grotty details to backup/restore tools
- See paper for details