我目前正在使用 SSD 在 Linux 上运行 geth mit,并且希望将部分(或全部)链数据移动到外部驱动器以节省空间。
我知道有一个命令行选项可以移动数据目录:
geth --datadir <path to data directory>
我担心的是
- 由于外部驱动器比我的内部 SSD 慢得多,现在实现此同步是否会变慢?
- 它会导致整个区 block 链重新同步吗?
目前,我在我的比特币区 block 目录上运行以下脚本,它通过在 SSD 上保留高吞吐量数据并将大量但访问频率较低的数据移动到外部驱动器来避免这两个问题。
#!/bin/bash
set -e
BLK_TARGET=/mnt/ssd/core/blocks #Replace with your destination, no trailing slash
find . -name '*.dat' -type f -printf '%f\n' > tomove
while read line; do
echo $line
mv "$line" "$BLK_TARGET/$line"
ln -s "$BLK_TARGET/$line" "$line"
done <tomove
rm tomove
echo Done
当我在以太坊网络上尝试类似时,它触发了整个链的重新同步。
任何人都可以为以太坊的 geth 客户端推荐类似的流程或安抚我的两个担忧吗?
我的 SSD 上的当前目录大小是:
:~$ du -sh .ethereum/*
37G .ethereum/geth
0 .ethereum/geth.ipc
12K .ethereum/history
28K .ethereum/keystore
最佳答案
我在下面列出了三个链接,我在处理此问题时将其用作引用。我建议在我回答之后阅读它们。
这要看情况。只要 Mist 可以访问该目录就可以了;但是,如果 Mist 未正确设置外部驱动器,则必须重新同步整个链,并且需要更长的时间。此外,如果您删除链数据并使用快速标志启动雾,这应该会加快速度。我还提供了一个设置外部硬盘驱动器的链接,这是最后一个链接
https://www.reddit.com/r/ethereum/comments/68emnn/does_ethereum_wallet_have_pruning_availability/
https://www.reddit.com/r/ethereum/comments/7hzb78/is_there_a_way_to_prune_my_chaindata_folder_on/
关于bitcoin - ethereum,分割数据目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44974731/