Execution Client 정리하기
이것은 geth 및 nethermind 사용자를 위한 것입니다.
Besu는 정리할 필요가 없습니다.
기본 Execution client로 geth 또는 nethermind를 사용하는 경우, 노드의 여유 디스크 공간이 시간이 지남에 따라 천천히 감소하는 것을 알 수 있습니다.
Execution client는 단연코 가장 큰 기여자입니다; rocketpool service config 중에 캐시에 할당한 RAM의 양에 따라 하루에 수 기가바이트의 속도로 증가할 수 있습니다!
이를 처리하기 위해 Execution client는 데이터베이스를 안전하게 스캔하고 정리하여 여유 공간을 회수할 수 있는 **정리(pruning)**라는 특수 기능을 제공합니다. Geth 또는 Nethermind를 사용하는 모든 node operator는 결국 정리해야 합니다.
2TB SSD가 있는 경우 일반적으로 정리 라운드 사이에 몇 달 동안 지낼 수 있습니다. 1TB SSD 사용자의 경우 더 자주 정리해야 합니다.
Grafana 대시보드가 활성화된 경우, 노드의 사용된 디스크 공간이 80%를 초과할 때 Execution client 정리를 고려하기 시작하는 것이 좋은 경험 법칙입니다.
정리할 시간이라고 판단되면 Smartnode에는 요청 시 정리할 수 있는 기능이 포함되어 있습니다. 작동 방식과 예상 사항을 알아보려면 아래를 읽어보십시오.
Execution client 정리는 Docker Mode에서만 가능합니다.
Hybrid mode의 외부 client 또는 Native mode와 같은 자체 Execution client를 사용하는 경우 Smartnode를 사용하여 Execution client를 정리할 수 없습니다. 수동으로 정리해야 합니다. Execution client를 정리하는 방법을 알아보려면 Execution client의 문서를 참조하십시오.
전제 조건
아래 탭에서 사용 중인 client를 선택하십시오.
Geth를 정리한다는 것은 기본 Execution client를 오프라인으로 전환하여 자체 정리를 수행할 수 있도록 하는 것을 의미합니다. 이 경우 Smartnode(및 Consensus client)는 제대로 작동하기 위해 ETH1 체인에 액세스할 다른 방법이 필요합니다.
이를 제공하는 가장 쉬운 방법은 fallback node를 사용하는 것입니다.
rocketpool service config를 사용하여 이미 fallback node를 구성한 경우 Geth 컨테이너가 유지 관리를 위해 다운될 때 Smartnode가 자동으로 전환됩니다.
또한 Consensus client에게 fallback을 사용하도록 알려줍니다.
경고
fallback node가 구성되어 있지 않으면 정리 프로세스 중에 노드가 검증을 중지합니다. 완료되고 네트워크와 다시 동기화될 때까지 모든 attestation 및 블록 제안을 놓치게 됩니다. 이 기간 동안 놓친 검증으로 인해 ETH가 누출됩니다!이를 염두에 두고 Geth를 성공적으로 정리하려면 다음 두 가지 조건이 필요합니다:
- 작동하는 fallback node가 구성되어 있어야 함
- SSD에 최소 50GB의 여유 공간이 남아 있어야 함
정리 시작하기
아래 탭에서 사용 중인 client를 선택하십시오.
Geth를 정리하려면 다음 명령을 실행하기만 하면 됩니다:
fallback client 쌍이 활성화되어 있지 않으면 다음 경고가 표시됩니다:
활성화되어 있으면 다음 프롬프트가 대신 표시됩니다:
수락하면 Smartnode가 준비하는 동안 몇 가지 세부 사항이 표시됩니다; 성공 메시지로 끝나야 합니다:
이제 Geth가 정리 중이며 모든 준비가 완료되었습니다! 다음을 사용하여 진행 상황을 추적할 수 있습니다:
정리가 완료되면 자동으로 다시 시작되고 Smartnode는 fallback 대신 다시 사용을 재개합니다.