[keep] drain mode for a keepstore service
I'd like to have a way to tell a keepstore service that it will enter in drain mode. This will cause to switch itself to read-only mode and then check for under replicated blocks that it owns and send copies of it to the other serversfeatures to have:
- a way to tell the progress of a draining operation and if it has finished or not.
- if a VM reboot happens of the keepstore service, the operation should not start from scratch
- we known for a fact that multi-threaded copies work very good, but could also kill the machine or I/O operattions: this should be an option on how many processes will be spawning for the migration
things to take in account:
- if 7 keepstore services are in drain state, replication should be taking in account for the NON-draining ones, this will be common operation for migrations between clouds.
- clients should be aware of the draining state and no take in account for replication calculations.