Задать вопрос
dmlogv
@dmlogv
Универсальный человек

Чем объединить разнобойные диски с репликацией данных?

Привет, коллективный разум!

Подскажите неразумному и забаненному.

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

Подключить всё и объединить в массив с помощью LVM несложно, но, кажется, не очень надежно (бэкапы само собой, но я ведь хочу, чтобы всё было еще и «быстро»!).

Если ли вариант их кооперации с чем-то вроде K-safety? Т. е. указываю фактор репликации, скажем, троечку и каждый блок непременно присутствует минимум на трех физических дисках, а при выходе одного из строя, мы оперативно и автоматически делаем ребаланс.

(Нет, Vertica и HDFS не наталкивали меня на эту мысль.)

Ну и гвоздь в крышку: а если реплицировать не блоки, а файлы целиком? Чтобы даже если сдохло совсем почти всё, то на оставшихся в живых оставались бы полноценные данные, а не отдельные кластеры.
  • Вопрос задан
  • 148 просмотров
Подписаться 1 Средний 3 комментария
Пригласить эксперта
Ответы на вопрос 2
@rPman
Самый удобный инструмент для решения этой задачи - btrfs, в нем есть нативная поддержка raid, нет дополнительного оверхеда инициализации и позволяет проводить операции с файловой системой на лету

Из недостатков, официально статус raid56 - есть проблемы, с другой стороны если я верно понимаю, большая их часть решена и это чаще не проблемы с потерей данных, а потерей свободного места, у меня достаточно долго на пяток терабайт было хранилище raid5, и даже когда прервался процесс удаления диска из массива (место кончилось) данные я спокойно скопировал и пересоздал массив на основе уже mdadm.

зеркало же на btrfs создавать относительно надежно.

По теме вопроса, в похожей ситуации, я предварительно вручную составил план размещения данных на дисках (у меня были очень разные размеры от 350гб до 1тб, примерно 6 дисков), затем большего размера диски разбил на разделы, некоторые из которых были точно под размер маленьких дисков, и объединяя где диск целиком, где раздел, собрал все в несколько отдельных файловых систем. Очень важно сохранить карту дисков (удобно разрисуй в документе с картинками), какая файловая система какой диск и пометить физически жесткие диски символами, чтоб замена вышедших из строя была по проще.

Сейчас у меня такого зоопарка нет, массив собираю на основе 3тб дисков, но все равно добавляю их не целиком, а поделив их емкость на 3 части и сделав несколько файловых систем (по 1тб так чтобы можно было добавить к примеру 1тб диск или наоборот, добавить к массиву 4тб диск не пересобирая весь массив), так же я отказался от raid5 btrfs, использую mdadm, но это больше ради перестраховки
Ответ написан
gbg
@gbg Куратор тега Linux
Любые ответы на любые вопросы
CEPH на одной ноде (хихикает)


а если реплицировать не блоки, а файлы целиком? Чтобы даже если сдохло совсем почти всё, то на оставшихся в живых оставались бы полноценные данные, а не отдельные кластеры.


Могу вас поздравить с изобретением старых добрых бекапов.

Итого, если отбросить иронию, вам поможет объединение вашего хлама в линейные массивы примерно равного размера с последующим регулярным rsync между ними.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы