我有個 server 在運行 ETH2 client Lighthouse, 現在硬碟容量快要不夠用了。雖然 Lighthouse 的開發者說會研究減省硬碟佔用量,但我覺得應該等不及。

我不打算增加硬碟容量,也不想搬位置,那就只能減少用量了。


之前的措施

不再運行 ETH1 client, 依賴了 Infura, Alchemy 和其他 providers (可以參考Ethereum Nodes 這網站) 的 eth1 endpoints,

即是 --eth1-endpoints 裡把 http://localhost:8545 放到最後或刪走。

現在的措施

依賴 Infura 的 ETH2 endpoint, 同時繼續運行 local beacon node, 但盡量省位置。

為什麼要繼續運行 local beacon node 呢,主要考慮都是 Infura 有時不穩定

https://status.infura.io/, 也因依賴它的服務太多,單點故障便導致廣泛問題。 若大量 ETH2 validators 因此離線,可能引致大問題的。


先查看剩下多少空間:

df -h

du -hd1 "${HOME}/.lighthouse/mainnet/"

du -hd1 "${HOME}/.lighthouse/mainnet/beacon/"

能減省的空間應該是freezer_db, 即這裡:${HOME}/.lighthouse/mainnet/beacon/freezer_db.


確保只運行 Infura ETH2 endpoint 沒有問題

之前有寫過如何為 Lighthouse 添加 Infura 為冗餘 beacon node, 其實也算是為這件事鋪路。

我是靠 systemd 去運行的,所以我是在在 /etc/systemd/system/validator.service 修改 command.

原本的 lighthouse vc

lighthouse vc <other_param> --beacon-nodes <https://<PROJECT_ID>:<PROJECT_SECRET>@eth2-beacon-mainnet.infura.io>,<http://localhost:5052>

刪走 local 的:

lighthouse vc <other_param> --beacon-nodes <https://<PROJECT_ID>:<PROJECT_SECRET>@eth2-beacon-mainnet.infura.io>

restart validator, 發現沒問題,成功。


減省用量

參考這裡:

https://lighthouse-book.sigmaprime.io/advanced_database.html

https://lighthouse-book.sigmaprime.io/checkpoint-sync.html

我是放在 /etc/systemd/system/beacon-chain.service .

lighthouse bn 修改成:

lighthouse bn <other_param> --slots-per-restore-point 8192 --checkpoint-sync-url "<https://<PROJECT_ID>:<PROJECT_SECRET>@eth2-beacon-mainnet.infura.io>" --purge-db

restart beacon-chain, 不見有問題,成功。

待補齊 data 後,以後 restart 時應該可以刪走 --purge-db.


查看目前硬碟空間:

df -h

du -hd1 "${HOME}/.lighthouse/mainnet/"

du -hd1 "${HOME}/.lighthouse/mainnet/beacon/"


之後把這裡 /etc/systemd/system/validator.service 改回去,把 local beacon node 用作備用,然後 restart。

INFO Connected to beacon node(s)             synced: 2, available: 2, total: 2, service: notifier

看來沒有問題呢。當 local 的 beacon node 下載好 data 後,我會改次序,優先用它,Infura 只作備用。

因為刪了整個 DB, 所以一下子顯得多了很多空間,除了 Freezer DB 部份外應該都會漲回來的。Freezer DB 的增張速度則會減慢。

目前還是先觀望,之後若果依仍不夠空間,可能還是砍掉 local beacon node 吧。

如有任何建議/發現錯誤之處,還望賜教。

Recommended Posts

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments