LINUX.ORG.RU

Существуют ли вайловые системы с избыточностью?


0

0

Задача как обычно тривиальна - домашняя файлопомойка из десятка дисков, все разного размера, года выпуска и надежности.

Сейчас это просто LVM, работающее (пока) без сбоев.

Критерии - ничего особо ценного нет, 90% это локальное зеркало скачанного из сети. Но терять все сразу естественно нет желания, по этому хочется минимизировать потери, когда начнутся сбои.

Варианты сбоев: в первом приближении мне видится пара вариантов 1) бэдблоки, и т.п. случайные отказы при чтении. 2) выгорание винта целиком (отвал головы, электроника).

Соответственно в первом случае хочется адекватной отработки - потерять один/несколько файлов не особо жалко. Во втором хочется максимально сохранить все данные, которые были на остальных дисках.

easy_john
() автор топика
Ответ на: комментарий от easy_john

Далее вопросы.

По первому пункту: Есть ли такие FS, которые изначально бы писали данные с некой избыточностью? Полноценный рейд на этих дисках не создать, а вот скажем настроить так, что бы 10-20% емкости дисков уходило под контрольные суммы на случай именно единичных сбоев я бы хотел (как например существует recovery в архиваторе rar, который позволяет внести некоторую избыточность и зачастую корректно восстановить данные из частично битого архива). Существуют ли такие системы? Как это можно организовать?

easy_john
() автор топика
Ответ на: комментарий от easy_john

Ну и по второму пункту - выгорание всего диска, на сколько я понимаю минимизировать потери тут может только что-то вида mhddfs, ни одним другим средством (кроме рейдов) не помочь, и наоборот LVM только увеличит размеры потерь, в следствии размазывания блоков по разным дискам?

easy_john
() автор топика
Ответ на: комментарий от anonymous

на сколько udf юзабельна для винтов? есть практика долговременной работы?

easy_john
() автор топика

А что мешает разбить диск на два (три, более) разделов, поднять софтовый RAID1 на них, а уж поверх -- LVM? Да, потеря места, да потеря скорости, но есть избыточность.

annoynimous ★★★★★
()
Ответ на: комментарий от annoynimous

слишком большая разница в размерах у разных винтов. это получится надо мелкими кусками нарезать все диски, не на всех получатся цельные разделы.

слишком много точек отказа. мне не нравится такое решение.

при том, что на сколько я пробовал, у линухового софтрейда дуратская привычка выбивать диск в бэд по единичной ошибке чтения, которая дальше сама по себе и отремапится.

easy_john
() автор топика
Ответ на: комментарий от annoynimous

ну и да, зеркало получается дороговато, не стоят там данные этого.

А 3-4-5 рейд городить получается геморойно из-за разницы дисков по размеру.

easy_john
() автор топика
Ответ на: комментарий от easy_john

Я вообще-то имел в виду создание рейда из единичного диска. Городить еще и рейд из разных -- уже геморно. Рейд на одном поможет избежать локальных дефектов блинов, не более.

annoynimous ★★★★★
()
Ответ на: комментарий от annoynimous

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

easy_john
() автор топика

Zfs...Но как оно через fuse работает, понятия не имею. Под бсд (и говорят соляркой) - на ура.

paranormal ★★
()
Ответ на: комментарий от easy_john

ZFS может как раз всё, что ты хочешь. И даже больше :)

anonymous
()

>1) бэдблоки, и т.п. случайные отказы при чтении.

Нужна избыточность, т.е. raid1 (зеркало).
возможно raid5, но я не уверен как он ведет себя при наличии бэдблоков, скорее всего выбросит диск из рейда.

>2) выгорание винта целиком (отвал головы, электроника).


Райд 1 или 5

zfs не нужна.
Есть разница как организовать избыточность: средствами необкатанной zfs или проверенным временем md raid'ом.

sdio ★★★★★
()
Ответ на: комментарий от Gharik

уважаемые Gharic и Sdio, то что вы предлагаете правильно, но мало годится для моего случая, когда винтов много, они разные и не хочется терять половину полезного пространства на зеркало.

Про md - на сколько я понял (сам еще не проверил, но утверждается компетентным, проверившим лично человеком), что при единичном сбое диск из рейда тут же вышибает. Это не вариант, т.е. единичные ошибки для меня не критичны.

Или объясните как вы предлагаете устроить конкретно рейд, какие разделы/диски куда порезать.

Для примера возмем простой вариант с 3 дисками: 120, 250, 320 gb. В обычном lvm это 690 gb. Можно пожертвовать ну скажем 20%, получить 570 гигов. Ну можно чуть меньше, но никак не половину! Как это сделать? Ваш вариант "для дома, для семьи"?

easy_john
() автор топика
Ответ на: комментарий от easy_john

Еще добавлю, что оба вариант (бэдблоки и сгорание винта) в достаточно вероятны (чем дальше, тем вероятнее:).

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

easy_john
() автор топика
Ответ на: комментарий от easy_john

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

easy_john
() автор топика
Ответ на: комментарий от easy_john

> Для примера возмем простой вариант с 3 дисками: 120, 250, 320 gb.

3х120/5 = 240 (1+2+3)
2х130/2 = 130 (2+3)

Итого: 370 гиг в хорошем рейде + 70 гиг - чистый остаток под хлам.
Всего: 440 гигов.

Gharik
()
Ответ на: комментарий от Gharik

Да, я примерно такой вариант и предполагал.

Мммм. 370+70 или 690? дай подумать... черт, жадность выбирает 690. ничего не могу с ней поделать :)

На самом деле понятно изначально что идея утопична. Придется смотреть что там у zfs, потестирую mhddfs..

PS. На самом деле там самый мелкий по моему гигов 40, можно 40-ка гиговыми партициями нарезать все диски, места пропадет заметно меньше, но мне вся эта структура из сотни партиций объединенных в десятки рейдов и поверх лвм кажется несколько стремной...

easy_john
() автор топика
Ответ на: комментарий от easy_john

то есть по любому мы получается теряем размер самого большого винта под четность в 3-5 рейде.. сколько бы винтов не было, но всегда самый большой - только под четность. получается лучше больше одинаковых, чем добавлять один крупный.. :(

easy_john
() автор топика
Ответ на: комментарий от easy_john

Весь вопрос в приоритетах - сколько нужно места под относитлеьно надёжный стораж. И в любом случае, райд без упса - говно, а не рейд.

Gharik
()
Ответ на: комментарий от Gharik

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

Рейд без баккапа - говно. :) Но тут не те данные, что бы их баккапить. Все есть в сети, просто это моя локальная коллекция музыки/фильмов/софта что бы была под рукой и доступна со всех машин, даже экзотичных и очень старых.

А упс стоит - matrix 3000. Треть кладовки занял. :) За то с него все компы по квартире питаются больше часа.

easy_john
() автор топика
Ответ на: комментарий от easy_john

> жадность выбирает 690. ничего не могу с ней поделать :)

> На самом деле понятно изначально что идея утопична. Придется смотреть что там у zfs, потестирую mhddfs..


ZFS избыточность в астрале хранить будет по-твоему?
На ZFS получишь 345Г если повезет.

mhddfs -- диск вылетел, остальные работают, поменяли диск, восстановили из бэкапа.

sdio ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.