Перенос данных на новый сервер с увеличением объема дисков

Можно выбрать любой не занятый.

И так же можно поставить несколько серверов, просто входящий трафик будет делиться на всех? А если 1 или 2 заполнены, данные пойдут на следующие?

Принцип простой - когда выбираются узлы, они фильтруются по подсети /24. То есть для одного сегмента может быть выбран только один узел из всех за одной подсетью.
Таким образом достигается децентрализация - кусочки одного сегмента никогда не окажутся в одном месте.

Каждый новый узел должен быть проверен. Пока он проверяется, он может получать только 5% от потенциального трафика, пока не будет проверен. Чтобы пройти проверку на одном сателлите он должен пройти 100 аудитов. Для одного узла это занимает не меньше месяца.

В случае нескольких узлов в одной подсети, срок проверки может быть во столько же раз дольше, сколько узлов в этой подсети.
Поэтому лучше запускать следующий когда предыдущий почти заполнен или хотя бы проверен. Тогда проверка не будет занимать вечность.

Для понимания как загружаются файлы в сеть:


Аудиты:

Выбор узлов: node-selection.md

Алексей, а если так: на компе внешний жесткий диск и я хочу просто его подменить? грубо говоря на такой же только большего объема? Просто подключаю по юсби и копирую вручную? и просто пути меняю?

Да, всё верно. Я рекомендую использовать robocopy, потому что:

  • его можно запускать, пока узел работает;
  • он копирует разницу, а не всё подряд.

Но нужно запускать несколько раз, потому что узел будет продолжать менять данные, пока работает.
И потом ещё один финальный запуск после остановки исходного узла. Желательно отключить службу, чтобы внезапное обновление или перезагрузка не запустила его обратно.

То есть будет что то похожее?:
robocopy d:\storagenode \N:\storagenode\ /MIR

Скорее так:

robocopy d:\storagenode N:\storagenode\storage /MIR

Я добавил дополнительную папку storage, которую вы потом и будете указывать в качестве папки с данными.
Это сделано для совместимости с docker версией, если надумаете использовать её.
Windows GUI использует указанный путь, а docker версия дописывает к нему storage.

Так что при переходе на docker вы будете указывать путь N:\storagenode, а storage он додумает сам. Это спасёт от дисквалификации в будущем, если вы про это забудете (docker версия создаст папку storage, если её не будет :confused:, но она будет пустой, а с точки зрения сателлита это будет означать, что все данные потеряны).

В Windows GUI вы будете указывать прямой путь, то есть N:\storagenode\storage

K 4em ne nravitsa to 4to u tebja stoit? u menja na takom po 5-6 nodov Windows GUI rabotaju.
1 disk 1 node

Думаю, что из-за этого:

u menja stoit v bolshoi komnate 4 takih i rabotaet o4en tiho, nado vsego lish pomenjat ventiljatory na tihije, stoit o4en djoshevo. U etih korpusov est bolshoi pljus v vide filtrov, tak kak node rabotaet 24/7 to bez filtrov vnutri stanovitsa bystro o4en grjazno i stradaet ohlazhdenie noda. Hotja esli tolko 1 disk ispolzujetsa, to kone4no raspberry budet namnogo bolee ekonomnym reshenijem po potrebleniju elektri4estva i shuma.

Alexey, а если я просто меняю жесткий на компе под виндой gui, делаю robocopy d:\storagenode e:\storagenode /MIR повторяю пока разница не будет маленькой, стопаю storj командой net stop storagenode, потом повторяю robocopy d:\storagenode e:\storagenode /MIR, после убираю физически старый диск, присваиваю ему D:\ и все?

Просто делал все с помощью freefilesync во время работы ноды, синхронизировал только где даные, потом отключал ноду доставал винты и досинхронил на другой машине, после новый винт ставил и нода не заводилась…

Здравствуйте @Sarumanvar,
Добро пожаловать на форум!

Да, можно как вы описали. Иногда Windows не даёт просто так поменять имя диска, так что возможно проще поменять его в config.yaml с помощью текстового редактора Notepad++ (не используйте обычный Notepad, он меняет кодировку).
robocopy это проверенное надёжное решение. storagenode после копирования работает нормально, главное - не забыть сделать синхронизацию когда исходный узел остановлен, при этом должны удалиться wal файлы на узле назначения и досинхронизироваться базы данных.

Ещё момент - начиная с версии 1.11.1 база данных orders.db параллельно пишется в файлы на диске (это папка orders). Она создаётся там, где расположен файл конфигурации. В docker версии это в папке с данными, а в Windows GUI - в "C:\Program Files\Storj\Storage Node".
Так что необходимо синхронизировать и эту папку тоже (актуально для разных ПК или при переустановке).

Спасибо, у меня решилось просто переустановкой с параметром update:), видимо в таком случае он сам находит orders.db и копирует в папку где установлена прога.

Всем добрый день!
Алексей, я хочу перейти с Windows GUI на Windows с Docker. Папку “orders” переносить с “C:\Program Files\Storj\Storage Node” на "D:\Storj\ надо?

Да.
А данные Windows GUI должны быть в папке D:\Storj\storage
То есть если в config.yaml было storage.path: D:\Storj\, то данные из папки D:\Storj\ сначала надо перенести в подпапку storage.
Можно так (PowerShell):

mv D:\Storj D:\storage
mkdir D:\Storj\
mv D:\storage D:\Storj\

А потом уже переносить orders
И версию Docker desktop нужно 2.1.0.5, остальные глючные.

1 Like