Hi Andreas,

The draft ruleset creation matching for LRC is documented at

https://github.com/dachary/ceph/commit/2ae645438243232392c11fd80fd960f6221fd2a0#diff-5518964bc98a094a784ce2d17a5b0cc1R147

tested at

https://github.com/dachary/ceph/commit/2ae645438243232392c11fd80fd960f6221fd2a0#diff-300a5998686e416e9255777f82fe8c57R90

and implemented at

https://github.com/dachary/ceph/commit/2ae645438243232392c11fd80fd960f6221fd2a0#diff-e8889adeda9017a36ae4f5000b9c2534R42

There are two points for which your advice would be most appreciated:

* The default ruleset is the same as for jerasure, i.e. host is the failure 
domain. The primary reason is that it is likely to work anywhere, hence it is a 
good default. Although it does not match any actual use case, it there is a 
side effect that can be observed externally (i.e. reduced inter-host bandwidth 
during recovery) and that matches the expected benefit. It would be an actual 
benefit if machines were connected to a hub but that is unlikely to be the case 
nowadays ;-)

* Control of the crush ruleset steps is made explicit and disconnected from the 
description of the layers. Trying to link the encoding steps to the crush 
description creates confusion because the logic is different. The crush ruleset 
is designed first, thinking about failure domains. The erasure code processing 
is designed next, using the N OSDs provided by crush.  Hopefully the examples 
and logic documented at

https://github.com/dachary/ceph/commit/2ae645438243232392c11fd80fd960f6221fd2a0#diff-5518964bc98a094a784ce2d17a5b0cc1R20

make sense to the Ceph operator. 

Cheers
-- 
Loïc Dachary, Artisan Logiciel Libre

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to