LINUX.ORG.RU

mhddfs 0.1.0

 , , mhddfs,


0

0

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

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

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

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

>>> Multi-hdd [FUSE] filesystem

★★★

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

Молодец. Хотя я и не понимаю, зачем оно нужно и какие сложности во введении-выведении дисков из RAID/LVM.

Shaman007 ★★★★★
()

Смысла не оценил. Особенно про "малоценную информацию".

у LVM нет проблем с добавление удалением носителей ) курите маны

kostoprav
()

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

))

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

>у LVM нет проблем с добавление удалением носителей ) курите маны

берем LVM-диск на 600Гиг состоящий из 3HDD по 200Гиг заполненный скажем на 500Гиг.

убираем (дохнет) один из винчестеров.

какие маны курить по удалению носителя?

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

>наверное это для того что бы строить массивы поверх сетевых фс

по идее поверх пофиг чего :) лишь бы из C доступ был

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

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

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

но это отдельная тема, может быть ее кто-то реализует

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

>Не поясните подробнее, - зачем хранить малоценную информацию?

если информацию хранят значит она ценная

весь вопрос в цене.

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

или другой пример (для чего писался этот драйвер) имеем 0.5Tb+ зеркал репозитариев. исторически сложилось что это хозяйство лежит на 100Г+160Г+200Г+...

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

xargs ★★★
() автор топика

у меня однокурсник ещё года 4 назад написал php-скрипт с подобной функциональностью для заливки фильмов на сервер в локалке =)

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

вообщем, очередной велосипед с треугольными чугунными колесами =)

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

>у меня однокурсник ещё года 4 назад написал php-скрипт с подобной функциональностью для заливки фильмов на сервер в локалке =)

php-скрипт это прекрасно, только это немного не то

приложений то множество над одним и тем же работает

берем например зеркало Debian:

к нему доступ по ftp,http, а заливает файлы скрипт с родительского зеркала по scp

куда тут с php скриптом воткнуться?

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

>php-скрипт это прекрасно, только это немного не то

ну да, это делалось для заливки файлов через web-интерфейс. думаю, что если фразмер файла известен заранее, то это можно сделать обычным shell-скриптом, а содержимое каталогов всех таких "неважных" дисков проиндексировать

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

Даже не так: размер файла не важен, просто записать файл на диск, на котором больше всего свобоного места, и если, к примеру, все диски будут забиваться равномерно, то при чтении будем иметь примерный аналог RAID-0 =)

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

Хм. Всю жизнь для таких задач использовали RAID1/5/10/6. А поверх него уже LVM. И никаких проблем с заменой мертвого диска.

anonymous
()

Кстати, я тут покурил и вспомнил, что в XFS есть внутренняя разбивка на Allocation Groups, можа проще чем геморрой прокачивать, стоило покурить доки и допилить XFS до XFS2.

Gharik
()

малоценного драйвера для малоценных данных

StepAs
()

Это ж ее можно из сетевых файловых систем собрать хоть с сотни серверов?

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

Интересно другое - позволяет ли этот драйвер хранить метаданные в MySQL и предоставляет ли полноценный www-интерфейс управления файлухой.

Gharik
()

Классно.

А сложно писать код такого уровня? Как впечатления? +)

xio
()

Считаю фичу очень полезной: главное чтоб была простота и прозрачность относительно типов фс. Даже если все это реализуемо на уровне LVM/RAID/UnionFS/etc, таки не хватает некоего простого способа (зачастую это нужно буквально на короткое время под какой-то большой временный файл, который сам по себе не лезет ни на один доступный раздел).

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

>Даже не так: размер файла не важен, просто записать файл на диск, на котором больше всего свобоного места, и если, к примеру, все диски будут забиваться равномерно, то при чтении будем иметь примерный аналог RAID-0 =)

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

только при переполнении одного девайса драйвер переходит ко второму (вернее по достижении порога в свободном месте)

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

>Считаю фичу очень полезной: главное чтоб была простота и прозрачность относительно типов фс. Даже если все это реализуемо на уровне LVM/RAID/UnionFS/etc, таки не хватает некоего простого способа (зачастую это нужно буквально на короткое время под какой-то большой временный файл, который сам по себе не лезет ни на один доступный раздел).

вот как раз для одного большого файла данный драйвер не подойдет ))

это решение для одного большого каталога

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

Можно. народ успешно ставит висту. уходит в прокрут и рвет линукс как тузик грелку. попробуй. с патчами можно и ХР вонзить, но только с самым свежим директом.

PS: сразу говорю- трава хорошая =)

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

Как я понял вгорячую подключать/отключать диски нельзя ?

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

PS: исходники пока не смотрел

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

>Кстати при отваливании одного диска консистентность фс частично сохраняется (за исключением файлов/каталогов которые были размещен на отвалившемся диске) ?

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

Зю: в этой теме он такой не один. :D

anonymous
()

> Вышла первая версия драйвера файловой системы для использования на хранилищах малоценной информации

Вот, и файловую систему для "корзины" придумали %)

anonymous
()

То есть теперь я могу насоздавать ящиков на гмыле и прикрутить эту штуку на пару с gmailfs и будет у меня много места? Интересно. :)

---
С Уважением,

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

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

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

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

А что будет с подкаталогами и с файлами с одинаковыми именами на не первом диске? Как будет выглядеть структура каталогов на не первом диске?

iav
()

Да ты монстр.

anonymous
()

А теперь набросайте руководство по использованию. Для самых ленивых.

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

> какие маны курить по удалению носителя?

Перестань слушать местных клоунов и идиотов, многие из которых LVM в глаза не видели, а на рабочих станциях сидят на Windows, объясняя это тем, что доменом под Win2k3 сложно управлять из Linux'a.

За творение - огромное спасибо.

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

> Объявляю открытой неделю велосипедов на ЛОРе.

Иногда ты очень сильно пукаешь в лужу, Гарик. Нет ничего подобного пока для FUSE. UnionFS совсем не так работает.

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

> у меня однокурсник ещё года 4 назад написал php-скрипт с подобной функциональностью для заливки фильмов на сервер в локалке =)

Ещё один идиот.

Тут предлагается прозрачное решение для файловой системы со стандартным file IO, а не грёбанный пых пых скрипт. Попробуйте экспортировать ваш пых пых скрипт для Samba или NFS. Слабо?

Никогда не видел в одной теме столько идиотов.

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

> Хм. Всю жизнь для таких задач использовали RAID1/5/10/6. А поверх него уже LVM.
> И никаких проблем с заменой мертвого диска.

Проблема есть. В случае, если что-то прошло не так, накрывается ВСЯ ФС
целиком. И для восстановления потребуется *надцатичасовой fsck.
Возможности отключить поврежденную часть ФС, и использовать неповрежденную,
нет.


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

>А теперь набросайте руководство по использованию. Для самых ленивых.

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

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

>Проблема есть. В случае, если что-то прошло не так, накрывается ВСЯ ФС целиком. И для восстановления потребуется *надцатичасовой fsck. Возможности отключить поврежденную часть ФС, и использовать неповрежденную, нет.

собственно именно эту проблемы и пытался решить ))

xargs ★★★
() автор топика

А есть желающие дать некую часть тела на отсечение, что эта вещь не будет убивать данные?

Исходники-то открыты, но толку от них при отсутствии общего понимания таких высоких материй.

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

>Не знал. Ъ как-никак. Пойду, почитаю.

в svn положили и английскую версию ))

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

>Исходники-то открыты, но толку от них при отсутствии общего понимания таких высоких материй.

за гарантиями к биллу гейтсу

он подаст

а так, почитай лицензию GPL про гарантии ;)

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

>Нет ничего подобного пока для FUSE. UnionFS совсем не так работает.

Более того, текущая версия unionfs любит кидать oops-ы и выдернуть это глюкало из ядра очень полезно.

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

>за гарантиями к биллу гейтсу

>он подаст

Есть гарантии другого рода, статистического. Т.е. например когда X миллионов человек использовали продукт Y на протяжении Z лет, и не огребли проблем за исключением мелких багов и своего идиотизма.

Впрочем хранилищу "малоценных данных" гарантии ни к чему :D

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

> Проблема есть. В случае, если что-то прошло не так, накрывается ВСЯ ФС целиком.

Поясните, пожалуйста, что Вы имеете ввиду? Вообще-то замена вылетевшего диска в массиве - штатная процедура, "прозрачная" для уровня fs. Вероятность развала массива при этом - минимальна (для этого должен во время ребилда вылететеь второй диск). Борьба с этой вероятностью тоже стандартна - hotspare диск, вменяемый контроллер, raid6 для параноиков, регулярный check consistency и т. п. Все это тривиальные вещи, обкатанные годами :). Ну и необходимость бэкапа никто, конечно, не отменял :).

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

RAID versus mhddfs, или автомобиль versus холодильник.

> > Проблема есть. В случае, если что-то прошло не так, накрывается ВСЯ ФС целиком.

> Поясните, пожалуйста, что Вы имеете ввиду? Вообще-то замена вылетевшего
> диска в массиве - штатная процедура,

RAID "всего лишь" предоставляет избыточность данных. Но он ни разу не
гарантирует целостность ФС (непротиворечивость мета данных, etc.).
И не решает решает проблему проверки/восстановления ФС.

Так что если таки ФС испортится -- то нужно проверять/восстанавливать ее
целиком. На что требуется недопустимо много времени.

> Вероятность развала массива при этом - минимальна (для этого должен во
> время ребилда вылететеь второй диск).

Или память сбойнуть, или ядро Oops'нуться, или вентилятор на процессоре
сдохнуть, или уборщица баба Маня ведро опрокинуть...

> Борьба с этой вероятностью тоже стандартна - hotspare диск, вменяемый
> контроллер, raid6 для параноиков,

Забыли про ECC память :)

Как не боритесь -- объемы дисков/массивов растут, а их качество -- падает.
Потому растет и вероятность сбоя, и время, необходимое для восстановления.

> регулярный check consistency и т. п.

Внимание -- вопрос. Что делать, если таки обнаружена ошибка в ФС?

> Ну и необходимость бэкапа никто, конечно, не отменял :).

У Вас пользователи/начальство настолько добрые, что будут терпеливо ждать,
пока *дцать терабайт зальются с лент на диски? Вам повезло. У меня -- нет.

Так что появление и этой поделки, и более серьезных, например ChunkFS, меня
радует. Глядишь, через пару лет можно будет "выключить" только ту часть ФС,
которая действительно повреждена, и восстановить ее.

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