On 10/12/2016 06:10 AM, Giulio Fidente wrote:
we introduced support for the deployment of Ceph in the liberty release
so that it could optionally be used as backend for one or more of
Cinder, Glance, Nova and more recently Gnocchi.
We used to deploy Ceph MONs on the controller nodes and Ceph OSDs on
dedicated ceph-storage nodes so a deployment of OpenStack with Ceph
would need at least 1 more additional node to host a Ceph OSD.
In our HA scenario the storage backends are configured as follows:
Glance -> Swift
Nova (ephemeral) -> Local
Cinder (persistent) -> LVM (on controllers)
Gnocchi -> Swift
The downside of the above configuration is that Cinder volumes can not
be replicated across the controller nodes and become unavailable if a
controller fails, while production environments generally expect
persistent storage to be highly available. Cinder volumes instead could
even get lost completely in case of a permanent failure of a controller.
With the Newton release and the composable roles we can now deploy Ceph
OSDs on the compute nodes, removing the requirement we had for an
additional node to host a Ceph OSD.
I would like to ask for some feedback on the possibility of deploying
Ceph by default in the HA scenario and use it as backend for Cinder.
+1 from me. It sounds like our current default is inappropriate for an
HA environment anyway, so if someone is using it they're already broken
by design. Hopefully everyone is already setting up Ceph or some other
shared storage backend in HA so changing the default should be largely a
non-event. Obviously we would still need to provide an upgrade path for
anyone who did deploy the old default (maybe they don't use Cinder and
don't care if it's HA, for example).
Also using Swift as backend for Glance and Gnocchi is enough to cover
the availability issue for the data, but it also means we're storing
that data on the controller nodes which might or might not be wanted; I
don't see a strong reason for defaulting them to Ceph, but it might make
more sense when Ceph is available; feedback about this would be
appreciated as well.
Finally a shared backend (Ceph) for Nova would allow live migrations but
probably decrease performances for the guests in general; so I'd be
against defaulting Nova to Ceph. Feedback?
Agreed. It's simple enough for people to set Nova to use Ceph if they
want, but if people haven't spec'd their compute nodes to handle heavy
converged Ceph usage I suspect performance would be unacceptable for VMs.
OpenStack Development Mailing List (not for usage questions)