Архивный узел
Эта страница переведена сообществом на русский язык, но нуждается в улучшениях. Если вы хотите принять участие в переводе свяжитесь с @alexgton.
Прочитайте о Полном узле перед этой статьей
Обзор
Архивный узел - это тип полного узла, который хранит расширенные исторические данные блокчейна. Если вы создаете обозреватель блокчейна или аналогичное приложение, которому требуется доступ к историческим данным, рекомендуется использовать архивный узел в качестве индексатора.
Требования к ОС
Мы настоятельно рекомендуем установить mytonctrl с использованием поддерживаемых операционных систем:
- Ubuntu 20.04
- Ubuntu 22.04
- Debian 11
Требования к аппаратному обеспечению
- 16 x ядерный процессор
- 128ГБ ОЗУ с исправлением ошибок (ECC)
- Твердотельный накопитель объемом 9 ТБ или Оборудованное хранилище с более 64 000 операций ввода/вывода в секунду (IOPS)
- Возможность подключения к сети 1 Гбит/с
- 16 ТБ/месяц трафика при пиковой нагрузке
- публичный IP-адрес (фиксированный IP-адрес)
Для несжатых данных требуется 9 ТБ. 6 ТБ - это при использовании тома ZFS с включенным сжатием. Объем данных увеличивается примерно на 0,5 ТБ и 0,25 ТБ каждый месяц, с последним обновлением в ноябре 2024 года.
Установка
Установите ZFS и подготовьте том
Дампы поставляются в виде снимков ZFS, сжатых с помощью plzip, вам необходимо установить ZFS на вашем хосте и восстановить дамп, см. в Документацию Oracle.
Обычно рекомендуется создать отдельный пул ZFS для вашего узла на выделенном SSD-диске, это позволит вам легко управлять дисковым пространством и создавать резервные копии вашего узла.
- Установите zfs
sudo apt install zfsutils-linux
- Создайте пул на вашем выделенном диске объемом 4 ТБ
<disk>
и назовите егоdata
sudo zpool create data <disk>
- Перед восстановлением настоятельно рекомендуем включить сжатие на родительском файловой системе ZFS, что позволит вам освободить много места. Чтобы включить сжатие для тома
data
, войдите под учетной записью root и выполните следующую команду:
sudo zfs set compression=lz4 data
Установите MyTonCtrl
Пожалуйста, используйте Запуск Полного узла чтобы установить и запустить mytonctrl.
Запустите архивный узел
Подготовьте узел
- Перед выполнением восстановления вы должны остановить validator под учетной записью root:
sudo -s
systemctl stop validator.service
- Сделайте ре зервную копию файлов конфигурации
ton-work
(нам потребуются файлы/var/ton-work/db/config.json
,/var/ton-work/keys
и/var/ton-work/db/keyring
).
mv /var/ton-work /var/ton-work.bak
Скачайте дамп
- Запросите учетные данные
user
иpassword
для получения доступа к скачиванию дампов в чате @TONBaseChatEn в Telegram. - Вот пример команды для скачивания и восстановления дампа mainnet с сервера ton.org:
wget --user <usr> --password <pwd> -c https://archival-dump.ton.org/dumps/latest.zfs.lz | pv | plzip -d -n <cores> | zfs recv data/ton-work
Чтобы установить дамп testnet, используйте следующую команду:
wget --user <usr> --password <pwd> -c https://archival-dump.ton.org/dumps/latest_testnet.zfs.lz | pv | plzip -d -n <cores> | zfs recv data/ton-work
Размер дампа составляет примерно 4 Тб, поэтому скачивание и восстановление могут занять несколько дней (до 4 дней). Размер дампа может увеличиваться с ростом сети.
Подготовьте и выполните команду:
- При необходимости установите инструменты (
pv
,plzip
) - Замените
<usr>
и<pwd>
вашими учетными данными - Сообщите
plzip
использовать столько ядер, сколько позволяет ваша машина для ускорения извлечения (-n
)
Установите дамп
- Смонтируйте zfs:
zfs set mountpoint=/var/ton-work data/ton-work && zfs mount data/ton-work
- Восстановите
db/config.json
,keys
иdb/keyring
из резервной копии в/var/ton-work
.
cp /var/ton-work.bak/db/config.json /var/ton-work/db/config.json
cp -r /var/ton-work.bak/keys /var/ton-work/keys
cp -r /var/ton-work.bak/db/keyring /var/ton-work/db/keyring
- Убедитесь, что разрешения для каталогов
/var/ton-work
и/var/ton-work/keys
предоставлены правильно:
- Владельцем каталога
/var/ton-work/db
должен быть пользовательvalidator
:
chown -R validator:validator /var/ton-work/db
- Владельцем каталога
/var/ton-work/keys
должен быть пользовательubuntu
:
chown -R ubuntu:ubuntu /var/ton-work/keys