Archive node의 peer sync가 시작되지 않습니다

안녕하세요.
과거 블록의 데이터를 모두 저장하는 archive 노드를 운영하려 하고 있습니다.
EN을 시작하고 1주일정도가 되었는데 아직 block sync가 시작되지 않았습니다.
ipc에서 peer count를 조회하면 0이고, 로그에는 Regenerated local transaction journal transactions=0 accounts=0 메세지만 주기적으로 출력됩니다.
방화벽은 인바운드와 아웃바운드 모두 32323 32324 오픈했습니다.
configuration은 ADDITIONAL="–gcmode archive" 추가했습니다.
혹시 과거 블록 데이터를 갖고 있는 피어가 없어서 그런것인지, 해결방법인 있는지 문의드립니다.
감사합니다.

아마도 peer 연결이 되지 않는 것으로 보입니다.
Klaytn 모든 노드는 genesis 블록부터의 모든 블록을 가지고 있기 때문에 염려하시는 사항은 해당되지 않습니다.

방화벽 점검을 해보시길 부탁드리며 수동으로 붙일수 있는 피어정보를 추가 댓글로 달아보겠습니다. 한번 시도해보시지요.

admin.addPeer("kni://0412e1fe709512a2ae7387eafba0036c07195a8b63921ce8bd708b1c02db21366efcc690bc50801eb6c74facad42f8d801db289ea3882fe37e56829ad73e8a81@54.180.16.123:32323?ntype=en ")
명령어로 연결해 보세요

해당 명령어 실행 시 true가 출력되지만 net.peerCount는 여전히 0입니다.
로그에서 Add dial candidate from static nodes id=… 메세지가 계속 출력되지만 연결을 못하고 있는 것 같습니다.
docs에 genesis.json 파일의 문제일 수 있다고 나와있는데 자세한 설명이 없어 어떻게 설정해야 하는지 모르겠습니다.
방화벽은 32323, 32324 포트의 아웃바운드는 열려있는데 혹시 인바운드도 열어야 하는것인가요?
감사합니다.

32323이 열려 있는 임의의 EN 노드 주소를 알려 드렸습니다.
복사 - 붙여 넣기 하면서 마지막en과 " 사이에 스페이스가 들어간 것 같습니다. 그 부분 확인 부탁드립니다.
EN 은 따로 해당 포트를 열지 않아도 됩니다.

스페이스는 지우고 시도했습니다.
genesis.json 의 문제는 아닌걸까요?

혹시 가지고 계신 kend.conf 파일을 공유해 주시면 설정값을 한번 체크해 보겠습니다.

1 Like
# Configuration file for the kend

# cypress, baobab is only available if you don't specify NETWORK_ID.
NETWORK="cypress"
# if you specify NETWORK_ID, a private network is created.
NETWORK_ID=

PORT=32323

SERVER_TYPE="fasthttp"
SYNCMODE="full"
VERBOSITY=3
MAXCONNECTIONS=10

# txpool options setting
TXPOOL_EXEC_SLOTS_ALL=4096
TXPOOL_NONEXEC_SLOTS_ALL=4096
TXPOOL_EXEC_SLOTS_ACCOUNT=4096
TXPOOL_NONEXEC_SLOTS_ACCOUNT=4096
TXPOOL_LIFE_TIME="30m"

# rpc options setting
RPC_ENABLE=1 # if this is set, the following options will be used
RPC_API="klay" # available apis: admin,debug,klay,miner,net,personal,rpc,txpool,web3
RPC_PORT=8551
RPC_ADDR="0.0.0.0"
RPC_CORSDOMAIN="*"
RPC_VHOSTS="*"

# ws options setting
WS_ENABLE=1 # if this is set, the following options will be used
WS_API="klay" # available apis: admin,debug,klay,miner,net,personal,rpc,txpool,web3
WS_ADDR="0.0.0.0"
WS_PORT=8552
WS_ORIGINS="*"

# service chain options setting
SC_MAIN_BRIDGE=0 # if this is set, the following options will be used.
SC_MAIN_BRIDGE_PORT=50505
SC_MAIN_BRIDGE_INDEXING=0  # this option will be deprecated.

# Setting 1 is to enable options, otherwise disabled.
AUTO_RESTART=0
METRICS=1
PROMETHEUS=1
DB_NO_PARALLEL_WRITE=0
MULTICHANNEL=1
SUBPORT=$((PORT + 1)) # used for multi channel option

# discover options
NO_DISCOVER=0 # setting 1 to disable discovery
BOOTNODES=""

# Raw options e.g) "--txpool.nolocals"
ADDITIONAL=""

DATA_DIR=/data/kend/data
LOG_DIR=$DATA_DIR/logs

ADDITIONAL="--gcmode archive"

DATA_DIR /data/kend/data 이 컴퓨터상에 존재하는 경로가 맞나요?
맞다면 kend.conf에 별다른 이상은 없어보입니다.

DATA_DIR은 존재하는 경로입니다.
여전히 peer가 0이네요. 혹시 public ip가 있어야 하는걸까요?

nodeInfo를 한번 확인해봐야 할 것 같습니다.
ken을 attach 하신 후, admin.nodeInfo 결과값을 주실 수 있으실까요?

{
  id: "4744b21fe8a8af026fb7df58bc4df98f48f6e78c724c77cee70235bcfb8404deb3550fd0d55549c30fa4bc21a6992428cf9a4800056798c1409518b1e5ba6c65",
  ip: "::",
  kni: "kni://4744b21fe8a8af026fb7df58bc4df98f48f6e78c724c77cee70235bcfb8404deb3550fd0d55549c30fa4bc21a6992428cf9a4800056798c1409518b1e5ba6c65@[::]:32323?ntype=en",
  listenAddr: ":32323",
  name: "Klaytn/v1.7.1+86d60fe05b/linux-amd64/go1.15.7",
  ports: {
    discovery: 32323,
    listener: 32323
  },
  protocols: {
    istanbul: {
      blockscore: 1,
      config: {
        chainId: 8217,
        deriveShaImpl: 2,
        governance: {...},
        istanbul: {...},
        unitPrice: 25000000000
      },
      genesis: "0xc72e5293c3c3ba38ed8ae910f780e4caaa9fb95e79784f7ab74c3c262ea7137e",
      head: "0xc72e5293c3c3ba38ed8ae910f780e4caaa9fb95e79784f7ab74c3c262ea7137e",
      network: 8217
    }
  }
}

혹시 방화벽에서 UDP 포트 오픈이 필요한건지요?