タイトルが全てです
prometheusの構成を考えていて、ストレージをNFSにしようというのは思いつきやすく、運用面からも魅力的に感じます
AWSの場合だと、EBSはAZが固定されるし必要な容量を前もって計算する必要があります(まあ容量は追加できるけど)
が、EFSだと全AZからアクセスできるし、使ったぶんだけの課金なので必要なストレージ容量も考えなくてもよくて運用が圧倒的に楽…!(EBSに比べたら高いけど)
ので、NFSをストレージにしたprometheus環境を作りがちなんですが、これはNGです
公式のドキュメントに思いっきり目立つように注意書きがあります
そして、何が起きるのかというと、この注意書きにも書いてある通り、 unrecoverable corruptions may happen
です
回復不能な破損が発生する可能性があります、だそうです(自動翻訳)
私も知らずにEFSでprometheusを運用していた頃に経験しています
それまで元気に動いていたprometheusが、ある日突然死にました
再起動しても同じエラーが出続け、最終的に回復は諦めて1日1回のバックアップからリストアしてメトリクスに空白期間を作りつつ復帰させました
(最新のブロックを削除するとかでも再び動作させることは可能だったかも?)
その後調査してサポート外だということを知ったので、おとなしくEBS構成に変更しました
何かしらの発動条件があるかもしれないですが、全く不明なのでおとなしくNFSは諦めるのがよいかと思います
issueでも何度か取り上げられてますが、NFSはサポート外だからダメ、で話は終わっています
https://github.com/prometheus/prometheus/issues/7090