Snapshots when using RBD backend make full copy then upload unnecessarily
Bug #1346525 reported by
Michael H Wilson
This bug affects 17 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
High
|
Unassigned | ||
glance_store |
Invalid
|
Undecided
|
Josh Durgin |
Bug Description
When performing a snapshot a local copy is made. In the case of RBD, it reads what libvirt thinks is a raw block device and then converts that to a local raw file. The file is then uploaded to glance, which reads the whole raw file and stores it in the backend, if the backend is Ceph this is completely unnecessary and defeats the whole point of having a Ceph cluster. The fix should go something like this:
1. Tell Ceph to make a snapshot of the RBD
2. Get Ceph metadata from backend, send that to Glance
3. Glance gets metadata, if it has Ceph backend no download is necessary
4. If it doesn't, download image from Ceph location, store in backend
description: | updated |
description: | updated |
description: | updated |
tags: | added: compute |
Changed in nova: | |
importance: | Undecided → Medium |
status: | New → Triaged |
importance: | Medium → High |
Changed in nova: | |
assignee: | nobody → Zoltan Arnold Nagy (zoltan) |
Changed in nova: | |
status: | Triaged → In Progress |
Changed in glance: | |
status: | New → In Progress |
assignee: | nobody → Josh Durgin (jdurgin) |
affects: | glance → glance-store |
Changed in nova: | |
assignee: | Zoltan Arnold Nagy (zoltan) → Pádraig Brady (p-draigbrady) |
Changed in nova: | |
status: | In Progress → Confirmed |
assignee: | Pádraig Brady (p-draigbrady) → nobody |
To post a comment you must log in.
I think this is a very serious bug as the local temporary files could overrun the storage space on the hypervisor thus giving an opportunity to perform a denial of service attack.