Общие вопросы по STORJ

Доброго дня, уважаемое community.

На днях нашел STORJ, продукт кажется интересным, размещать гигабайт за 1 цент это шикарно и я надеюсь, что будущее у проекта будет успешным.

Хочу попробовать стать SNO и в связи с этим хочу прояснить некоторые моменты. Сразу прошу меня извинить, информация, которой владею я, взята из FAQ, форума и в целом из интернета, скомпилирована у меня в голове и, возможно, нижеследующее будет поражать вас уровнем медихлориан:)

  1. Думаю, самый главный для меня вопрос. Я читал, что нельзя размещать более одной ноды в пространстве одной /24. Но читал также и то, что операторам советуют расширять емкости путем подключения новых накопителей в контейнере. То есть или я неправильно понимаю что такое “нода” (а понимаю я это равным ПО + аппаратной в том или ином виде части, то есть 10 виртуальных машин на хосте = 10 нод), или что-то с подсетями не то, или одно из двух.

Главным этот вопрос для меня является потому, что, условно, у меня сейчас есть /26 сеть и я не понимаю сколько я смогу из нее создать нод (и смогу ли). Плюс, если рассматривать размещение в ДЦ, то гарантий, что в конкретной /24 не присутствует машины, запущенной ранее, нет.

  1. Как правильно с точки зрения STORJ организовывать ноды? Приведу примеры:
    а) 1 физическая нода (селерон / расберри) + 1 накопитель;
    б) 1 виртуальная нода + 1 накопитель (на мощном хосте где, допустим, 20 виртуалок);
    в) 1 физическая нода + много накопителей, где 1 накопитель = 1 том;
    г) хост-машина с пачкой накопителей в LVM и виртуальными нодами;
    д) … ?

  2. Нужна или вредна будет избыточность (например, RAID 5E)?

  3. В каком окружении лучше / быстрее работает софт?

  4. В случае, если у меня на одном хосте будет крутиться несколько виртуалок, как последние себя поведут в случае умирания (и физического, и программного) хоста?

  5. Пространство, выделяемое для STORJ, должно быть обязательно реализовано на отдельном томе или нет?

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

Всем большое спасибо!
Будьте здоровы!

  1. Ограничений нод на ИП или сеть/24 нет. Есть выбор нод при загрузке на саттелите, и он будет брать только одну ноду из сети/24. Т.о. чем больше нод в одной и той же сети/24, тем меньше они будут участвовать в выборе=>меньше траффика.
  2. Всё зависит от загрузки сети. Если высокая - лучше справляются ноды с хорошим железом. Но Высокая была только во время январского теста и пока не намечается.
    2.а рекомендации STORJ, да 1нода-1винт
    2.б виртуалки плодить не надо, оно и на линукс и на виндовс сервисами - запускай сколько хочешь экземпляров.
  3. Реально нода первые месяцы получает на всю оплату, что требует от ноды длительной жизни. Это как бы намекает на рейд и прочее.
  4. лучше, когда ближе к саттелиту/клиентам, железо и канал опять же только на нагрузке проявится.
  5. Плохо поведут. если БД помрёт вообще можно будет хоронить и заводить новую.
  6. Нет. В основном будут мелкие файлы и частые записи в БД.

Немного дополню.
Нода (узел) - это запущенный экземпляр storagenode либо в виде docker контейнера, либо отдельным сервисом непосредственно на хосте.
Если потеряются только SQLite DB, но данные и identity останутся на месте, то нода выживет, однако локальную статистику вы потеряете безвозвратно, использование и свободное место будут отображаться некорректно.
При выходе оборудования (хоста), но целых данных и identity, вы можете запустить узел на другом оборудовании. Если либо данные либо identity потеряны - весь узел потерян.

Близость к сателлиту роли не играет, а вот близость к клиентам - очень. Более близкие к клиенту узлы получают большее количество трафика.

Сателлит - это адресная книга узлов, сервис аудита и восстановления данных (только в этом случае имеет значение близость к сателлиту - чтобы получать больше исходящего трафика на передачу кусочков для восстановления), биллинг клиентов и оплата операторам узлов.

Данные клиентов через него не протекают, все контакты - прямые, поэтому проброс портов в случае NAT - обязателен, так же как наличие “белого” IP, он может быть динамическим, но обязан быть публичным (WAN IP совпадает с публичным IP), иначе клиенты не смогут обмениваться данными с вашим узлом.

Специальное оборудование не требуется, сеть уже имеет достаточную надёжность и умеет восстанавливать потерянные данные, однако для оператора потеря данных это потеря удержанной суммы и времени.
Мы не можем требовать от операторов вкладываться в RAID и оборудование, так что это решать вам.
Пока что по расчётам RAID менее выгодный, чем каждый узел на своём HDD. В случае RAID один или два диска будут использованы на чётность, когда они могли бы быть использованы под узлы.
Потенциальный доход также должен быть выше, когда они будут заполнены чем в случае RAID.
При выходе из строя всего RAID (в случае потери более одного диска для RAID5, а это практически 100% вероятность для consumer дисков с URE 10^14 как раз в момент перестроения массива после замены диска) весь узел будет потерян.
В случае выхода из строя одного узла в конфигурации один узел-один диск вы потеряете только один узел с частью данных (да, данные одного узла всё равно будут распределены между всеми вашими узлами за одной /24 подсетью), при этом остальные будут продолжать работать.

@bambr, @Alexey, доброго вам дня и большое спасибо за ответы. Безусловно, стало гораздо яснее. Но у меня есть два уточнения, по которым пока неясно:

  1. Я, видимо, не совсем корректно выразился. Под “окружением” я имел в виду софтовое окружение, то есть какая ОС предпочтительнее?
  2. Если у меня есть диск, то могу ли я на нем и разместить ОС, и выделить место под хранение? Или же могу, но если это будут два логических тома, то есть для STORJ всегда надо выделять отдельный том?

Насчет RAID я да, согласен, что ребилд там, туда-сюда, поэтому и рассматривал что-то вроде 5E, там, всё же, с этим попроще.

PS Правильно ли я в итоге понял, что, если что-то с нодой случается, то проще запустить новую, нежели чем восстанавливать старую (не учитывая вопрос пенальти для свежих)?

по тонкостям работы нод проще спросить в телеграмм https://t.me/storjRU
В ОС значительной разницы нет. Докер, нативно в линукс и бинарник в виндовс примерно одинаково.
пока характер нагрузки ноды - очень много мелких файлов.
тест разных файловых систем в нескольких комбинациях был в канале не так давно.
Вся нагрузка всеравно приземлится на ваши физические диски. Следите за IOS и делайте выводы.
С текущей нагрузкой одинаковый результат на канале 16Мб/с с одним диском и 100Мб/с с зеркалом из 6ти дисков.
Первый месяц-два нода будет проходить “веттинг” и практически не будет участвовать в общем трафике.
Сейчас нет дисквалификации по простою - можно спокойно заниматься пробами.

1 Like

Можете. Но лучше так не делать. Данные и identity лучше разместить на отдельном физическом диске. Если такой возможности нет, то делить диск бессмысленно.

Официальной поддержки в телеграм нет.

A post was split to a new topic: Подскажите пожалуйста правильный порядок действий для изменения параметров

@bambr, спасибо за ответы, канал изучу.
@Alexey, возможность, безусловно, есть, рассматриваю разные варианты конфигов.

И last but not least. Как в целом отдача в финансовом плане? Я понимаю, что всё это очень приблизительно и миллионов здесь явно нет, но какая-то наработанная статистика на условный терабайт, хотя бы личная, должна быть? И как вообще идет заполнение нод данными? Будет ли спрос на несколько нод по 4-8Тб? Накопители дело недешевое, у меня везде сейчас SSD в том или ином виде, на магнитные надо тратиться. А впустую этого делать не хочется.

Благодарю.

Статистики такой нет. Она индивидуальна для вашей ноды.
Данные загружаются и скачиваются клиентами, поэтому никакого калькулятора нет.
Есть только эстиматор, который просто показывает сколько вы можете получить, если ресурсы будут использованы на 100%, однако не даёт никаких предсказаний.

Мы не рекомендуем вкладывать средства только для Storj - скорее всего не окупится. Как раз именно из-за непредсказуемости использования ресурсов вашей ноды.
Мы рекомендуем использовать только то, что у вас уже есть и если оно будет онлайн независимо от того, будет там storagenode или нет. В этом случае любой доход - в плюс, потому что затраты уже и так вами оплачиваются.

Я бы порекомендовал запустить одну ноду и через пару месяцев посмотреть, как оно идёт. Первый месяц нода будет проверяться (упомянутый раньше vetting) и сможет получать не более 5% от возможного трафика. А вот со второго и дольше - уже можно смотреть.
К сожалению, доходность прошлого месяца не гарантирует, что следующий будет таким же.

1 Like