…と思ったら死んだ!
20
ストレージプール
disk
OSD
RBD
OSD
osd: 1 osds:
0 up
Slide 21
Slide 21 text
原因
21
ストレージプール
disk
OSD
RBD
OSD
1. OSD on RBDのメタデータはOSD on diskに保存されている
2. OSD on diskを削除するとそこにあったデータはロスト
3. OSD on RBDが機能しなくなりDOWN
新OSDのメタデータ
Slide 22
Slide 22 text
対策: データを冗長化させて徐々に移動させる
22
1. 最初にOSD on diskを二つ作る
2. OSD on RBDを2つ作る
3. OSD on diskを1つ削除。このOSDにあったデータは他の OSDに移動
4. OSD on diskをもう1つ削除。その後は同上
Slide 23
Slide 23 text
初期状態その2
23
ストレージプール
disk
OSD
● 1node, 2OSD on disk(それぞれ10GiB)
# ceph -s
...
osd: 2 osds: 2 up
…
usage: 2.0 GiB used,18.0 GiB / 20 GiB avail
disk
OSD
Slide 24
Slide 24 text
次: OSD on RBDを2つ作る
24
ストレージプール
disk
OSD
disk
OSD
RBD
OSD
RBD
OSD
Slide 25
Slide 25 text
問題発生: データのリバランスが終わらない
25
ストレージプール
disk
OSD
RBD
OSD
RBD
OSD
disk
OSD
● 期待値: OSD on disk上のデータの半分が OSD on RBDに移動
● 実際: 全然進まない
Slide 26
Slide 26 text
原因: 循環I/O
26
ストレージプール
disk
OSD
RBD
OSD
RBD
OSD
disk
OSD
1. OSD on disk上のデータをOSD on RBDに移動
2. 移動時のwriteは同期write
3. OSD on RBDへの同期write->OSD on diskへの同期write->OSD on RBDへの(ry