Prometheus 快照如何儲存在磁碟上?

Prometheus 快照如何儲存在磁碟上?

我試圖了解如何擴展我的 Prometheus 並查看其儲存機制。

讓我們假設以下情況:

  1. Prometheus資料儲存目錄:大小20GB
  2. 快照數量:3
  3. 快照大小:每個 18GB

問題:沒有符號鏈接,每個快照大小總和如何大於目錄總大小?如何確保快照包含所需的所有資料?

我假設 Prometheus 的儲存機制將儲存引用而不是真實資料。但到底是什麼系統在運作,我試著找出背後的機制。

也歡迎指出正確方向的指針。我想至少了解一下原理。

答案1

Prometheus 快照使用難的v2.1 以上版本的連結。這解釋了 OP 觀察到的檔案系統使用行為。

快照由現有區塊的硬連結和目前開啟區塊的轉儲組成。由於使用了硬鏈接,這意味著舊區塊的快照不會佔用額外的磁碟空間,因為磁碟上只保留一份副本,但是如果更改它們、其權限或使用者/群組,則可能會破壞 Prometheus。完成後,您可以 rm -rf 快照目錄,因為雖然快照最初只佔用很少的額外磁碟空間,但一旦原始區塊被刪除/壓縮,快照將保持該磁碟空間的使用。

來源:https://www.robustperception.io/take-snapshots-of-prometheus-data/

相關內容