Несколько вопросов и предложений

  1. У меня “серый ip”, поэтому использую сервис portmap.io. Какие существуют недостатки использования данного сервиса по сравнению с выделенным ip (уменьшение скорости передачи, дополнительная нагрузка и как следствие увеличение энергопотребления и тп)?
  2. Как осуществить проверку целостности данных и правильности подключения базы данных после переноса дисков на другую систему.
  3. Хотелось бы увидеть подробные рекомендации по конфигурации оборудования для создания отказоустойчивой системы (какой RAID использовать, бесперебойник с функцией экстренного отключения и гашения импульса, скорость чтения/записи дисков и тд). Это бы существенно сократило количество вопросов от недовольных и получивших бан;
  4. Где почитать о токене STORJ и порядке его эмиссии?

add: Первый вопрос самый главный, хотелось бы услышать подробный ответ, на 2 и третий нашел ответы. Но всё же лучше RAID5 или 10? (отмечалось, что не рекомендуется на больших? дисках. Конфигурация 6 HDD по 2TB RAID5 подойдет или лучше как-то по другому?)

Неплохо бы было сделать регулярно обновляемый официальный FAQ по актуальным вопросам. Информация очень разрознена, и зачастую противоречива. Например на форуме указывалось, что лучше сделать несколько нод в каждой по одному диску, потом где-то попалась информация (по-моему более новая), что несколько нод на одном запускать нецелесообразно. Кто-то за, кто-то против RAID в любом его проявлении (понятно, что это соотношение риск/прибыль), но всё же хотелось бы услышать официальные рекомендации.

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

Такой статистики и исследований нет. Но вы можете поделиться своим мнением, особенно если есть с чем сравнить.
Как любой VPN он добавляет latency, как следствие - меньше выигранных кусочков, потому что всегда найдутся узлы без VPN.

https://storj.io/blog/categories/tokens
и
https://storj.io/blog/categories/token-report

Лучше вообще без RAID. Один диск - один узел. Вместе они будут получать как один узел всё равно, потому что за одним публичным IP. Если выйдет из строя один - у вас останутся остальные.
В случае RAID из больших дисков повышается вероятность разрушения всего массива из-за URE во время перестроения массива после выхода из строя одного диска:

Но если у вас уже есть RAID, то вы можете его использовать, только постарайтесь его обновить до RAID6 или RAID10, а ещё лучше - zfs (не без нюансов: Topics tagged zfs)
Ни в коем случае не используйте RAID0 (JBOD, stripe, LVM, хранилища без чётности и т.п.) - при выходе из строя одного диска теряется узел целиком.
Избегайте также RAID5, при выходе из строя одного диска он становится RAID0, при перестроении с вероятностью близкой к 100% массив будет разрушен из-за URE.

https://support.storj.io/hc/en-us

И, конечно же, getting started - Storj Community Forum (official)

с полгода назад держал ноду с помощью portmap.io, проброс порта по ssh, был набросан скрипт для переподключения в cron, порядка трех месяцев все было хорошо, затем начались проблемы со стороны сервиса с подключением, несоветую в общем

1 Like

Здравствуйте, я не специалист в данном вопросе и пришлось потратить немало времени чтобы найти альтернативу выделенному ip/noip сервису. Было бы неплохо добавить в FAQ вариант с VPN. Грубо говоря через portmap осуществляется маршрутизация трафика, правильно я понимаю? Просто VPN у рядовых пользователей ассоциируется с проходом всего трафика через VPN сервер.

Спасибо, понятно.

Да уже успел отвалиться на 11 минут за 36 часов работы. Не подскажете какие есть альтернативы данному сервису?

Alexey, можно ли доверять Uptime Checks в дашборде? Вроде как он не совсем корректно работает (как отмечалось на форуме). При моем офлайне 11 минут из 36 часов показывает Uptime Checks 93.6%. Uptime Checks сбрасывается ежемесячно и должен быть минимум 99.3%? Если меньше, то дисквалификация автоматом? Нет ли в планах сделать менее строгие требования?

Да, всё верно.

Маршрутизируется только трафик указанного порта. Хотя зависит от настроек и VPN провайдера. Обычно функция проброса портов в VPN подразумевает маршрутизацию только трафика для этого порта.

В первоначальном варианте она считает соотношение количества не успешных Uptime checks к успешным. На dashboard она к тому же за всё время жизни узла.
Из-за того, что реализация имеет недостатки, эта метрика не используется для дисквалификации и находится на переработке:

В результате ожидается увеличение допустимого периода оффлайн. Но деталей пока нет.

ngrok еще можно посмотреть, но стабильнее всего работает сервис noip, динамический днс

ngrok посмотрел- там платный тариф, $5 в мес минимум.

В том-то и дело, что у меня “серый” ip, тут либо через сервисы типа portmap.io, либо заказывать услугу статического ip у провайдера. Или я ошибаюсь и есть какие-то альтернативы?

Не поможет в случае серого IP. Это когда WAN IP не совпадает с публичным на 2ip.ru

Алексей, ну подскажите, пожалуйста. Использую сервис portmap.io. Как узнать скорость вход/исход соединения по VPN. Speedtest.net не ведет трафик через VPN portmap.io и не отражает скорость подключения к сервисам storj. Такое ощущение, что сильно режет скорость portmap.io.

Остановите узел, запустите iperf в режиме сервера:

iperf -s -p 28967

Запустите с другого сервера (из другой сети) iperf в режиме клиента:

iperf -c your-portmap.portmap.io -p 54353

your-portmap.portmap.io - ваш домен от portmap.io
54353 - ваш порт от portmap.io

Так вы узнаете скорость канала из той другой сети до вашего узла.
Чтобы узнать скорость от вашего узла до этой другой сети:

iperf -c your-portmap.portmap.io -p 54353 -R

Но это бессмысленный тест. В сети трафик ходит между клиентами и узлами. Например, когда клиент загружает в сеть и ваш узел выбран для загрузки, то к вам идёт только 1 кусочек из 80, причём ваш узел только 1 из 110. При скачивании выбирается 35 узлов, когда нужны только 29.
Никакой предсказуемой скорости или предсказуемого использования канала нет. Никакие прошлые результаты не помогут предсказать будущие.

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

В случае VPN, провайдер обладает ограниченным числом IP, через которые он публикует серверы. Если окажется несколько узлов в одной подсети /24, то они будут делить трафик между собой. Это тоже ожидаемо.

Единственный способ избежать ограничений - получить публичный IPv4, он может быть динамическим, главное - чтобы был публичным.
Вы попробуйте спросить вашего ISP, может они могут предоставить вам публичный IP. Не пытайтесь объяснять про Storj, скажите что вы хотите иметь доступ к IP-камере из интернет, обычно до них быстрее доходит, что вам требуется.
В большинстве случаев провайдеры идут навстречу.

Спасибо за оперативный ответ! Проверил-таки скорость 2 MBytes/sec макс, иногда меньше 1. Для меня, как не специалиста это было не очевидно. Изначально проверял, через speedtest.net, там скорость была нормальной.
Взять белый IP возможно, но это целое дело в моем случае, сейчас просто хочу проверить как storj работает.
Сейчас взял местный VPS 200 MBytes/sec (Ubuntu) без ограничения трафика. Есть ли способ быстро поднять на нем сервер openVPN по типу сервиса portmap.io. Или может быть сделать как-то по-другому? Как лучше это сделать?

А ещё на данный момент это выгоднее, так как аренда VPS с высокой скоростью и без ограничений по трафику (с выделенным белым IP) получается дешевле, чем аренда белого IP у провайдера (в моем случае).

2MByte/s неплохая скорость, это 16Mbit/s

Да, вы можете поднять там сервис OpenVPN и использовать его для перенаправления. Вам нужно будет настроить маршрут на VPS, чтобы порт пробрасывался на IP внутренней сети.

Не получается перенаправить порты.

Устанавливаю сервер openVPN скиптом https://github.com/angristan/openvpn-install

Unless your server is behind NAT, it should be your public IPv4 address.
IP address: 45.89.88.5 (айпишник для примера, изменил его немного)

What port do you want OpenVPN to listen to?
    1) Default: 1194
    2) Custom
    3) Random [49152-65535]
Port choice [1-3]: 2

Custom port [1-65535]: 28967

What protocol do you want OpenVPN to use?
UDP is faster. Unless it is not available, you shouldn't use TCP.
    1) UDP
    2) TCP
Protocol [1-2]: 2

What DNS resolvers do you want to use with the VPN?
    1) Current system resolvers (from /etc/resolv.conf)
    2) Self-hosted DNS Resolver (Unbound)
    3) Cloudflare (Anycast: worldwide)
    4) Quad9 (Anycast: worldwide)
    5) Quad9 uncensored (Anycast: worldwide)
    6) FDN (France)
    7) DNS.WATCH (Germany)
    8) OpenDNS (Anycast: worldwide)
    9) Google (Anycast: worldwide)
    10) Yandex Basic (Russia)
    11) AdGuard DNS (Anycast: worldwide)
    12) NextDNS (Anycast: worldwide)
    13) Custom
DNS [1-12]: 11


Do you want to use compression? It is not recommended since the VORACLE
attack make use of it.
Enable compression? [y/n]: n

Customize encryption settings? [y/n]: n

Tell me a name for the client.
The name must consist of alphanumeric character. It may also include an
underscore or a dash.
Client name: newStorjVPN

На клиенте VPN соеденение есть (приватный IP: 10.8.0.2). Порт (45.89.88.5:28967) через https://www.yougetsignal.com/tools/open-ports/ прослушивается.

Настраивал по ссылке:

Из всего только изменил номера портов и адрес VPS сервера:

iptables -t nat -A PREROUTING -d 45.89.88.5 -p tcp --dport 28967 -j DNAT --to-dest 10.8.0.2:28967
iptables -t filter -A INPUT -p tcp -d 10.8.0.2 --dport 28967 -j ACCEPT

В config.yaml на клиенте (windows) изменил строку на:
contact.external-address: 45.89.88.5:28967

Все перегрузил, сохранил. Но узел офлайн.
Подскажите, пожалуйста, что не так, что исправить. Это будет полезно не только мне.

iptables -t nat -A PREROUTING -p tcp --dport 28967 -j DNAT --to-dest 10.8.0.2
iptables -t filter -A FORWARD -p tcp -d 10.8.0.2 --dport 28967 -j ACCEPT

10.8.0.2 - IP на клиенте.

это правильно

Спасибо, заработало!
Но почему-то работает в следующем порядке:

  1. После перезагрузки VPS заппускается openVPN;
  2. Подключаюсь к VPN (но узел пока-что офлайн);
  3. На VPS в коммандной строке ввожу:
    iptables -t nat -A PREROUTING -p tcp --dport 28967 -j DNAT --to-dest 10.8.0.2
    Получается, что без второй строки всё работает, узел отмечен как подключенный. Можно ли обойстись без этой второй строки?
    iptables -t filter -A FORWARD -p tcp -d 10.8.0.2 --dport 28967 -j ACCEPT
  4. Узел сразу же онлайн;
  5. Если разорвать VPN соединение на клиенте, то занаво уже VPN клиент не соеденяется (45.89.88.5:28967 после разрыва закрыт), нужно по новой перезагружать VPS и повторять все описанные выше шаги.

Подскажите, как это исправить?

Возможно, при повторном подключении ваш клиент получает другой IP, не 10.8.0.2, а, скажем 10.8.0.3
Вам нужно настроить статику на сервере OpenVPN: https://kifarunix.com/assign-static-ip-addresses-for-openvpn-clients/#:~:text=Create%20a%20File%20to%20Store,%2Fopenvpn%2Fserver%2Fserver.

По поводу filter и forward: https://ittricks.ru/administrirovanie/linux/531/iptables-poryadok-proxozhdeniya-tablic-i-cepochek

Можно без этого правила, но тогда к вам может пойти трафик не только для узла.

Правила маршрутизации можно добавлять автоматически: https://forums.openvpn.net/viewtopic.php?t=7823

A post was split to a new topic: Это нормально, что Disk Space Used за 13 августа 0 Bytes*h