RAID5 на microSD - версия 2016

Решил повторить эксперимент пятилетней давности. Не знаю, почему, просто думал что что-то упустил.

Для тех, кому лень читать предысторию - это была попытка сделать RAID5-массив из говна и палок, а именно - набора microSD карт, USB-хаба и кабеля питания для этого самого хаба.

Опять-таки для тех, кому лень читать - это фейл, который, правда научил меня некоторым трюкам.

Чтобы не быть (в очередной раз) Капитаном-Очевидность, расскажу, зачем вам может понадобиться подобная хрень.

Причины "за"

  • Вы параноик, и думаете что за вами следят и жесткие диски/SSD сплошь заражены бэкдорами от АНБ. Поэтому вы хотите сами собрать себе жесткий диск/ССД, но схему в интернете не нашли.
  • Вы параноик и ждете "вежливых парней в сером", которые придут к вам и попросят поделиться вашей коллекцией винтажной порнографии. А тут вы такие - херак! И флешку в кофемолку. Вжух, вжух - и no logs - no crime.
  • У вас неограниченный доступ к залежам флешек.
  • Вы просто больны на голову, ещё сильнее чем я.

Что может получиться

Короче, финально у вас, вполне возможно получится оттакая хреновина на выходе. И да, с синей изолентой всё становится лучше.

USB RAID5 microSD

Это десять microSD-карт, установленных в ридеры, которые соответственно установлены в два семипортовых хаба, соединенных между собой.

Внутри программный RAID5, на нём btrfs с компрессией и принудительным коммитом каждые 10 минут ("compress=lzo,commit=600").

Как оно вообще работает

Ну второй раз команду создания рейда в линуксе описывать не буду, но приведу некоторые tips & tricks

  • Карточки изначально 4го класса (с распродажи), но при этом прокачаны до 6го путём оптимизации.
  • Каждый из хабов питается от БП. Это чертовски важно для всей затеи - карта с ридером потребляет немного, когда одна. А когда их 10 - уже набегает.
  • Не все ридеры одинаково полезны. Так, например с теми что на картинке просто повезло - они проходят тест на стабильность (распаковка 1 гб архива с исходниками - короче, кучей мелких файлов). А вот купленные в одном известном магазине - нифига, они на таком тесте "вылетают". Кстати, ридеры тупо с Ali.
  • btrfs с возможностью компресии на лету уменьшает количество обращений к диску, что ещё увеличивает как скорость работы, так и срок службы.
  • На каждой карточки две партиции - одна мелкая и у нее есть лейбл, скажем raid03, на самом ридере тоже пометка "03", вторая же партиция - собственно кусок рейда. То есть как бы диски не определились - sdc,sdd... в любом порядке - всегда можно вычислить и быстро заменить сломанную флешку.

Но, как говорится, don't hold your breath - финально устройство либо потеряет флешку, либо сбросится один из хабов, либо просто одна из microSD придёт в негодность. Конечно, на то и RAID5, чтобы заменить "по быстрому", но... слишком уж быстро вылетает :). Ну и переходим ко объяснениям, почему, собственно так лучше не делать.

Не делайте так, потому что (причины против)

  • Это дорого. Хотя, конечно если у вас неограниченный доступ к флешкам - тут сам Джа велел порезвиться, но возьмите калькулятор и посчитайте стоимость по сравнению с даже с жопским 60gb SSD от Smartbuy.
  • Это не быстро, особенно на запись. Несмотря на "прокачку" флешек, у меня использовался один канал USB, то есть все запросы были "в очереди". И нет, USB3 ничем не поможет. См. пункт выше.
  • Это не надёжно. ПОТОМУ ЧТО. USB вообще не надёжен из коробки, тем более в его "рисовом" исполненнии. В теории устройство может "отключиться-подключиться" из-за помехи, а массив подумает, что часть накопителя "пропала".
  • Да нет у вас таких данных, которые интересны кому-либо, кроме вас самих. Поймите уже :). И нет, за вами не следят, потому что вы никому не нужны.
  • Замена диска в массиве - не совсем тривиальная задача и требует некоторой тренировки. Подумайте, стоит ли ваша коллекция винтажного порно таких усилий ?

"Чему нас это научило"

Сразу вспоминается цитата из фильма "После прочтения сжечь":

-- Чему нас это научило ?

-- Больше так не делать...

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

Если очень хочется, то можно

В принципе, замена microSD на обычные "флешки" может привести желающих к успеху. Особенно, если у вас есть бесплатный источник подобных девайсов.

Хаб на 10 устройств (а не два последовательных) тоже даст больше надежности (в китаЯх встречаются сдвоенные 2х6). Правда в моём случае при работе на одноплатнике Cubieboard 2 почему-то определялись не все 10 портов хаба после перезагрузки - поэтому я остановился на 2х семипортовых, причём не самых бросовых.

Ну и конечно хорошие кабели и раздельное питание хаба играют не последнюю роль.

Успехов.

"Детишки, не покупайте наркотики. Становитесь рок-звездами и вы получите их бесплатно".

На корм коту

Магазин открыт!

ещё