Что делать когда закончилось место на узле Storj
Узел Storj, который я открыл с 500 Гб жестким диском заполнился за 10 дней. У меня есть еще один диск на 500 Гб. Рекомендуют создавать новый узел, если позволяет железо только после заполнения других нод. Поэтому дождавшись заполнения первого харда покажу, как пустить в дело еще один, это относится так же к последующим дискам. Главное, что бы параметры сервера позволяли.
Важно
Одно ядро процессора для каждого процесса узла хранения, т.е. количество нод не должно превышать количество ядер и один диск на узел.
Добавление нового узла уже немного проще поскольку основные моменты уже настроены. Все этапы настройки были написаны в этом посте Storj установка настройка в Debian
Подключение и подготовка диска
Как подключать диск физически, писать не буду. Диск подключен и теперь узнаем как он отображается в системе:
lsblk -f
Будет показано имя диска в моем случае sdc
с одним томом sdc1
так же его UUID bdafebb6-4753-4f25-b19b-e1b432265a2d
Отформатировать диск на всякий случай:
sudo mkfs.ext4 /dev/sdc1
Создать каталог:
sudo mkdir -p /home/storj/seagate
Дать права на каталог текущему пользователю:
sudo chown -R $(id -u):$(id -g) /home/storj/seagate
Примонтировать диск к созданному каталогу:
sudo mount /dev/sdc1 /home/storj/seagate
Узнать UUID bdafebb6-4753-4f25-b19b-e1b432265a2d
диска:
lsblk -f
Для того чтобы после перезагрузки диск автоматически монтировался добавить запись в файл sudo nano /etc/fstab
UUID=bdafebb6-4753-4f25-b19b-e1b432265a2d /home/storj/seagate ext4 defaults 0 0
Сохранить файл Ctrl+O Enter, закрыть Ctrl+X
Монтировать лучше по UUID который узнали выше.
Применить настройки:
sudo mount -a
Проверка монтирования диска
df -h
Проброс портов на роутере
Для второго узла сделать проброс порта 28968
Имя сервиса | IP-адрес устройства | Внешний порт | Внутренний порт | Протокол |
---|---|---|---|---|
storj2 | LOCAL-IP-SERVER | 28968 | 28968 | TCP/UDP |
Открыть порты в файерволе
sudo nano /etc/ufw/applications.d/ufw-storj
Добавить:
[Storj2]
title=Storj
description=Storj mining
ports=28968/tcp|28968/udp
[Board2]
title=DashBoard
description=Dash Board
ports=14003/tcp
Сохранить файл Ctrl+O Enter, закрыть Ctrl+X
sudo ufw allow Storj2
Открыть порт 28968 для работы узла Storj на сервере
sudo ufw allow Board2
Открыть порт 14003 для доступа к Панели ноды, впоследствии при открытии еще одного узла надо будет добавить другой порт в правила. Потому что второй и последующие узлы будут работать в отдельных контейнерах и для них нужно будет открывать другие порты.
Про работу с UFW смотрим тут
Для второго и последующих узлов хранения надо открывать другие порты отличающиеся с последним узлом для удобства на единицу.
Создание новой личности
Повторюсь некоторые этапы были уже сделаны и описаны тут поэтому переходим к обязательным шагам в любом случае.
Генерация ключей
identity create storagenode
Как рекомендовал ранее, можно сгенерировать ключи на более мощном пк
Разрешить личность
На этой странице https://storj.dev/node/get-started/auth-token нужно ввести свой е-майл адрес, доказать что ты не робот 😆 нажать Continue будет выдан код.
identity authorize storagenode <Вставить полученный код>
Создание личности на виндовс 10
Скачать https://github.com/storj/storj/releases/latest/download/identity_windows_amd64.zip Распаковать в любую папку например C:\identity_windows_amd64
. Открыть терминал C:\Users\BlackMAMbA\cmd.exe
. Ввести команду identity.exe create storagenode
. Потом identity authorize storagenode <Вставить полученный код>
. В итоге в папке C:\Users\%USERNAME%\AppData\Roaming\Storj\Identity\storagenode
будут ключи ноды.
Копирование ключей
Создать каталог с ключами для второго узла:
mkdir mkdir ~/.local/share/storj/identity/storj-node-02-identity
cp -r ~/.local/share/storj/identity/storagenode/* ~/.local/share/storj/identity/storj-node-02-identity/
или сгенерированные ключи скопировать с пк виндовс на сервер:
scp -r C:\Users\%USERNAME%\AppData\Roaming\Storj\Identity\storagenode USER@yIP-SERVER:~/.local/share/storj/identity/storj-node-02-identity/
Подтвердить личность
Это проверка на то что получены все идентификационные файлы, проверку проводить на сервере куда уже скопированы сгенерированные ключи:
grep -c BEGIN ~/.local/share/storj/identity/storj-node-02-identity/ca.cert
На выходе должна быть цифра - 2
grep -c BEGIN ~/.local/share/storj/identity/storj-node-02-identity/identity.cert
На выходе должна быть цифра - 3
Совет
Если цифры отличаются необходимо повторить Создание личности
Настройка узла хранения
docker run --rm -e SETUP="true" \
--user $(id -u):$(id -g) \
--mount type=bind,source="<identity-dir>",destination=/app/identity \
--mount type=bind,source="<storage-dir>",destination=/app/config \
--name storagenode storjlabs/storagenode:latest
- identity-dir -
/home/USER/.local/share/storj/identity/storj-node-02-identity
- тильду~
не применять в пути - storage-dir -
/home/storj/seagate
Запуск узла хранения
Для второго и последующих узлов хранения в контейнере надо прописать другие порты отличающиеся с первым узлом для удобства на единицу
docker run -d --restart unless-stopped --stop-timeout 300 \
-p 28968:28967/tcp \
-p 28968:28967/udp \
-p 14003:14002 \
-e WALLET="0xXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" \
-e EMAIL="user@example.com" \
-e ADDRESS="domain.ddns.net:28967" \
-e STORAGE="500GB" \
--user $(id -u):$(id -g) \
--mount type=bind,source="<identity-dir>",destination=/app/identity \
--mount type=bind,source="<storage-dir>",destination=/app/config \
--name storagenode2 storjlabs/storagenode:latest
- WALLET - номер кошелька
- EMAIL - почтовый адрес, который был указан при создании ключа
- ADDRESS - поставить статический ip или домен, можно спецом сделать поддомен для каждого узла, при желании. Я просто указал домен который у меня есть.
- STORAGE - указать сколько отдаем дискового пространства в моем случае 500GB
<identity-dir>
-/home/USER/.local/share/storj/identity/storj-node-02-identity
<storage-dir>
-/home/storj/hitachi
- name storagenode2 - имя контейнера, поскольку это второй контейнер запускаемый на сервере ему нужно уникальное имя. Для последующих так же нужны уникальные имена.
Заполнив своими данными строки вставить в терминал и выполнить.
Проверка работы контейнеров
docker ps -a
Страница статистики
В браузере набрать LOCAL-IP-SERVER:14003
Комментарии