LINUX.ORG.RU

mhddfs 0.1.0

 , , mhddfs,


0

0

Вышла первая версия драйвера файловой системы для использования на хранилищах малоценной информации. Драйвер работает под управлением FUSE и позволяет реализовать прозрачное объединение нескольких файловых систем в одну.

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

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

P.S. В продолжение споров в Talks: подобную функциональность легко реализовать с использованием технологий RAID/LVM и т.п. Однако в этом случае функциональность будет реализована на низком уровне "под" файловыми системами, что приводит к сложностям извлечения (добавления) из (в) системы новых носителей.

>>> Multi-hdd [FUSE] filesystem

★★★

Проверено: Shaman007 ()

Ответ на: комментарий от Sylvia

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

Хорошая штука для /tmp :)

Dselect ★★★
()

Полностью согласен с Вами по поводу проблем с fs. Но мы исходно обсуждали вопрос - что делать, если помер диск, и полезность mhddfs именно в этой ситуации. Согласитесь, что в данном случае RAID полностью защитит fs от разрушения. Check consistency, кстати, не имеет отношения к fs - он работает на уровне целостности массива.

> Что делать, если таки обнаружена ошибка в ФС?

Вы считаете, что mhddfs может Вам помочь при проблемах с fs? Каким образом?

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

>aufs делает не тоже самое?

он как и юнионфс не делает перемещений файлов

кроме того он кернельный модуль а этот FUSE ))

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

>Полностью согласен с Вами по поводу проблем с fs. Но мы исходно обсуждали вопрос - что делать, если помер диск, и полезность mhddfs именно в этой ситуации.

именно для этой ситуации и писался mhddfs: для работы с массивом дисков без избыточности.

то есть когда на рейде без избыточности вылетает один диск с оставшихся дисков информацию вытащить крайне проблемно

а в случае с mhddfs надо только смонтировать без проблемного диска))

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

> именно для этой ситуации и писался mhddfs: для работы с массивом дисков без избыточности.

Хм. Ну тогда закономерно возникает следующий вопрос - зачем использовать массив без избыточности? В любом случае информация на мертвом диске пропадает. В чем фишка? Какие преимущества дает mhddfs по сравнению со стандартным подходом (RAID+LVM)?

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

>Хм. Ну тогда закономерно возникает следующий вопрос - зачем использовать массив без избыточности?

затем чтобы иметь максимум дискового пространства за минимальную цену.

кто-то дома использует массивы с избыточностью? по моему если таковые есть то их единицы.

>В чем фишка? Какие преимущества дает mhddfs по сравнению со стандартным подходом (RAID+LVM)?

1. простота восстановления данных в случае утери одного из носителей

2. простота добавления носителей

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

> затем чтобы иметь максимум дискового пространства за минимальную цену.

Ваша информация стоит меньше стоимости диска?

> кто-то дома использует массивы с избыточностью? по моему если таковые есть то их единицы.

Очень странная статистика. Почему-то я не встречал еще людей, которые дома используют неизбыточные массивы. С одиночным диском - да, такие еще есть, но это, как правило, до первого сбоя. После оплаты услуг data recovery компаний обычно сразу вспоминают о бэкапе и массивах. Большинство, же используют RAID1/5. На работе - другое дело - там все важное на серверах лежит, на рабочих станциях можно обойтись без RAID.

> 1. простота восстановления данных в случае утери одного из носителей

Еще раз. В чем заключается простота по сравнению с избыточным RAID?

> 2. простота добавления носителей

А вот это возможно - процедура расширения массива на новый диск тот еще геморой.

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

> Какие преимущества дает mhddfs по сравнению со стандартным подходом

Вопрос неправильно поставлен. RAID, LVM и mhddfs решают разные задачи.

> Ну тогда закономерно возникает следующий вопрос - зачем использовать массив без
> избыточности? В любом случае информация на мертвом диске пропадает.

Я уже объяснял, что ФС, живущая на RAID массиве (хоть с избыточностью, хоть без),
"в случае чего" рушится ВСЯ целиком. Избыточность снижает вероятность сбоев,
но не решает вопрос восстановления ФС (за приемлемое время).

> В чем фишка?

В изоляции сбоев. Отвалилась одна ФС -- данные с нее стали недоступны, а все
остальное работает. На сбойную ФС можно натравить fsck, или восстановить из
резервной копии, НЕ прерывая работы остальных пользователей/сервисов (которые
не используют файлы с "мертвой" ФС).

> В любом случае информация на мертвом диске пропадает.

Конечно, пропадает. Но от этого не страдают те, кому она не требуется.

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

> Но мы исходно обсуждали вопрос - что делать, если помер диск,

Отмонтировать сбойную ФС, восстановить ее из backup'а (если нужно -- на
новый диск), подмонтировать обратно.

> Согласитесь, что в данном случае RAID полностью защитит fs от разрушения.

Практика показывает, что ФС таки портятся, и не так уж и редко. Потому нужнен
вменяемый способ изоляции сбоев и восстановления данных, а не мантра "а оно
никогда не испортится". Чтоб не было вопросов -- вменяемым считается способ,
при котором

1) нужно восстанавливать только данные с поврежденного диска (а не всю ФС).
2) данные с неповрежденных дисков в это время доступны.

> Check consistency, кстати, не имеет отношения к fs - он работает на уровне
> целостности массива.

... и не гарантирует целостности ФС (какой толк от двух,трех,...N копий
запорченного суперблока?). Потому приходится заниматься всякими фокусами
(запускать fsck на LVM snapshot'ах, сверять MD5 суммы, etc).

> Вы считаете, что mhddfs может Вам помочь при проблемах с fs? Каким образом?

mhddfs изолирует сбой ФС, то есть "в случае чего"

1) Данные, находящиеся на исправных дисках, будут по-прежнему доступны.
2) Восстановить недостающие данные будет проще. Проверить (или восстановить)
10 ФС в 1Tb каждая гораздо быстрее, чем проверить одну в 10Tb. Время на
проверку/восстановление ФС растет с ее размером, и гораздо быстрее, чем
линейно.

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

> именно для этой ситуации и писался mhddfs: для работы с массивом дисков
> без избыточности.

Избыточность легко устроить. Например, создать N RAID1 массивов, на каждом
сделать свою ФС, а потом сцепить их в одну с помощью mhddfs.

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

>После оплаты услуг data recovery компаний обычно сразу вспоминают о бэкапе и массивах.

бакапе да, но не массивах.

>Еще раз. В чем заключается простота по сравнению с избыточным RAID?

в том что в случае с RAID ты будешь восстанавливать систему средствами вроде fsck который

1. не факт что восстановит иерархию каталогов (может просто сложить в lost+found)

2. займет очень много времени

>А вот это возможно - процедура расширения массива на новый диск тот еще геморой.

как и процедура изъятия. mv -resizefs- check size - mv-resizefs ...

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

Спасибо за комментарии :). Из того, что Вы сказали, следует, что mhddfs нужна не для защиты от гибели одного из дисков, как утверждает автор (в такой ситуации она проигрывает RAID), а для ограничения размера fs с целью ее более быстрой проверки/восстановления на емких хранилищах. Тогда следующий вопрос - чем это лучше простого создания множества мелких fs и их монтирования в дерево каталогов?

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

> в том что в случае с RAID ты будешь восстанавливать систему средствами вроде fsck который

Что-то мы, похоже, не понимаем друг друга :(. Еще раз - в случае гибели диска в избыточном массиве с fs ничего не происходит! RAID - это более низкий уровень. Rebuild массива также идет прозрачно для файловой системы. Так что никаких игр с fsck не потребуется.

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

>Тогда следующий вопрос - чем это лучше простого создания множества мелких fs и их монтирования в дерево каталогов?

тем что избавляет пользователя от необходимости помнить "в этом каталоге у меня места не хватит а в том наверно хватит пойду я в тот а черт не хватило, в каком же у меня там еще место осталось? ага вот тут попробуем..."

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

>Что-то мы, похоже, не понимаем друг друга :(. Еще раз - в случае гибели диска в избыточном массиве с fs ничего не происходит!

еще раз: речь идет о неизбыточных массивах

>Rebuild массива также идет прозрачно для файловой системы.

хорошо пусть имеем избыточный массив: 10 винчестеров избыточность 2.

вылетает блок питания и вместе с ним вылетает 5+1 винчесетров

как восстановить данные с выживших? ;)

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

>Спасибо за комментарии :). Из того, что Вы сказали, следует, что mhddfs нужна не для защиты от гибели одного из дисков, как утверждает автор

автор такое не утверждает :)

автор говорит о упрощении работ по восстановлению в случае гибели одного из дисков

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

Cargo cult data safety

> Еще раз - в случае гибели диска в избыточном массиве с fs ничего не происходит!

А что, если сразу два диска сдохнет? Память -- идеальная? Есть пара-тройка
резервных блоков питания? Перегрев никогда не случается? Драйвер ФС абсолютно
безглючный?

RAID -- хорошая штука. Но не надо надеяться, что он решает все проблемы сразу.
И думать, как проверять/восстанавливать *дцати терабайтную ФС нужно заранее,
а не тогда, когда она накроется.


Dselect ★★★
()
Ответ на: Cargo cult data safety от Dselect

> А что, если сразу два диска сдохнет?

В этом случае массив развалится и fsck не поможет (если мы о RAID говорим) :(. Так что тут бинарный принцип - массив либо жив (тогда с fs все в порядке), либо мертв (тогда поможет только бэкап).

> Память -- идеальная? Есть пара-тройка резервных блоков питания? Перегрев никогда не случается? Драйвер ФС абсолютно безглючный?

Согласитесь, что все это не имеет отношения к гибели диска. Я, между прочим, никогда и не утверждал, что RAID - панацея от всех бед :).

> И думать, как проверять/восстанавливать *дцати терабайтную ФС нужно заранее, а не тогда, когда она накроется.

Полностью согласен!

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

>>Ухахаха! Кто-то не осилил.. ;)

>Можно перевод ответа на мой вопрос с китайского для Ъ (исходники не смотрел)?

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

То же самое можно легко реализовать с помощью пары десятков строк буш-сценария.

зю: Прошу прощения за столь поздний ответ. Раньше не было возможности.

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

>То же самое можно легко реализовать с помощью пары десятков строк буш-сценария.

уже десятый раз вижу эту фразу

уж привел бы кто этот десяток строк?

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

>уже десятый раз вижу эту фразу

Вот видишь, значит я не гений.

>уж привел бы кто этот десяток строк?

Use your brain, Luke! ;)

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

>в кусты слинял, я так и думал

Дададад. Наверное, более адекватно было бы бросить все дела и писать велосипед. Специльно для тебя. Чтобы что-то доказать. Ага.

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

Я вижу примерно такое решение:

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

?? Может я где прав?

зю: вероятно, отвечу уже завтра.

anonymous
()

Судя по описанию, это то что мне надо. LVM побаивался лепить именно по причине "если полетит один винт, непонятно как инфу с других взять". Спасибо. Единственное вопрос надежности и производительности. Но думаю попробую.

Вопрос тем, кто говорит, что такое можно сделать скриптами:

Скрипты могут организовать это как одну точку монтирования? Т.е. например два винта видятся как один. Мне правда интересно.

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

не читатель, а писатель?

> Пользовательский сценарий (можно на сях, на худой конец) следит за свободным
> пространством на носителях и "сливает" файлы разложенные по разным местам в
> один с помощью ссылок.

По ссылкам не ходите? А зря. Там ведь описан случай, когда фокусы с симлинками
не проходят. Но вот Вам еще один:

Есть программа, которая считывает данные с внешнего устройства (к примеру,
DV камеры), и кладет их в текущую директорию кусками по N Гб. Когда место
на данной ФС заканчивается, программа, естественно, обламывается. Хотя на
другой ФС место еще есть. Внимание, вопрос. Какой толк с Ваших симлинков?

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

чукча не читатель...

> Дададад. Наверное, более адекватно было бы бросить все дела и писать
> велосипед. Специльно для тебя. Чтобы что-то доказать. Ага.

Почему-то у Вас находится время чтоб писать всякую глупость и хамить.

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

>Единственное вопрос надежности и производительности. Но думаю попробую.

насчет производительности: смотря на какой винт будет попадать если на более медленный то будет более медленно если на более быстрый то соответственно.

этот драйвер просто транслирует файловые запросы драйверу файловой системы на которой у вас собственно файлы лежат.

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

ну а насчет надежности - работаем :)

я вот mysql базу на mhddfs раздел положил сегодня - тестирую. в ближайшее время сделаю аплоад пакета в debian - появится возможность пользоваться его BTS, да и аудитория тестеров будет пошире :)

xargs ★★★
() автор топика
Ответ на: не читатель, а писатель? от Dselect

> Когда место на данной ФС заканчивается, программа, естественно, обламывается. Хотя на другой ФС место еще есть. Внимание, вопрос. Какой толк с Ваших симлинков?

При размазывании одного файла по нескольким дискам теряется смысл mhddfs - при смерти одного диска он тянет за собой и данные на других дисках.

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

>При размазывании одного файла по нескольким дискам теряется смысл mhddfs

mhddfs не занимается размазыванием файла по нескольким дискам.

xargs ★★★
() автор топика
Ответ на: не читатель, а писатель? от Dselect

>По ссылкам не ходите? А зря.

Ходил. Правда. Только не на долго. :D Щас еще раз пойду.

>Внимание, вопрос. Какой толк с Ваших симлинков?

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

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

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

а по моему именно для файлопомоек и требуется

допустим обменный (между пользователями ftp) у провайдера - переполнился диск, добавили второй

что всем юзерам рассказывать что "вон в том подкаталоге есть место, если нет в этом"?

зачем?

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

>Все равно не нашел. Будь добр, ткни, а?

ну вот же:

>Данный драйвер был написан для использования нескольких винчестеров на сервере, хранящем зеркала больших сайтов (вроде репозитариев Debian). Но может быть использован для других целей.

другой пример:

супруга моя очень увлекается качанием с торрентов :) качанием и соответственно раздачей.

ну и на домашнем сервере потихоньку растет количество винчестеров.

поскольку сервер домашний то выкинуть скажем 100Гиг+160Гиг+200Гиг+80Гиг+100Гиг и менять одним 1Т жалко (деньги семейного бюджета лучше на что-то другое потратить, или при его покупке добавить его в кучу ;))

а помнить на каком диске что положено и смотреть где есть место а где нет при 3+ винчестерах уже утомительно (соответственно ко всему этому массиву обращается масса программ: httpd/rtorrent/mldonkey/samba/ftpd итп, так что башевскими скриптами не разрулить).

в случае неизбыточного LVM накрывается вся файловая система в "час Х" а с использованием mhddfs только один диск

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

>Но для большинства случаев этого и не требуется.

а каждая программа вообще из существующих она только для небольшого количества случаев требуется :)

браузер чтобы по страничкам шарить

wget чтобы скачивать файлы

fluxbox чтобы окошки показывать итп

и если каждую в отдельности рассмотреть то для большинства случаев она не требуется, однако их есть и масса. все вместе они и охватывают то самое большинство случаев :)

а каждая (mhddfs в частности) нужна в каком-то конкретном случае :)

>Да и можно решить, только это уже изврат будет.

ну вот как раз чтобы безизвратно было и драйвер написан :)

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

Да ладно, я уже понял, что это весьма полезная весчь. 8)

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

Ладно. Кончаю. Успехов в развитии (поддержании) проекта.

anonymous
()

Прекраснейшая вещь, искал что-то похожее давно.

Смысл использования тут давно написали, лично я буду использовать это для мультимедийного фтп (фильмы, музыка) и для файлопомойки (множество людей работают с множеством папок/файлов на сетевом ресурсе)

Надо ещё подумать, и сделать псевдокластерную фс на множестве рабочих компов (отчекрыжить на рабочей станции по 20-80 гигов и данный раздел расшарить для mhddfs) =)

Спасибо огромное за Вашу работу

ЗЫ: Было бы здорово, если бы ещё выкладывались спеки для сборки пакетов (^_^)

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