# orange arrows rule example1a { ruleset 0 type replicated min_size 2 max_size 10 # orange (1) step take rack1 # orange (2) step choose firstn 0 host # orange (3) step choose firstn 1 osd step emit } # blue arrows rule example2 { ruleset 0 type replicated min_size 2 max_size 10 # blue (1) step take room1 # blue (2) step chooseleaf firstn 0 rack step emit } ラック1配下で冗長化した二つ ホストからOSD(Disk)を選択する例 ルーム1の中から冗長化した二つのラック からOSDを選択する例 • さらにOSDごとに重みがつけられており変化させられる(通常はOSDごとのDisk容量が重みになっている) • 障害が発生した場合や作業時には重みが0になるリバランシングが可能となる • 処理は非常に高度に自律化・分散化されている 重み OSD ラック ホスト ルーム ルーム1 ラック1 ホスト1 osd.1 osd.2 ホスト2 osd.3 osd.4 ラック2 ホスト3 osd.5 osd.6 ホスト4 osd.7 osd.8 1 2 3 1 2 1.92 1.92 1.92 1.92 1.92 1.92 1.92 1.92 例示についてはSUSE様のドキュメントを引用:https://documentation.suse.com/ja-jp/ses/7.1/html/ses-all/cha-storage-datamgm.html#datamgm-rules-step-iterate (osd.1, osd.4) (osd.3, osd.7)