[openstack-dev] [Nova] [Cinder] [Glance] glance_store and glance

Mike Perez thingee at gmail.com
Thu Aug 13 14:03:34 UTC 2015


On 11:11 Aug 13, Kuvaja, Erno wrote:
> 
> That looks interesting, in a very good way.
> 
> From the commit message of that review you referred:
> """
> These image-volumes are host specific, so each backend may end up with
> its very own image-volume to do clones from.
> """
> Does that mean that each cinder host will still need to pull the image from
> glance rather than sharing the cache across the deployment? No pun intended,
> but if so, this is the exact point we are referring here. It doesn't matter
> if it's 100 nova or 100 cinder hosts, they will get the stuff for their local
> caches faster via glance than talking directly to for example swift. And that
> is the step we're talking here all the time. I doubt anyone is willing to
> question the performance benefit of local cache in either nova or cinder
> case. 
>
> My question was sincere regarding multiple hosts accessing the same cinder
> volume (ref. having glance using cinder backend and having the glance by
> pass), my perhaps false understanding has been that block devices rarely like
> multiple hosts poking them. Not questioning the raw I/O they provide. And if
> my assumption of 100 hosts accessing same volume concurrently causing issues
> was false, then I definitely see the benefit here being able to just give
> cinder reference pointer if cinder backend is in use, but in that case I do
> not see any benefit cinder consuming the glance_store to do those actions.
> I'm pretty sure ye guys know bit better how to optimize your operations than
> we do. And that location data is available via V2 API already if deployer
> allows.
> 
> This means using cinder backend in glance and the caching ye guys are working
> on, you do not need glance_store, you can just go and request glance to hand
> over the metadata including the location of the image instead of ask glance
> to provide the image data. Now, last update of cinder driver condition in
> glance_store I've heard wasn't great so that might need bit more work to be
> viable option in production use.
> 
> I really appreciate you taking the time to bend the railroad for me(/us),
> Erno

There is no pulling of data except to do the initial cache. I'll explain again:

1) First request comes, Cinder exports a block device onto itself.
2) Cinder gets information from Glance the image is stored in Swift.
3) It does a download and copies the image onto the block device.
4) [2nd-50th] request comes. Cinder does not copy data. There is no moving of
   data happening at all. Cinder simply sends a command to the backend that
   already has the image and does a clone or copy on write. It's a reference
   pointer that the new volume points to image stored in the block storage
   backend.

No data copying. No data reading from Cinder node. What usually happens next is
nova attaches the volume and boots off of it.

-- 
Mike Perez



More information about the OpenStack-dev mailing list