LINUX.ORG.RU

Новая версия файловой системы ext3cow


0

1

Недавно вышла версия для линукс-ядра 2.6 файловой системы ext3cow, созданной на основе ext3. Она имеет временной интерфейс, который позволяет видеть состояние ваших файлов в прошлом. При её использовании вы можете легко настроить контроль ревизий, также можно проверять систему на вторжения и предотвращать потерю данных. По ссылке доступен патч для ядра и подробное описание.

>>> Подробности

Вообще-то это далеко не новая файловая система, о чём можно узнать хотя бы из http://en.wikipedia.org/wiki/Ext3cow Новое, да и то с некоторой натяжкой, поскольку прошёл месяц, - это что 30 марта 2007 года вышла её версия, работающая с ядром 2.6, поэтому я позволил себе изменить немного изменить текст новости.

anonymous_incognito ★★★★★
()

Гы гы, Spiralog переизобрели. И пятнадцати лет не прошло.

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

>А почему патч, а не модуль?

Возможно потому, что не все используют initrd?..

Sectoid ★★★★★
()

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

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

>Отлично! Просто супер. А то мне аналогичная функция в Vista очень понравилась!

Ога, самая нужная весчь для десктопа :D

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

А можно вкратце и по русски - что это и зачем оно нужно? Обычному пользователю оно нужно?...

furs
()

Birdie жжОт!

2. There is no failure code for versioning. If your disk fails or computer crashes mid-write, there is no guarantee of file system consistency.
3. Similarly, there are no fsck or other file system tools for ext3cow.

Это что ж такое над кошерной Ext3 нужно было сотворить, чтобы оно превратилось в ничего не гарантирующую и ничем не починяемую в случае чего ФС времён бородатых гиков Ричи да Кернигана.

Типа пруф-оф-концепт, "мы можем сделать такую же бестолковую перделку что и на Маках есть, и плевать на системы контроля версий, йяхуууу!!!", ага?

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

И не только Birdie: фамилия одного из авторов "Burns", что навевает грусть и побуждает к размышленьям...

Gharik
()

> Она имеет временной интерфейс, который позволяет видеть состояние ваших файлов в прошлом. Эпическая фраза :D

Azrael
()

>Она имеет временной интерфейс, который позволяет видеть состояние ваших файлов в прошлом.

О-о!! Машина времени таки работает! Старик Уэллс был прав :)

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

>Она имеет временной интерфейс, который позволяет видеть состояние ваших файлов в прошлом.

Эх, если бы можно было видет состояние наших файлов в будущем.

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

> на висте или на маках?

+1, в Висте такого не видел, а вот в МакОС Леопард такая фича планируется.

anonymous
()

Нда, нас прямо-таки в приспешников мирового сионистского заговора записали... сговорились таки с правительствами, организациями, хотим всё к рукам прибрать... )))

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

Здрасьте, приехали :) Есть это в висте.

anonymous
()

а зачем это на уровне кернела делать, если локальный rcs/cvs/svn это может делать даже более фично. Сразу выплывает возможность хранения репозитория на удаленной машине.

mrdeath ★★★★★
()

Все более искусные хранилища помоек готовит нам прогресс.

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

>Эх, если бы можно было видет состояние наших файлов в будущем.

А лучше в настоящем :D

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

>+1, в Висте такого не видел, а вот в МакОС Леопард такая фича >планируется.

В висте такая фича есть, только сделана без спецэффектов в духе Голливуда :) У любого файла щелкни правой кнопкой мыши и выбери "Свойства". В ней закладку - "Предыдущие версии". Если сделана точка восстановления, то после любого изменения файла появляется его теневая копия на момент создания точки восстановления. Жаль, правда, что она может быть только одна. Такой фичи с теневыми копиями и точками восстановления я в описаниях MacOS 10.5 не видел. Зато вторая часть - с архивацией в фоне - в висте и в макоси будущей сделана похоже. Остальные версии файла могут лежать в неких внешних хранилищах-архивах, правда восстанавливаться в MacOS можно будет с суперграфическими спецэффектами :)

Вот правда не нахожу я нигде такой штуки, которая была реализована в еще древней версии DEC Open VMS. Там на любой каталог можно установить атрибут - количество хранимых версий файлов. Ставишь например на каталог с исходниками 100, а на темповый каталог - 0. Все остальное ОС берет на себя. Архивацию тоже можно настраивать в части версий файлов. Причем версия файла создается не по некоему времени (как в висте и макоси), а в момент изменения. В висте это зовется "теневой копией", но доступно только в 1 экземпляре и только после создания точки восстановления.

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

Эта та фигня чтоль, что требует спецсервис, сканирует всю ФС, да ещё и жутко глючит в свисте?

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

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

Фигня, которая требует спецсервис - это superfetch.

А shadow copies в висте на уровне volume manager, и с файловой системой имеет мало чего общего. Вот transactions в висте на уровне файловой системы.

McGray ★★
()

tru64

man advfs

man mktrashcan

NAME

  mktrashcan, rmtrashcan, shtrashcan - Attaches, detaches, or shows a trash-
  can directory
[SKIP]
  trashcan
      Specifies the directory that contains files that were deleted from
      attached directories.  Whenever you delete a file in the specified
      directory, the file system automatically moves the file to the trashcan
      directory.

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

> В висте это зовется "теневой копией", но доступно только в 1 экземпляре и только после создания точки восстановления.

VSS в винде - это исключительно программная поддержка snaps и clones, причем с возможностью интеграции с дисковыми системами. Было бы забавно, если бы для линукса существовал VSS-совместимый фреймворк, что бы VSS-провайдеры массивов можно было и в линуксе заводить, но мне такого не встречалось.

То, что мы видим в ext3cow - это все-таки доступность лога файловой системы пользователю, такой instant backup. Да, как мне тут подсказали, пожалуй оно где-то похоже на WAFL, по организации, но с т.з. пользователя, imho, скорее - на всячиские instant backup-системы вроде recoverpoint.

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

Кстати, мне казалось, что версионность в VMS устанавливается в LOGIN.COM для пользователя, а не для каталогов. Хотя, может, есть и то и это.

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

> Ну это можно сказать и про LVM snapshots..

LVM не понимает семантики приложений. Поэтому, нельзя. VSS вот позволяет дернуть приложение на момент создания снимка, поэтому функционал более мощный.

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

> которая была реализована в еще древней версии DEC Open VMS

+1

/me вспомнил как он 20 лет назад смотрел на длинный список вида

fuckincode.for:1
fuckincode.for:2
fuckincode.for:3
fuckincode.for:4
fuckincode.for:5
fuckincode.for:6
fuckincode.for:7
.......

и прослезилосо ;)

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

>> которая была реализована в еще древней версии DEC Open VMS >+1 >/me вспомнил как он 20 лет назад смотрел на длинный список вида >fuckincode.for:1

+2 ... только помницца там ';' была после файла (что, вобщем, не важно)

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

дабы прервать все рассуждения, пну всех сомневающихся в ssh manson.vistech.net

заодно и молодость вспомните, ага :)

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

З.Ы. мансон почему-то валяется, но в этом класетере есть другие ноды, рабочие.

dahmer и gein соответственно :)

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

> Кажется, всё же, двоеточие :)

На VAX/VMS разделитель между именем файла и версии точка с запятой. И это вовсе не кажется - это до сих пор реальность.

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

>На VAX/VMS разделитель между именем файла и версии точка с запятой.

Допускается как fuckincode.for;1 Так и fuckincode.for.1

>Кстати, мне казалось, что версионность в VMS устанавливается в LOGIN.COM >для пользователя, а не для каталогов. >Хотя, может, есть и то и это.

Версионность устанавливается для: 1. каталога - для всех создаваемых файлов 2. файла

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

>ох, придет шаман, убьет за "мну"... :-D

"апстену" ? ;)

sS ★★★★★
()

Наконец-таки сделали нечто подобное, что штатно было в RSX-11 и VMS с 70-х годов :)

Alphaer ★★
()

Мдя. Новое - хорошо забытое старое. Вспоминается СМ-4

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

Ну эта машина времени, на сколько я понимаю, автоматически замедляет работу ФС, плюс должны быть проблемы с выделением свободного места(т.е. его станет меньше).
Тут самые очивидные два варианта реализации:
1. Хранить первоначальную копию, а все последующие версии записывать как дельта от предыдущей(страдает производительность).
При достижении n кол-ва версий(ограничение же должно быть какое-то) следует удалить первую, а все остальные пересчитать:-(
2. Просто выделять под новую версию новое место, а старые хранить - ну стралает ведь свободное место и очень сильно!

Ну да, можно забацать комбинированный вариант )
Только если учесть,что понадобится принять меры для восстановления(реализовать что-то вроде транзакций я думаю) производительность мне кажется будет не самой лучшей:-).

Время покажет, НО зачем нужна ФС, которая немного тормозная и немного неэффективно распоряжается свободным местом на диске и неизвестно как восстанавливается после сбоя.
Я уже не говорю про фрагментацию/дефрагментацию, хотя это очень не существенный вопрос(но забавно всё равно).

Конечно применение ей найдётся.
Пусть только допишут нормально.

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

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

А вот если такое сделать для кэша браузера... ;)

Eugeny_Balakhonov ★★
()

Что я больше всего люблю на ЛОРе так это принцип:
"Я эту штуковину не видел и неиспользовал, но скажу ....."
Господа кто-то вообще хотябы пытался попробовать ext3cow ???????
Это полный CRAP!!!
эта штука не работает на SMP из-за реисов.
выполняет запрещеные операции с jbd
Да что там говорить эта хренивина просто не работает
простой скрипт
for ((i=0;i<10;i++));do
dd if=/dev/zero of=/mnt/a/FILE bs=1k count=2
sync
done
приводит к смерти журнала:
EXT3COW-fs: System epoch number: 1178210265
kjournald starting. Commit interval 5 seconds
EXT3COW FS on loop0, internal journal
EXT3COW-fs: mounted filesystem with ordered data mode.
** duping inode 2
** Allocated new inode 12289
freeing block(s) 4097-4098
journal_bmap: journal block not found at offset 12 on loop0
Aborting journal on device loop0.
journal commit I/O error

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