풀노드 재동기화 방법
풀노드를 운영하다 보면 비트코인 노드(코어 또는 노츠) 동기화에 문제가 생길 때가 있습니다. 전체 환경을 재설치하기 전에 노드 로그에서 원인을 확인하고, 블록 인덱스나 체인상태를 다시 구성해야 하는지 판단합니다. 아래는 리눅스에 명령어로 설치한 구형 엄브렐에 SSH로 접속해 재색인을 설정하는 방법입니다.
아래의 경로와 명령은 리눅스에 명령어로 설치한 구형 엄브렐 환경을 전제로 합니다. 마이크로SD 카드나 USB 메모리에 플래싱해서 엄브렐을 설치한 경우는 사용할 수 없습니다. 현재 엄브렐의 모든 버전과 기기에 적용되는 절차는 아니므로, 설치 방식과 버전을 먼저 확인하세요.
Umbrel에 SSH 접속
-
Umbrel 서버의 IP 주소 확인 (같은 네트워크에 있는 경우
umbrel.local사용 가능). -
SSH 클라이언트를 사용하여 Umbrel 서버에 접속:
- 여기서 umbrel은 풀노드 구축 당시 설정한 아이디입니다.
- 명령어를 입력한 후 엔터를 치면 패스워드를 입력하라고 나옵니다.
- 기본 패스워드는 설치 과정에서 설정한 것을 사용합니다. 만약 초기 설정값을 사용했다면 Umbrel 문서를 참고하세요.
만약 umbrel.local 주소로 ssh 접속이 안되면 내부IP를 찾아 umbrel.local 대신 내부IP주소를 통해 접속해야 합니다.
내부IP가 192.168.1.3이라면 아래와 같이 접속하면 됩니다.
내부IP가 무엇인지 모른다면 풀노드 접속 방법 문서를 참고하세요.
Nano 설치 확인
Nano 편집기가 설치되지 않은 경우, 설치합니다:
- 설치 확인:
명령을 찾을 수 없다는 메시지가 나오면 Nano를 설치하세요.
nano --version - Nano 설치:
sudo apt update
sudo apt install -y nano
Umbrel 비트코인 설정 파일 수정
-
Umbrel 비트코인 설정 파일의 위치로 이동:
cd ~/umbrel/app-data/bitcoin/data/bitcoin/ -
bitcoin.conf파일 열기:sudo nano bitcoin.conf
재동기화를 위한 설정 추가
열어 둔 bitcoin.conf 파일에서 노드의 상태와 목적에 맞는 설정을 확인합니다. 아래 설명은 Bitcoin Core의 옵션 정의를 기준으로 합니다.
-
전체 블록을 보관하려면 가지치기를 비활성화합니다:
prune=0prune=0은 오래된 블록을 삭제하는 가지치기를 끄는 설정이며, 모든 데이터를 삭제하는 명령이 아닙니다. 이미 전체 블록을 보관하고 있다면 이 설정만으로 재색인이나 전체 재다운로드를 시작하지 않습니다. 이전에 가지치기한 노드를 전체 보관 방식으로 바꾸려면 삭제된 블록을 다시 다운로드해야 합니다. 이 경우 아래의reindex=1도 설정해 재색인과 재다운로드를 진행합니다. -
블록 인덱스와 체인상태를 다시 구성해야 한다면 재색인을 설정합니다:
reindex=1이 설정은 로컬에 저장된
blk*.dat블록 파일을 읽어 블록 인덱스와 체인상태를 다시 만듭니다. 임의의 특정 블록 높이부터 동기화를 시작하도록 지정하는 옵션은 아닙니다. 필요한 블록 파일이 남아 있다면 이를 재사용하지만, 가지치기 등으로 필요한 데이터가 없으면 네트워크에서 다시 받아야 합니다. 가지치기를 계속 사용할 노드라면 재색인을 위해 반드시prune=0으로 바꿀 필요는 없습니다. -
저장 후 종료:
- 저장:
Ctrl + O(Enter 키로 확인) - 종료:
Ctrl + X
- 저장:
Umbrel 비트코인 노드 재시작
비트코인 노드를 재시작하기 위해 엄브렐을 재시작합니다. reindex=1을 설정했다면 저장된 블록을 재색인하며, 필요한 블록 데이터가 없으면 다운로드도 진행합니다. prune=0만 설정한 경우에는 가지치기가 비활성화될 뿐, 그 설정 자체가 재색인을 시작하지는 않습니다.
cd ~/umbrel
sudo ./scripts/stop
sudo ./scripts/start
- 재색인이 완료되면 reindex=1 옵션을 제거하는 것이 좋습니다.
- 그렇지 않으면 노드가 재시작될 때마다 비트코인 전체장부를 재색인하게 됩니다.
동기화 진행 상황 확인
- SSH를 통해 동기화 상태를 확인:
tail -f ~/umbrel/app-data/bitcoin/data/bitcoin/debug.log- 로그에서 동기화 상태를 모니터링할 수 있습니다.