Size: a a a

2020 April 17

i

ivdok in NNLUG
Сразу могу сказать, что у системы с чётным количеством нод существует проблема split-brain, когда одна из нод падает, а на другую пришла запись, и возникает вопрос, кому верить. Обычно используют или схему N+1, или добавляют арбитра, который будет следить за актуальностью метаданных. mdadm, кстати, тоже от этого страдает - если на обе единички вносились изменения, когда они подключались раздельно, то девайс не соберётся.
источник

СЕ

Сергей "Mist" Ермейкин in NNLUG
Мы про обычный кластер или ипфс кластер?
источник

i

ivdok in NNLUG
И ещё есть вопрос по поводу того, как хранить метаданные, вроде дат и ACL
источник

СЕ

Сергей "Mist" Ермейкин in NNLUG
Fsarchiver берет на себя эту работу.
источник

i

ivdok in NNLUG
Сергей "Mist" Ермейкин
Мы про обычный кластер или ипфс кластер?
А без разницы, даже если существует журнал транзакций, не факт, что нам нужна именно последняя версия
источник

СЕ

Сергей "Mist" Ермейкин in NNLUG
Так если новая версия файла - новый хеш.
источник

i

ivdok in NNLUG
Ну вот рассмотри ситуацию - потеря связности, каждая нода считает, что она единственная осталась онлайн, и записывает изменения на общий сторадж. Когда связность восстановится, будет конфликт изменений
источник

i

ivdok in NNLUG
Для баз данных, например, это может быть фатально
источник

СЕ

Сергей "Mist" Ермейкин in NNLUG
Нода = отдельный сторадж. Вроде, именно так в ипфс.
источник

i

ivdok in NNLUG
Хорошо, допустим у каждого файла свой хэш, и мы не дописываем, а заменяем новой версией. Версионирование IPFS поддерживается, насколько я понял, но как его заюзать, чтобы например выудить нужную нам копию файла?
источник

СЕ

Сергей "Mist" Ермейкин in NNLUG
Просто не удалять старый. :)
Тут больше надо крутить fsarchiver, чтобы он делал указание файл - его хеш.
источник

СЕ

Сергей "Mist" Ермейкин in NNLUG
Файл_0 - хеш0.
Файл_0_new - хеш1.
источник

СЕ

Сергей "Mist" Ермейкин in NNLUG
Захотел старую версию, иди и забирай через хеш0.
источник

СЕ

Сергей "Mist" Ермейкин in NNLUG
ivdok
Хорошо, допустим у каждого файла свой хэш, и мы не дописываем, а заменяем новой версией. Версионирование IPFS поддерживается, насколько я понял, но как его заюзать, чтобы например выудить нужную нам копию файла?
Тут не происходит замены. Тут происходит заливка нового файла. На самом деле, очень хороший вопрос в том плане, что умеет ли ипфс хранить дельту между файл_0 и файл_0_new.
источник

i

ivdok in NNLUG
И тогда возникает ещё один вопрос. IPFS - глобальная P2P-сеть, и большинство файлов явно шарить не хочу. Но если я, допустим, пропущу тарбол с системой через LUKS/VeraCrypt/etc, то кто будет сидировать? Аплинк не везде симметричен даунлинку, например на DOCSIS/ADSL-производных технологиях провайдеров, используемых в штатах и европе. Ну и у нас могут порезать, если какая-нибудь крыса предложит законопроект об ограничениях аплинка ради борьбы с пиратством/педофилией/etc.
источник

СЕ

Сергей "Mist" Ермейкин in NNLUG
ivdok
И тогда возникает ещё один вопрос. IPFS - глобальная P2P-сеть, и большинство файлов явно шарить не хочу. Но если я, допустим, пропущу тарбол с системой через LUKS/VeraCrypt/etc, то кто будет сидировать? Аплинк не везде симметричен даунлинку, например на DOCSIS/ADSL-производных технологиях провайдеров, используемых в штатах и европе. Ну и у нас могут порезать, если какая-нибудь крыса предложит законопроект об ограничениях аплинка ради борьбы с пиратством/педофилией/etc.
Тоже правильный вопрос. Я лично это вижу так - ты поднимаешь свои приватные ноды(или то, что умеет отдавать через ипфс). Они держат все твои файлы. Отдают файлы они только тебе, а не в мир. Но мир является у тебя подстраховщиком в том плане, что ты можешь вытянуть какие-то файлы у него, которые ты скачал в интернете. Например, больше всего на диске у меня занимает торренты. Личное у меня тоже есть, но не думаю, что это можно исчислять терабайтами.
Если это сравнивать с продом, то создавай локальные точки хранения файлов и обменивайся между ними приватными данными.
источник

A

Alex_5252 in NNLUG
Как-то заархивировал я fsarchiver файлики, а разархивировать не смог, т.к. у него формат сменился. Было неудобненько...
По описанию - jigdo - https://ru.wikipedia.org/wiki/Jigdo https://github.com/drothmaler/jigdo Скорее всего есть аналог
источник

СЕ

Сергей "Mist" Ермейкин in NNLUG
>20 May 2006
Грустно, а так гляну, спасибо.
источник

A

Alex_5252 in NNLUG
Сергей "Mist" Ермейкин
>20 May 2006
Грустно, а так гляну, спасибо.
https://git.einval.com/cgi-bin/gitweb.cgi?p=jigdo.git;a=summary
У него там свой гит, с блэкджеком...
источник

A

Alex_5252 in NNLUG
Хо-хо! Госдурка опять

Опять хочет блокировочек в интернетах:

https://www.kommersant.ru/doc/4323827

На это раз выяснилось (ВНЕЗАПНО), что сайты-то блокируются, а приложения — нет.

Коллеги, которые занимаются разработкой мобильных приложений (ну, или расскажите своим знакомым) — у меня для вас есть очень хорошая новость. РКН не сможет блокировать приложения, если вы используете SDK NewNode — вот это:

https://github.com/clostra/newnode

Суть, коротко: там используется механизм, близкий к BitTorrent, который позволяет передавать контент "от приложения к приложению", что делает любые блокировки бессмысленными. Ну, еще снижает нагрузку на инфраструктуру и защщищает от DDoS до кучи.

А еще — там недавно появилась фича D2D (divece-to-device). То есть, контент _может_ быть доступен вообще без интернета. Не так просто, конечно, но таки да.

Если нужна техподдержка от разработчика — обращайтесь ко мне.
источник