我試圖了解如何擴展我的 Prometheus 並查看其儲存機制。
讓我們假設以下情況:
- Prometheus資料儲存目錄:大小20GB
- 快照數量:3
- 快照大小:每個 18GB
問題:沒有符號鏈接,每個快照大小總和如何大於目錄總大小?如何確保快照包含所需的所有資料?
我假設 Prometheus 的儲存機制將儲存引用而不是真實資料。但到底是什麼系統在運作,我試著找出背後的機制。
也歡迎指出正確方向的指針。我想至少了解一下原理。
答案1
Prometheus 快照使用難的v2.1 以上版本的連結。這解釋了 OP 觀察到的檔案系統使用行為。
快照由現有區塊的硬連結和目前開啟區塊的轉儲組成。由於使用了硬鏈接,這意味著舊區塊的快照不會佔用額外的磁碟空間,因為磁碟上只保留一份副本,但是如果更改它們、其權限或使用者/群組,則可能會破壞 Prometheus。完成後,您可以 rm -rf 快照目錄,因為雖然快照最初只佔用很少的額外磁碟空間,但一旦原始區塊被刪除/壓縮,快照將保持該磁碟空間的使用。
來源:https://www.robustperception.io/take-snapshots-of-prometheus-data/