OSD が度々落ちる

Proxmox

最近、特定のノードの OSD が数日毎に down する事象が発生していた。
2.5 inch SATA の SSD を OSD として使用していて、syslog を見る限りでは物理的な要因で落ちているらしい。

ログはこんな感じ。

Nov 24 05:04:09 x301 kernel: ata1.00: exception Emask 0x10 SAct 0xffffffff SErr 0x40d0202 action 0xe frozen Nov 24 05:04:09 x301 kernel: ata1.00: irq_stat 0x00000040, connection status changed 
Nov 24 05:04:09 x301 kernel: ata1: SError: { RecovComm Persist PHYRdyChg CommWake 10B8B DevExch } 
Nov 24 05:04:09 x301 kernel: ata1.00: failed command: READ FPDMA QUEUED Nov 24 05:04:09 x301 kernel: ata1.00: cmd 60/28:00:58:c6:1e/00:00:21:00:00/40 tag 0 ncq dma 20480 in res 40/00:00:00:4f:c2/00:00:00:00:00/00 Emask 0x10 (ATA bus error)

ノードを停止して、再起動すると何事もなく復帰することもあるし、時間はかかるけど OSD を破棄して再度作成することもある。

念の為 2.5 inch の SSD を新調してみても状況は変わらず。もしかして本当にケーブルやコネクタなどハード側の問題かも?ということで、DeskMini X300 を調達してパーツをごっそり入れ替えてみても改善しなかった。

ただ、よくよく考えてみると OSD が落ちるのは殆ど決まって深夜から早朝の就寝時間帯。この時間なら普段はバックアップくらいしかさせてないし、とすると実はバックアップが何かしらの悪さをしていた可能性はある(かもしれない)。

まあ DeskMini x 3 台でクラスタを構成しているから何かと無理しているのかもしれないけれど、バックアップスケジュールを変更してとりあえず様子を見てみよう。

 

・・・いつも PVE 管理画面で ceph の警告メッセージを消すコマンドを忘れてしまうからメモ。

※RedHat の Ceph Manager クラッシュモジュールの使用より

  • クラッシュリストを表示する

    ceph crash ls
  • 全てのクラッシュレポートをアーカイブしてヘルスチェックの対象外にする

    ceph crash archive-all
  • keep の日数より古い保存済みクラッシュを削除する

    ceph crash prune KEEP