The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Решение проблемы с потерей данных в ext4. NILFS2 и CEPH претендуют на включение в ядро 2.6.30

20.03.2009 10:34

Theodore Ts'o выпустил патч к файловой системе ext4 с альтернативным решением проблемы с потерей данных в файлах, перезаписываемых незадолго до момента краха системы. В патче представлен новый режим журналирования "data=alloc_on_commit", похожий по своей сути на ext3 режим "data=ordered", при котором вначале изменяются данные, а потом изменения отражаются в журнале.

Включение "data=alloc_on_commit" приводит к введению отложенных коммитов, когда вначале в журнал помещается предварительная пометка, а после сброса блоков с отложенной записью (delayed allocation), в журнале окончательно фиксируется транзакция. Ожидается, что патч будет включен в состав Linux ядра 2.6.30.

Кроме того. на включение в состав Linux ядра 2.6.30 претендуют новые файловые системы: CEPH, NILFS2 и POHMELFS. При этом, патчи с реализацией POHMELFS были включены в тестовую "staging" ветку Linux ядра еще месяц назад, в то время как патчи CEPH и NILFS2 еще только готовятся к включению.

Файловая система NILFS2 была разработана в недрах японской телефонной компании NTT, как система особо устойчивая к сбоям. Для хранения всех данных в NILFS2 используются подобные логам структуры, в которых только добавляются новые записи и никогда не переписываются активные. Таким образом оборванная крахом операция записи, никак не отразится на целостности хранимых данных. В NILFS поддерживается возможность фиксации снапшотов (snapshot) для просмотра состояния данных на определенный момент времени, используются B-tree деревья и 64-битные структуры данных.

Ceph является распределенной файловой системой и может использоваться в конфигурациях, состоящих от нескольких машин, до тысяч узлов. Общий объем хранилища данных может измеряться петабайтами, встроенные механизмы продублированной репликации данных (не зависит от отказа отдельных узлов, данные разбиваются на блоки и несколько раз дублируются на разных машинах) обеспечивают чрезвычайно высокую живучесть системы, при добавлении или удалении новых узлов, массив данных автоматически ребалансируется с учетом новшеств. В Ceph имеется поддержка снапшотов, причем снапшот может быть создан не только для всех ФC, но и для отдельных директорий. В отличии от таких файловых систем, как GFS, OCFS2, и GPFS, в Ceph обработка данных и метаданных разделена на различные группы узлов в кластере, примерно как это сделано в Lustre, с тем различием, что обработка производится на уровне пользователя, не требуя какой-то особой поддержки от ядра. Ceph может работать поверх блочных устройств, внутри одного файла или используя существующую ФС (например, XFS).

  1. Главная ссылка к новости (http://permalink.gmane.org/gma...)
  2. OpenNews: Проблемы с потерей данных на Ext4 разделах в тестовой версии Ubuntu 9.04
  3. OpenNews: Новая распределенная файловая система Ceph
  4. OpenNews: Вышла новая версия распределенной файловой системы Ceph
  5. OpenNews: NILFS - новая, устойчивая к сбоям, файловая система для Linux
  6. OpenNews: Файловая система POHMELFS включена в "-staging" ветку Linux ядра
Лицензия: CC-BY
Тип: К сведению
Короткая ссылка: https://opennet.ru/20835-ext4
Ключевые слова: ext4, linux, kernel, crash, patch, NILFS2, CEPH
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (16) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, fresco (??), 11:06, 20/03/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    плучается, что таким образом увеличивается время жизни транзакции в памяти. еще надо подумать, к ему это приведет.
     
     
  • 2.18, szh (ok), 21:46, 22/03/2009 [^] [^^] [^^^] [ответить]  
  • +/
    к понижению скорости и повышению надежности при отключении питания.
     

  • 1.2, fresco (??), 11:19, 20/03/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а NILFS достаточно старая штука, одна из первых журнально-структурированных ФС. некий прообраз современных ZFS и btrfs. надо будет посмотреть код на досуге.
     
  • 1.3, Аноним (3), 11:34, 20/03/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а с data=journal этот баг проявляется?
     
     
  • 2.10, гость (?), 14:38, 20/03/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >а с data=journal этот баг проявляется?

    нет с самого начала, тестировал

     

  • 1.4, XoRe (ok), 11:36, 20/03/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ню, теперь можно ставить на ноуты альфа-версии убунты и перемещать туда жизненно важные данные (перемещать, не копировать).
    Теперь данные не потеряются и не придется делать удивленные глаза и вопрошать "а чего эта?")
     
  • 1.5, User294 (??), 12:11, 20/03/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > В патче представлен новый режим журналирования

    А он по дефолту какой оставит?Если тот при котором данные херятся - у юзеров они и дальше будут хериться, потому что дефолты - решают :)

     
     
  • 2.7, XoRe (ok), 12:44, 20/03/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >> В патче представлен новый режим журналирования
    >
    >А он по дефолту какой оставит?Если тот при котором данные херятся -
    >у юзеров они и дальше будут хериться, потому что дефолты -
    >решают :)

    Я думаю, по дефолту будет так, как поставят составители дистра)

     
     
  • 3.9, User294 (??), 13:42, 20/03/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Было бы хорошо если бы Теодор не раскладывал им грабли в дефолтах.Потому что кроме серьезных людей есть еще и доморощенные дистроклепатели а также красноглазики которых хлебом не корми, дай только пересобрать ядро, слепить систему с нуля из LFS и так далее.И когда (и если) благодаря таким начнется потеря данных у юзеров - будет слишком много ненужного воя.
     
  • 2.8, const86 (ok), 12:46, 20/03/2009 [^] [^^] [^^^] [ответить]  
  • +/
    > А он по дефолту какой оставит?

    "Неудобный" дефолт могут переопределить (fstab, tune2fs) дистрибутивостроители. Всё-таки ванильное ядро - не для домохозяек ;)

     
     
  • 3.13, User294 (ok), 17:14, 20/03/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >"Неудобный" дефолт могут переопределить

    Но куда лучше если дефолты будут безопасные, right?


     
  • 2.11, гость (?), 14:41, 20/03/2009 [^] [^^] [^^^] [ответить]  
  • +/
    в ubuntu по дефолту сейчас ничего не херится, специально тестил, а вот режим не знаю какой :(, скоре всего alloc_on_commit т.к. судя по тестам функционально очень похож.
     
     
  • 3.15, 1 (??), 09:14, 21/03/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Во-первых, в убунту 2.6.28 ядро. Патч включен в .30
    Во-вторых, "херится" оно может только при крахе ибо данные могут оставаться незаписанными до 60 секунд.
     
     
  • 4.16, Аноним (-), 09:18, 21/03/2009 [^] [^^] [^^^] [ответить]  
  • +/
    именно это и тестировалось - ресет на активной работе с фс, и специально для ubuntu и fedora сделаны патчи... почитайте блог Теда, там всё написано
     
  • 4.17, uldus (ok), 09:19, 21/03/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Во-первых, в убунту 2.6.28 ядро. Патч включен в .30

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

    >Во-вторых, "херится" оно может только при крахе ибо данные могут оставаться незаписанными
    >до 60 секунд.

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

     

  • 1.12, Аноним (-), 17:00, 20/03/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    "В патче представлен новый режим журналирования "data=alloc_on_commit", похожий по своей сути на ext3 режим "data=ordered", при котором вначале изменяются данные, а потом изменения отражаются в журнале."

    До нормальных 15 лет назад дошло, а до самурая только щас да :)

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2020 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру