Решение проблемы с потерей данных в ext4.

Март 20, 2009

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).

Источник

зы: новые файловые системы не так интересны, а вот решение проблемы с ext4 – очень интересно. Пока с ней не сталкивался, и надеюсь, не придется столкнуться, но все равно не приятно.

Похожие записи:

  1. Обновление Linux ядра: 2.6.27.21 и 2.6.28.9. Исправлены 2 уязвимости
  2. Результаты измерения производительности последних 6 релизов Linux ядра
  3. Linux ядро 2.6.29 обзавелось новым логотипом
  4. Обновление Linux ядра 2.6.29.1
  5. Обновление Linux ядра: 2.6.28.8 и 2.6.27.20. Устранена уязвимость

Subscribe to Open Source Life via RSS or via e-mail.


Previous post:

Next post: