Я работаю над проектом, который научит молодежь Linux. Зная, что они будут иметь тенденцию удалять или повреждать элементы в своих домашних каталогах, мы ищем хороший вариант снимка. У нас не будет доступа к модным инструментам, доступным от основных поставщиков хранилищ, и мы надеемся найти решение на уровне файловой системы.
Я много читал о btrfs, но у меня мало опыта. У меня есть некоторый опыт работы с LVM, но я не знаком с его функцией создания снимков. Есть ли у файловой системы или другой возможность создавать моментальные снимки по запросу или по расписанию? Затем сделать этот снимок всегда доступным без корня в папке .snapshot в каждой домашней папке?
В идеале это решение позволяет пользователю самостоятельно восстанавливать резервные копии по запросу в течение, скажем, периода от 24 до 48 часов. У нас будет еще один процесс резервного копирования для системы и больше глобальных резервных копий. Но мы не хотим, чтобы этот процесс использовался студентами, которые просто совершают «ошибки».
В Linux btrfs - это ваш основной вариант для моментальных снимков в файловой системе, но он еще не стабилен, хотя в нем есть fsck и инструменты для ремонта.
ZFS - еще один вариант от Solaris. Хотя теоретически вы можете использовать это в Linux, в основном это реализовано только в пользовательской среде (хотя есть некоторая работа над реализацией на основе ядра) и не входит в стандартные дистрибутивы Linux.
Этот ответ LVM содержит некоторые сведения о плюсах и минусах использования моментальных снимков LVM и некоторые ссылки на btrfs / ZFS. В некоторых файловых системах (ext3 и XFS) LVM позаботится о замораживании FS перед созданием моментального снимка, но моментальные снимки LVM могут иметь проблемы с производительностью и все еще содержать некоторые ошибки.
Я не думаю, что LVM - отличное решение для вашего приложения «быстрого снимка пользовательских данных», а btrfs / ZFS еще не подходят [по состоянию на 2011 год].
Вместо этого вы можете посмотреть на rsnapshot, который является инструментом пользовательского пространства, который эффективно создает моментальные снимки с использованием любой файловой системы без использования LVM. Поскольку он использует rsync и сохраняет снимки в последовательных каталогах, используя жесткие ссылки между разными снимками, если файл не изменился, он может работать на удивление быстро даже с достаточно большими наборами файлов. Он часто используется для резервного копирования, но также может использоваться для такого рода требований к моментальным снимкам пользовательских данных, и с небольшой настройкой может позволить любому восстановить свои файлы моментальных снимков, используя NFS или Samba только для чтения - см. Это Раздел HOWTO по восстановлению файлов. Файлы могут быть восстановлены с помощью стандартных инструментов Linux, поскольку rsnapshot зеркально отображает исходный каталог в каждый каталог моментальных снимков.
rsnapshot довольно гибок благодаря своим стандартным функциям, а поскольку он написан на Perl, его довольно легко настроить, например если вы хотите предоставлять снимки состояния по запросу. Основными недостатками по сравнению с моментальными снимками файловой системы являются скорость и дисковое пространство - каждый изменяемый файл приводит к созданию новой копии в моментальном снимке, тогда как моментальные снимки файловой системы копируют только новые блоки в файле.
Только что заметил ЭТОТ На странице википедии есть столбец возможностей снимков - просто хотел, чтобы люди знали об этом в будущем.
Вы не должны использовать моментальные снимки LVM для этой цели, потому что они значительно снижают производительность (особенно, если у вас есть несколько активных "скользящих" моментальных снимков одновременно). К сожалению, в Linux просто нет зрелых файловых систем с поддержкой моментальных снимков.
Поэтому я рекомендую использовать FreeBSD на вашем файловом сервере. Формат файловой системы UFS2 по умолчанию поддерживает моментальные снимки. FreeBSD также включает в себя правильную реализацию ZFS (в отличие от уродливого кладжа в Linux) со снимками состояния и многими другими очень продвинутыми функциями. В сочетании с простым инструментом, таким как этот это очень похоже на то, что предлагают поставщики систем хранения высокого уровня, такие как NetApp.
Если у вас есть один сервер, предназначенный для работы в качестве файлового сервера, вы можете посмотреть FreeNAS который прекрасно упаковывает FreeBSD и ZFS в систему, подобную устройству.