Ceph 擦除码:准备进行 alpha 测试

loic

Ceph 中 擦除码 的添加始于 2013年4月,并在 第一次 Ceph 开发者峰会 上进行了讨论。该实现几天前达到一个重要里程碑,现在 准备进行 alpha 测试
为了记录起见,以下是截至 今天,在擦除码池中存储和检索对象的最简单方法

parameters="erasure-code-k=2 erasure-code-m=1" ./ceph osd crush rule create-erasure ecruleset \ $parameters \ erasure-code-ruleset-failure-domain=osd ./ceph osd pool create ecpool 12 12 erasure \ crush_ruleset=ecruleset \ $parameters ./rados --pool ecpool put SOMETHING /etc/group ./rados --pool ecpool get SOMETHING /tmp/group $ tail -3 /tmp/group postfix:x:133: postdrop:x:134: _cvsadmin:x:135

这些块存储在三个对象中,如果其中任何一个丢失,都可以进行重建。

find dev | grep SOMETHING dev/osd4/current/3.7s0_head/SOMETHING__head_847441D7__3_ffffffffffffffff_0 dev/osd6/current/3.7s1_head/SOMETHING__head_847441D7__3_ffffffffffffffff_1 dev/osd9/current/3.7s2_head/SOMETHING__head_847441D7__3_ffffffffffffffff_2