[openstack-dev] [cinder] [nova] Consistency groups?
philipp.marek at linbit.com
Fri Nov 14 07:57:41 UTC 2014
I'm working on the DRBD Cinder driver, and am looking at the Nova side,
too. Is there any idea how Cinder's consistency groups should be used on
the Nova nodes?
DRBD has easy support for consistency groups (a DRBD resource is
a collection of DRBD volumes that share a single, serialized connection)
and so can guarantee write consistency across multiple volumes.
[ Which does make sense anyway; eg. with multiple iSCSI
connections one could break down because of STP or
other packet loss, and then the storage backend and/or
snapshots/backups/etc. wouldn't be consistent anymore. ]
What I'm missing now is a way to get the consistency group information
to the Nova nodes. I can easily put such a piece of data into the
transmitted transport information (along with the storage nodes' IP
addresses etc.) and use it on the Nova side; but that also means that
on the Nova side there'll be several calls to establish the connection,
and several for tear down - and (to exactly adhere to the API contract)
I'd have to make sure that each individual volume is set up (and closed)
in exactly that order again.
That means quite a few unnecessary external calls, and so on.
Is there some idea, proposal, etc., that says that
*within a consistency group*
all volumes *have* to be set up and shutdown
*as a single logical operation*?
[ well, there is one now ;]
Because in that case all volume transport information can (optionally) be
transmitted in a single data block, with several iSCSI/DRBD/whatever
volumes being set up in a single operation; and later calls (for the other
volumes in the same group) can be simply ignored as long as they have the
same transport information block in them.
Thank you for all pointers to existing proposals, ideas, opinions, etc.
: Ing. Philipp Marek
: LINBIT | Your Way to High Availability
: DRBD/HA support and consulting http://www.linbit.com :
DRBD® and LINBIT® are registered trademarks of LINBIT, Austria.
More information about the OpenStack-dev