Proxmox VE 6.1のCephでダウンテスト

Proxmox VE 6.1のCephでダウンテストを実施

最初に

前記事でCephのプール作成まで完了したので早速ダウンテストを実施します

テスト内容

3台クラスタ構成で各ノードHDD 1TB 1台をOSD登録(DB/WALも同一HDD)
CephプールはRBD形式のPool01を作成
Managerはpve02がactiveになっている状態でテストします

まず書き込み処理の途中に1台ダウンした想定でテストを行います
内容はpve01上でrados benchコマンドを利用して180秒間常時書き込み状態を再現して
コマンド実行してから30秒後にpve02の電源ボタンを押してサーバダウンさせます
1台ダウンした状態の動作を確認後にpve02を復旧させてみて復旧処理の確認をします

次に別パターンとして2台ダウンさせてから2台復旧させた時にどうなるかを確認します

1台ダウンテスト結果(rados benchコマンド)

rados benchコマンド結果がこちら
180秒間書き込んでいる状況が記録されています
一番左が経過秒数で30秒経過後にpve02のサーバをダウン(本体電源ボタンで実行)
100秒経過ぐらいでpve02を復帰させてます

root@pve01:~# rados bench -p Pool01 -t 16 -b 1M 180 write --no-cleanup
hints = 1
Maintaining 16 concurrent writes of 1048576 bytes to objects of size 1048576 for up to 180 seconds or 0 objects
Object prefix: benchmark_data_pve01_46596
  sec Cur ops   started  finished  avg MB/s  cur MB/s last lat(s)  avg lat(s)
    0       0         0         0         0         0           -           0
    1      16        70        54   53.9989        54    0.243589    0.254327
    2      16       137       121   60.4953        67     0.28017    0.244054
    3      16       207       191   63.6603        70    0.340484    0.244746
    4      16       272       256   63.9935        65    0.301834    0.245664
    5      16       338       322   64.3942        66    0.324817    0.244986
    6      16       390       374   62.3272        52    0.197469    0.247343
    7      16       456       440   62.8506        66    0.232328    0.247767
    8      16       478       462   57.7433        22    0.273452    0.248109
    9      16       542       526    58.438        64    0.157993     0.27331
   10      16       608       592   59.1937        66    0.205518    0.267633
   11      16       683       667   60.6295        75    0.173673    0.261359
   12      16       749       733    61.076        66    0.191142     0.25991
   13      16       830       814   62.6081        81    0.167161    0.254253
   14      16       903       887   63.3494        73    0.233258     0.25072
   15      16       970       954   63.5919        67    0.290714    0.248815
   16      16      1050      1034   64.6165        80    0.183431    0.245337
   17      16      1131      1115   65.5799        81     0.11421    0.242678
   18      16      1195      1179   65.4918        64    0.268143    0.241862
   19      16      1274      1258    66.202        79    0.216882    0.239984
2020-02-07 16:57:34.815317 min lat: 0.0514912 max lat: 1.30978 avg lat: 0.237821
  sec Cur ops   started  finished  avg MB/s  cur MB/s last lat(s)  avg lat(s)
   20      16      1353      1337   66.8416        79    0.201162    0.237821
   21      16      1431      1415   67.3722        78    0.192095    0.236294
   22      16      1512      1496   67.9913        81     0.18437     0.23467
   23      16      1577      1561   67.8607        65    0.275088    0.234134
   24      16      1635      1619   67.4497        58    0.181865    0.235138
   25      16      1710      1694   67.7513        75    0.203632     0.23473
   26      16      1775      1759    67.645        65    0.189434    0.234438
   27      16      1843      1827   67.6576        68    0.200338    0.234248
   28      16      1912      1896   67.7051        69    0.194422    0.235563
   29      16      1980      1964   67.7149        68   0.0810577    0.235274
   30      16      2055      2039   67.9572        75    0.203953    0.234113
   31      16      2135      2119   68.3455        80    0.213645    0.233446
   32      16      2216      2200   68.7407        81    0.181444    0.232584
   33      16      2288      2272   68.8391        72    0.207037     0.23144
   34      16      2358      2342   68.8729        70    0.123592    0.231562
   35      16      2424      2408   68.7905        66   0.0688852    0.231333
   36      16      2506      2490   69.1572        82    0.064376    0.231056
   37      16      2578      2562   69.2339        72   0.0724797     0.23047
   38      16      2655      2639   69.4381        77    0.199261    0.230151
   39      16      2737      2721     69.76        82    0.230459    0.229114
2020-02-07 16:57:54.818178 min lat: 0.0514912 max lat: 1.30978 avg lat: 0.22894
  sec Cur ops   started  finished  avg MB/s  cur MB/s last lat(s)  avg lat(s)
   40      16      2803      2787   69.6656        66    0.268442     0.22894
   41      16      2871      2855   69.6249        68    0.230533    0.229076
   42      16      2942      2926   69.6573        71    0.173637    0.228549
   43      16      3013      2997   69.6884        71    0.215312    0.229191
   44      16      3093      3077   69.9226        80    0.175692    0.228534
   45      16      3159      3143   69.8352        66    0.258096    0.228423
   46      16      3235      3219   69.9689        76    0.191887    0.227884
   47      16      3308      3292   70.0331        73    0.221597    0.227811
   48      16      3372      3356   69.9071        64    0.249289    0.227771
   49      16      3438      3422   69.8273        66    0.227188    0.228136
   50      16      3512      3496   69.9106        74    0.186478    0.228336
   51      16      3588      3572   70.0298        76    0.219138    0.228079
   52      16      3666      3650    70.183        78    0.250178    0.227719
   53      16      3735      3719   70.1604        69    0.218606    0.227472
   54      16      3800      3784   70.0646        65    0.195447    0.227453
   55      16      3869      3853    70.045        69    0.253235    0.227704
   56      16      3946      3930   70.1689        77    0.312546     0.22737
   57      16      4027      4011   70.3588        81    0.209148    0.227185
   58      16      4094      4078   70.3008        67    0.184294    0.227042
   59      16      4168      4152   70.3632        74    0.259143    0.227008
2020-02-07 16:58:14.820962 min lat: 0.0514912 max lat: 1.30978 avg lat: 0.226876
  sec Cur ops   started  finished  avg MB/s  cur MB/s last lat(s)  avg lat(s)
   60      16      4235      4219   70.3071        67      0.1966    0.226876
   61      16      4307      4291   70.3348        72    0.244392    0.226794
   62      16      4390      4374   70.5389        83    0.114494    0.226416
   63      16      4471      4455   70.7049        81    0.220472    0.226049
   64      16      4537      4521   70.6313        66    0.240335    0.226184
   65      16      4608      4592   70.6369        71    0.245557     0.22612
   66      16      4675      4659   70.5817        67   0.0992727    0.226288
   67      16      4741      4725   70.5131        66     0.28191    0.226284
   68      16      4822      4806   70.6671        81   0.0574267     0.22595
   69      16      4905      4889   70.8458        83    0.221537    0.225802
   70      16      4972      4956   70.7908        67    0.220039    0.225743
   71      16      5041      5025   70.7655        69    0.183161    0.225805
   72      16      5107      5091   70.6992        66    0.188085    0.226032
   73      16      5174      5158   70.6483        67    0.143482    0.226152
   74      16      5253      5237   70.7611        79     0.17566     0.22592
   75      16      5336      5320   70.9242        83    0.130483    0.225558
   76      16      5401      5385   70.8461        65    0.262249    0.225411
   77      16      5473      5457   70.8611        72    0.267609    0.225455
   78      16      5540      5524   70.8115        67     0.14214    0.225821
   79      15      5596      5581   70.6366        57    0.184562    0.226045
2020-02-07 16:58:34.823015 min lat: 0.0514912 max lat: 1.30978 avg lat: 0.226233
  sec Cur ops   started  finished  avg MB/s  cur MB/s last lat(s)  avg lat(s)
   80      16      5663      5647   70.5785        66    0.357011    0.226233
   81      16      5746      5730   70.7317        83    0.197081    0.226199
   82      16      5813      5797   70.6862        67    0.241847    0.226235
   83      16      5878      5862   70.6175        65    0.123566    0.225954
   84      16      5959      5943   70.7409        81    0.243793    0.225895
   85      16      6029      6013   70.7321        70    0.244471    0.225777
   86      16      6109      6093   70.8397        80    0.125039    0.225628
   87      16      6180      6164   70.8414        71    0.297103    0.225426
   88      16      6261      6245   70.9567        81    0.292506    0.225196
   89      16      6342      6326   71.0694        81    0.205098    0.224965
   90      16      6409      6393    71.024        67    0.171906    0.224877
   91      16      6484      6468   71.0676        75    0.142328     0.22478
   92      16      6549      6533   71.0016        65    0.172109    0.225017
   93      16      6621      6605   71.0122        72    0.258969     0.22498
   94      16      6687      6671   70.9588        66     0.17671    0.225136
   95      16      6758      6742    70.959        71     0.21414    0.225149
   96      16      6833      6817    71.001        75    0.147168    0.225149
   97      16      6903      6887   70.9907        70     0.24473    0.224969
   98      16      6980      6964   71.0518        77    0.234276    0.224821
   99      16      7048      7032   71.0209        68    0.112139     0.22515
2020-02-07 16:58:54.825968 min lat: 0.0514912 max lat: 1.30978 avg lat: 0.225253
  sec Cur ops   started  finished  avg MB/s  cur MB/s last lat(s)  avg lat(s)
  100      16      7114      7098   70.9707        66   0.0661063    0.225253
  101      16      7175      7159   70.8718        61    0.246431    0.225234
  102      16      7247      7231   70.8827        72    0.174044    0.225374
  103      16      7327      7311   70.9711        80    0.248561    0.225215
  104      16      7394      7378   70.9328        67    0.262084    0.225262
  105      16      7461      7445   70.8953        67    0.302157    0.225458
  106      16      7530      7514   70.8773        69    0.213086    0.225355
  107      16      7605      7589   70.9158        75     0.17564    0.225291
  108      16      7691      7675   71.0554        86    0.183496    0.225112
  109      16      7757      7741   71.0089        66   0.0573417    0.225216
  110      16      7823      7807   70.9633        66    0.259738    0.225119
  111      16      7904      7888   71.0536        81      0.2194    0.224946
  112      16      7986      7970   71.1512        82    0.234657    0.224742
  113      16      8055      8039   71.1321        69    0.261592    0.224685
  114      16      8130      8114   71.1659        75    0.266864     0.22457
  115      16      8203      8187   71.1818        73    0.290194    0.224718
  116      16      8274      8258   71.1802        71   0.0995071    0.224727
  117      16      8299      8283   70.7854        25    0.116949    0.224683
  118      16      8325      8309   70.4058        26    0.242245    0.226928
  119      16      8375      8359   70.2343        50    0.390742    0.227531
2020-02-07 16:59:14.828808 min lat: 0.0514912 max lat: 1.63534 avg lat: 0.227951
  sec Cur ops   started  finished  avg MB/s  cur MB/s last lat(s)  avg lat(s)
  120      16      8431      8415   70.1157        56     0.20199    0.227951
  121      16      8484      8468   69.9741        53    0.268899    0.228271
  122      16      8540      8524   69.8595        56    0.375335    0.228767
  123      16      8590      8574    69.698        50    0.244045     0.22912
  124      16      8640      8624   69.5391        50    0.159813    0.229781
  125      16      8693      8677   69.4067        53    0.250416    0.230129
  126      16      8753      8737    69.332        60      0.3129    0.230612
  127      16      8806      8790   69.2034        53    0.366844    0.230956
  128      16      8857      8841   69.0611        51    0.184483    0.231425
  129      16      8919      8903   69.0064        62    0.229506    0.231755
  130      16      8975      8959   68.9063        56    0.145845    0.231986
  131      16      9024      9008   68.7542        49    0.336571    0.232428
  132      16      9085      9069   68.6955        61    0.333507    0.232879
  133      16      9136      9120   68.5624        51    0.141859    0.233184
  134      16      9195      9179    68.491        59    0.291963    0.233421
  135      16      9244      9228   68.3465        49    0.332173    0.233753
  136      16      9306      9290   68.2998        62    0.287917    0.234134
  137      16      9345      9329   68.0859        39    0.276543    0.234478
  138      16      9396      9380    67.962        51     0.21891    0.234951
  139      16      9460      9444   67.9334        64    0.242442    0.235293
2020-02-07 16:59:34.831406 min lat: 0.0514912 max lat: 1.63534 avg lat: 0.235618
  sec Cur ops   started  finished  avg MB/s  cur MB/s last lat(s)  avg lat(s)
  140      16      9510      9494   67.8053        50    0.225381    0.235618
  141      16      9568      9552   67.7357        58     0.24051    0.235968
  142      16      9625      9609     67.66        57    0.267046    0.236302
  143      16      9674      9658   67.5295        49    0.257787    0.236567
  144      16      9739      9723   67.5119        65    0.318029    0.236875
  145      16      9792      9776   67.4117        53    0.223057     0.23707
  146      16      9842      9826   67.2924        50    0.229491    0.237334
  147      16      9909      9893   67.2903        67    0.268054    0.237691
  148      16      9944      9928   67.0721        35    0.295816    0.238007
  149      16     10011      9995   67.0716        67   0.0762507     0.23848
  150      16     10061     10045   66.9578        50    0.319403    0.238872
  151      16     10113     10097   66.8587        52    0.285916      0.2392
  152      16     10165     10149   66.7609        52    0.337741    0.239566
  153      16     10217     10201   66.6644        52    0.102046    0.239748
  154      16     10268     10252   66.5626        51     0.23684     0.24003
  155      16     10319     10303   66.4622        51    0.352086    0.240396
  156      16     10368     10352   66.3502        49    0.340453    0.240724
  157      16     10418     10402    66.246        50     0.35759     0.24118
  158      16     10469     10453   66.1494        51    0.210679    0.241666
  159      16     10519     10503   66.0478        50    0.182985    0.241984
2020-02-07 16:59:54.834108 min lat: 0.0514912 max lat: 1.63534 avg lat: 0.242222
  sec Cur ops   started  finished  avg MB/s  cur MB/s last lat(s)  avg lat(s)
  160      16     10571     10555     65.96        52    0.257609    0.242222
  161      16     10629     10613   65.9105        58    0.331203    0.242497
  162      16     10685     10669   65.8493        56    0.134454    0.242881
  163      16     10737     10721   65.7643        52    0.309852    0.243119
  164      16     10790     10774   65.6865        53    0.173566    0.243358
  165      16     10840     10824   65.5913        50    0.264168    0.243483
  166      16     10902     10886   65.5696        62    0.284054    0.243896
  167      16     10956     10940   65.5003        54    0.268192    0.244227
  168      16     11008     10992   65.4199        52    0.162543     0.24441
  169      16     11063     11047   65.3583        55     0.26343    0.244574
  170      16     11111     11095   65.2561        48    0.172669    0.244865
  171      16     11162     11146   65.1727        51    0.221985    0.245172
  172      16     11226     11210   65.1658        64    0.331952    0.245396
  173      16     11278     11262   65.0897        52    0.309849    0.245591
  174      16     11332     11316   65.0259        54    0.279462    0.245813
  175      16     11386     11370   64.9628        54    0.204734    0.245945
  176      16     11452     11436   64.9687        66    0.322221    0.246204
  177      16     11487     11471   64.7993        35   0.0915453    0.246579
  178      16     11545     11529   64.7611        58    0.256998    0.246878
  179      16     11603     11587   64.7232        58     0.36871    0.247009
2020-02-07 17:00:14.836659 min lat: 0.0514912 max lat: 1.63534 avg lat: 0.247222
  sec Cur ops   started  finished  avg MB/s  cur MB/s last lat(s)  avg lat(s)
  180      16     11654     11638    64.647        51     0.24783    0.247222
Total time run:         180.131
Total writes made:      11654
Write size:             1048576
Object size:            1048576
Bandwidth (MB/sec):     64.6973
Stddev Bandwidth:       12.0109
Max bandwidth (MB/sec): 86
Min bandwidth (MB/sec): 22
Average IOPS:           64
Stddev IOPS:            12.0109
Max IOPS:               86
Min IOPS:               22
Average Latency(s):     0.247279
Stddev Latency(s):      0.0823085
Max latency(s):         1.63534
Min latency(s):         0.0514912
root@pve01:~#

まずはpve02をダウンさせても継続して書き込みテストが行えているのが確認できます
途中で停止したり速度が極端に落ちたりしないのでpve01/pve03には影響ありません

3台構成時に比べてpve02がダウンした後の2台構成の方が
若干ですが速度が上がっているのが確認できます
3台同期するより2台同期の方が処理が少ないので当然の結果ですが
どちらにせよHDDへ直接書き込むよりは低速になってしまいます

今回計測したシーケンシャル書き込みだけで言うなら
CephネットワークをGbEで構築している環境なので実測で100MB/sはまず超えませんから
各ノードHDD1台でこの結果ということから考えても
まずは10GbEを優先した方がよさそうです

pve02復帰後に速度が落ちているのはダウン中のデータをpve02機と同期する為に
バックグラウンドでリカバリー処理が走っているからです

1台ダウンテスト結果(WEBGUI)

WEBGUIのCephサマリー画面を確認していきます
プール作成時に設定するPG値がどのような動きをするのかもご覧ください

pve02がダウンしたらすぐにCeph状態がHEALTH_WARNになりました

数秒後にManagersでもダウンを検知、PGsも128全てがデグレード状態になります

activeなManagerだったpve02がダウンしたので
自動でpve03がstandbyからactiveへ変更されました

pve02を復帰させた直後がこちら
左メニューとモニター・Managersで復帰が検知されているのがわかります

上記画像の数秒後にpve02のOSDも復帰してOSDsがUp:3になります
自動でリカバリー準備が開始されるのでPGsが赤から黄色に変化していきます

数十秒ほどで全て黄色になります

全て黄色になったらリカバリー開始されます
徐々に黄色から緑へ変化していきます

緑の比率と共にPGsの割合も変化していきます

PGsが全て緑になれば完了です
Ceph状態もHEALTH_OKになり正常な状態に戻りました

今回の環境ではpve02を復帰させてから30分でステータス正常へ回復しました
30分のうちほとんどは黄色から緑へ変化する処理待ちでした

2台ダウンテスト結果

pve01のみ動作している状態であれば当然Ceph自体が機能しないので
Ceph状態すら確認できません

ここからpve02をまず起動させた状態がこちら
最初のダウンテストと同様の状態です

pve01だけではCeph自体動作しないのでpve02を復帰させてもデータ確認は走りますが
pve01とpve02のHDDデータの変化がない為、リカバリー処理は必要ない様子

最後にpve03を起動して3台構成に戻した状態がこちら

pve03がダウンしている間でも今回はpve01/pve02のデータは変化していない為
最初のダウンテスト時と違ってPGsはすぐに緑状態になりますが
裏でまだ処理が走っているのでCephの状態はHEALTH_WARNのままになります

このまま1分ほど経つとCeph状態もHEALTH_OKになり正常に戻ります

最後に

最初のダウンテストではデータを書き込んでいる途中にダウンする想定だったので
リカバリーに少し時間がかかりましたが
2台ダウンさせたテストでわかる通り、全ノードのデータに変化がなければすぐに復旧します

手動で操作せずとも復帰を検知したら自動で回復処理が走って
正常な状態に戻してくれるのはすごく便利でした