Разработчики проекта NEXT3,
в рамках которого уже несколько лет развивается неофициальная
реализация поддержки мгновенных снимков состояния файловой системы Ext3
(снапшотов), представили первый выпуск набора патчей ext4-snapshots, обеспечивающих работу снапшотов в файловой системе Ext4.
Вопрос об интеграции представленного набора патчей в Linux-ядро
пока не решен. Набор состоит из 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.04 и
Fedora 15. Загрузить предкомпилированную версию для систем x86_64 можно здесь.
Источник
|