Go-Ethereum

我應該為 geth 和 leveldb 使用什麼文件系統?

  • August 1, 2021

我使用舊的 LGA775 機器來執行 geth 節點。它的主機板有較舊的 sata 3gb/s(基準顯示 ssd 瓶頸在那裡)和只有 4gb 的 DDR2,安裝了 windows。所以同步是一個真正痛苦的過程,持續一周或更長時間……

現在我意外地有了另一個更好的候選人,基於 LGA1366,6gb/s sata 和 24gb DDR3,我正在考慮安裝 Debian。它將安裝在單獨的驅動器上,因此整個 SSD 可以通過--datadir命令專用於區塊鏈需求。甚至--keystore文件夾和二進製文件也將位於單獨的較小 ssd 驅動器上,與帶有 ext4 文件系統的 Debian 一起。

但是在執行這個大膽的舉動之前,我必須為 geth 數據目錄決定文件系統,以使事情從一開始就以最佳方式工作。可能的候選人是:

  • FAT32(易於在具有不同作業系統的 PC 上移動,或用作外部硬碟)
  • exFAT(專用於基於快閃記憶體的儲存,節省擦除週期?)
  • Ext4(原生於 linux,最穩定且受支持)
  • ZFS(我聽說它用於企業儲存,如果我計劃重新配置硬體、調整捲大小等可能更易於管理)

選擇什麼?為什麼?你會推薦什麼調整/參數?(因為我們都知道LevelDB在chaindata目錄下儲存了大量的~2100KB *.ldb文件)

我建議在ext4xfs文件系統之間進行選擇

這是一個 Geth 配置範例,其中對 ext4 文件系統進行了一些調整,假設您使用標籤進行掛載(您可以更改為 UUID 或設備)

echo "--- Mount disk ---"
[ ! -d "/var/lib/geth" ] && /bin/mkdir /var/lib/geth/data
echo "LABEL=Ethereum /var/lib/geth/data  ext4 noatime,i_version,commit=30,inode_readahead_blks=64,errors=remount-ro 1 2" >> /etc/fstab
mount -a
chown ethereum.ethereum /var/lib/geth/data

我執行了一個 ETH 節點和一個較舊的 Core i5(第二代)。主要問題是空間不足,因此擁有捲管理器是一大優勢。我使用debian和ext4。從未遇到過 I/O 瓶頸。我確實用完了空間:)

因此,在我看來,必須能夠添加更多磁碟並跨磁碟調整捲的大小。

引用自:https://ethereum.stackexchange.com/questions/65466