Server sync... Block time in database: 1610684937, server time: 1611183964, offset: 499027

Советы по настройке ноды делегата


На нелегком пути к делегату голоса, выявил много ньюансов которыми спешу поделиться с другими.

Сборка ноды

Не пытайтесь собирать ноду, если у вас меньше 6Gb оперативки. Нет, попробовать конечно можно, но только если вам нежалко своего времени.

Те у кого финансы позволяют - складывают block_log и shared_memory.bin в оперативку и бед не знают. Первый весит около 15 гб на момент 16кк блоков, а последний минимум 6,5 гб, если будут включены все апи, то около 50гб.

Еще если хотите собрать ноду и для майнинга тоже, то перед сборкой не забудьте исправить файлик как описано тут

Синхронизация ноды

В целом этот процесс включает в себя и реплей. с одной стороны идет скачка block_log и с другой наполняется shared_memory.bin.

рекомендую для синхронизации использовать не менее 6гб оперативки в системе. Вся тонкость в том, что во время синка идут частые обращения к венику и слабым местом является скорость чтения с диска.

Чем больше оперативки, тем больше кэш и реже обращения к венику. Как и писал выше - в идеале чб 2 файла лежади в оперативке, для максимальной скорости синхронизации.

Если оперативки будет меньше 4 гб, то синхронизации дождуться только ваши внуки

Реплей

Это просто переделывание Файла shared_memory.bin под конфигурацию другого конфига, при этом у нас уже имеется скачаный block_log.

Слабым местом является число операций чтения, и для оптимальной работы нужно не менее опять таки 6гб оперативки.

Работа ноды

По нодам с публичным апи ничего сказать не могу, но вот для работы делегатской ноды в минимальной комплектации хватит 1.7 оперативки и HDD, вместо SSD веника.

вот графики работы с гуглклауд

Т.е. отсюда видно что самое слабое место в работе ноды это веник. И чем больше памяти тем меньше напрягается веник.

Советы

  • как правило у всех уже нормальные домащние компы которые имеют 4-12 гб оперативки, потому куда быстрее собрирать(только для докера)/синхронизировать/реплеить ноду именно локально, а потом копировать файлы на сервер, нежели делать все на сервере. Если все сделать локально, то вам хватит слабенького сервачка с 30+гб HDD
  • Не используйте google cloud, редкосное Г в плане системных дисков. Скорость записи и число операций зависят от размера диска, и при этом дорого. Digital Ocean имеет куда более лучшие SSD что ускоряет работу и экономит оперативку (кстати моя рефералка https://m.do.co/c/bb6a2888915f, все кто зарегается получит 10$) и стоимость, но гуглоклауд дает 300$ на год.
  • используйте докер образы и контейнеры, экономит время. Я создал докер содержащий все необходимые для работы файлы в минимальной конфигурации до блока 15736579. весит 31гб, на Digital Ocean скачался за 3 минуты.
  • нельзя останавливать реплей, все начнется заново. Смело можно останавливать синхронизацию, продолжится с места остановки.

Docker

В процессе для удобства создал докер контейнеры, буду добавлять со временем новые

  • t3ran13/golosd:latest и t3ran13/golosd:0.17.2rc1-lw собранный образ ноды с параметром лоу мем, весит 1,5гб
  • t3ran13/golosd:0.17.2RC1-lm-miner собранный образ ноды с параметром лоу мем и патчем для майнинга, весит 1,5гб
  • t3ran13/golosd:0.17.2RC1-lm-miner-bl15736579 образ как выше + блок лог до блока 15736579, весит 22гб
  • t3ran13/golosd:0.17.2RC1-lm-miner-bl15736579sm образ как выше + шаред мемори + конфиг, весит 31гб

инструкция для установки ноды без данных бч

  • нужно свободного места на диске не меньше 30Gb
  • создаем папку в которой все будет лежать и переходим туда
    sudo mkdir -p /home/user/golos-witness
    cd /home/user/golos-witness
  • скачиваем в папку нужный конфиг из репозитория ноды 0.17.2RC1, скорее всего config_witness.ini, и переименовываем в config.ini. Редактируем конфиг как нам нужно.
  • запускаем докер контейнер с нодой (вынос конфига и базы блокчейна во внешнюю папку)
    sudo docker run -d \
    -p 4243:4243 -p 8090:8090 -p 8091:8091 \
    -v ./config.ini:/etc/golosd/config.ini \
    -v ./blockchain/:/var/lib/golosd/blockchain/ \
    --name golosd \
    t3ran13/golosd:0.17.2RC1-lm-miner
  • ждем полной синхронизации. За ходом синхронизации можно следить командой
    sudo docker logs --tail=100 -f golosd

остановить контейнер можно командой

sudo docker stop golosd

стартануть контейнер можно командой

sudo docker start golosd

инструкция для установки ноды c блокчейном

  • нужно свободного места на диске не меньше 80Gb
  • создаем папку в которой все будет лежать и переходим туда
    sudo mkdir -p /home/user/golos-witness
    cd /home/user/golos-witness
  • запускаем докер контейнер с нодой (вынос конфига и базы блокчейна во внешнюю папку)
    sudo docker run -d \
    -p 4243:4243 -p 8090:8090 -p 8091:8091 \
    --name golosd \
    t3ran13/golosd:0.17.2RC1-lm-miner-bl15736579sm
  • ждем полной синхронизации. За ходом синхронизации можно следить командой
    sudo docker logs --tail=100 -f golosd
  • после синхронизации останавливаем контейнер
    sudo docker stop golosd
  • копируем блокчейн и конфиг из контейнера в папку проекта (будет долго копировать)
    sudo docker cp golosd:/etc/golosd/config.ini ./config.ini
    sudo docker cp golosd:/var/lib/golosd/blockchain/ ./blockchain/
  • редактируем конфиг как нам нужно
  • удаляем контейнер и создаем новый
    sudo docker rm golosd
    sudo docker run -d \
    -p 4243:4243 -p 8090:8090 -p 8091:8091 \
    -v ./config.ini:/etc/golosd/config.ini \
    -v ./blockchain/:/var/lib/golosd/blockchain/ \
    --name golosd \
    t3ran13/golosd:0.17.2RC1-lm-miner
  • удаляем образ с данными
    sudo docker rmi t3ran13/golosd:0.17.2RC1-lm-miner-bl15736579sm

P/S

Я стал делегатом и за меня можно проголосовать здесь, а с моим видением ознакомится тут

!!Ваш голос может повлиять на развитие блокчейна Голос или его приложений, не оставайтесь равнодушными!!!


Comments 6


Обязательно необходимо сбрасывать Голоса за делегатов раз в пару месяцев, а то и чаще. Только не все разом, а например, каждый голос должен жить ровно месяц, чтобы не получилось анархии из-за того, что все забыли перголосовать.

24.04.2018 18:53
0

Это да, на 19 хы планируется

24.04.2018 20:52
0

интересует вывод uname -a :)

26.04.2018 08:58
0

А я рыбалкой увлекаюсь)

Из вашего коммента ничего не понял

26.04.2018 14:15
0

версию операционки узнать хотел, на которой у вас докер с нодой работает.
в консоли:
uname -a

27.04.2018 07:08
0