<div dir="ltr"><div><div>Folks,</div><div><br></div><div>Currently in Havana development, RBD as ephemeral storage has serious stability</div><div>and performance issues that makes the Ceph cluster a bottleneck for using an</div>


<div>image as a source.</div><div><br></div><div>Nova has to currently communicate with the external service Glance, which has</div><div>to talk to the separate Ceph storage backend to fetch path information. The</div><div>


entire image is then downloaded to local disk, and then imported from local</div><div>disk to RBD. This leaves a stability concern, especially with large images for</div><div>the instance to be successfully created, due to unnecessary data pulling and</div>


<div>pushing for solutions like RBD.</div><div><br></div><div>Due to the fact we have to do a import from local disk to RBD, this can make</div><div>performance even slower than a normal backend filesystem since the import is</div>


<div>single threaded.</div><div><br></div><div>This can be eliminated by instead having Nova's RBD image backend utility</div><div>communicate directly with the Ceph backend to do a copy-on-write of the image.</div><div>


Not only does this greatly improve stability, but performance is drastically</div><div>improved by not having to do a full copy of the image. A lot of the code to</div><div>make this happen came from the RBD Cinder driver which has been stable and</div>


<div>merged for quite a while.</div><div><br></div><div>Bug: <a href="https://code.launchpad.net/bugs/1226351" target="_blank">https://code.launchpad.net/bugs/1226351</a></div><div>Patch: <a href="https://review.openstack.org/#/c/46879/1" target="_blank">https://review.openstack.org/#/c/46879/1</a></div>


<div><br></div><div>Thanks,</div><div>Mike Perez</div></div>
</div>