Search code examples
ceph

Ceph - CRUSH and failure domain changes?


If you deploy data into a Ceph pool, can the pool be altered (ideally online) without losing the data, and what limits are there on the alterations that can be made?

An example:

  1. I setup Ceph on two hosts and the pool has three OSD's on each host, with data being stored using replication.
  2. I then lob some data on into the pool.
  3. Some time down the road, I want to add another host (or two, or ten...) and switch the pool from replicated to erasure coding to reduce the storage overhead, can this be done with the pool online and without losing data?

This is a simple question I suspect, but I haven't been able to find a clear answer on what the limits and risks are in terms of making alterations to the pool.

And yes, I already know that officially you should start with three hosts :-)

Thanks


Solution

  • You can not change a replicated pool into an erasure coded pool. What you can do is create a different pool, copy all data into the EC pool and then rename it as you require (after renameing the replicated pool). If everything works as expected you can then delete the first pool.