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