Представлен набор патчей с поддержкой снапшотов для файловой системы Ext4

Разработчики проекта NEXT3, в рамках которого уже несколько лет поддерживается неофициальная реализация поддержки мгновенных снимков состояния файловой системы Ext3 (снапшотов) представили первый выпуск набора патчей ext4-snapshots, обеспечивающих работу снапшотов в файловой системе Ext4.

Вопрос об интеграции представленного набора патчей пока не решен. Набор состоит из 36 патчей и интегрируется с Ext4 через систему стандартных хуков. Предусмотрена возможность монтирования разделов с отключением поддержки снапшотов, в этом случае код никак себя не проявляет и ФС Ext4 функционирует как раньше. В качестве причины развития проекта указано желание интегрировать возможность работы со снапшотами в уже зарекомендовавшую себя и повсеместно используемую ФС Ext4, вместо использования экспериментальной ФС Btrfs или системы dm_multisnap.

Разработка проекта ведется компанией CTERA Networks, которая использует код проекта NEXT3 в своих NAS-хранилищах и гибридных системах хранения данных. Несмотря на то, что патчи уже достаточно хорошо протестированы и отлажены в недрах компании CTERA, для интеграции их в ядро требуется более широкомасштабное тестирование и оценка их влияния на производительность. По заявлению разработчиков проекта патчи готовы к интеграции в состав Linux-ядра. Так как окно по принятию патчей для ядра 3.0 уже закрыто, а следующее будет только в августе, у энтузиастов есть несколько месяцев на проведение дополнительного тестирования.

В отличий от снапшотов на базе LVM, система снапшотов на уровне файловой системы обладает следующими преимуществами:

  • Снапшоты не требуют предварительного резервирования места, что позволяет гибко управлять доступным свободным пространством. Кроме того, снапшоты Next3 являются инкрементальными и довольно компактны сами по себе;
  • Даже при огромном количестве снапшотов скорость остается на уровне, близком к Ext4;
  • Поддержка инкрементальных снапшотов, доступных только на чтение (Создаем снапшот: "snapshot.ext4dev take Monday", монтируем его: "snapshot.ext4dev mount Monday", удаляем: "snapshot.ext4dev delete Monday");
  • Снапшоты создаются и удаляются практически мгновенно. Сразу же после удаления снапшота занятое им пространство автоматически освобождается;
  • Полная прямая и обратная совместимость с Ext4. Миграция с Ext4 на вариант с поддержкой снапшотов и обратно выполняется буквально в три команды ("umount /dev/xxx; snapshot.ext4dev on /dev/xxx; mound -t ext4dev /dev/xxx").

Инструкцию по установке можно найти здесь (вместо модуля next3 следует указать ext4dev, а вместо скрипта next3 - snapshot.ext4dev). Тестовые патчи подготовлены для Linux-ядра 2.6.38 и протестированы в дистрибутивах Ubuntu 11.4 и Fedora 15. Загрузить предкомпилированную версию для систем x86_64 - здесь.

©  OpenNet