Какие файловые системы предлагают пользователям снимок для восстановления данных?

8

Я работаю над проектом, который научит молодежь Linux. Зная, что они будут иметь тенденцию удалять или повреждать элементы в своих домашних каталогах, мы ищем хороший вариант снимка. У нас не будет доступа к причудливым инструментам, доступным у крупных поставщиков систем хранения, и мы надеемся найти решение на уровне файловой системы.

Я много читал о btrfs, но у меня мало опыта. У меня есть некоторый опыт работы с LVM, но я не знаком с его функцией создания снимков. Есть ли у файловой системы или другой вариант для создания снимков по требованию или по расписанию? Затем сделать эти снимки всегда доступными без рута в виде папки .snapshot в каждой домашней папке?

В идеале это решение позволяет пользователю самостоятельно восстанавливать резервные копии по запросу, например, в течение 24–48 часов. У нас будет еще один процесс резервного копирования системы и более глобальные резервные копии. Но мы не хотим, чтобы этот процесс использовался студентами, которые просто делают «ошибки».

Серая раса
источник
LVM создает снимок блочного устройства. Файловая система (большинство современных) в разделе syncредактируется непосредственно перед созданием снимка. Чтобы восстановить некоторые данные из снимка, вы должны смонтировать его. Но имейте в виду, что любой снимок имеет размер. Пространство используется для хранения различий между состоянием снимка и текущим состоянием, поэтому сохранение снимка в качестве резервной копии не является хорошей идеей.
HUB
@Hub Спасибо за отзыв. Возможно, «резервная копия» - неправильное слово. Поскольку это не будет основной формой резервного копирования или хранения. Мы понимаем, что для различий или любого другого механизма, который использует менеджер файловой системы / тома, потребуется место. Однако цель состоит в том, чтобы предоставить временный снимок, чтобы учащиеся, совершившие ошибки, могли быстро возвращать и извлекать предыдущую информацию. Они не будут использовать лучшие методы сохранения своих резервных копий, прежде чем вносить изменения, несмотря на наше обучение, и поэтому хотят помочь им преодолеть это.
Серая гонка
1
У меня нет такого опыта, но я думаю, что вам нужно что-то вроде этого: en.wikipedia.org/wiki/Versioning_file_system LVM не подходит, потому что вам придется монтировать и копировать каждый файл (или отслеживать измененные файлы) для восстановления. У LVM нет внутреннего "восстановления".
HUB

Ответы:

6

В Linux btrfs - ваш основной вариант для моментальных снимков в файловой системе, но он еще не стабилен, хотя в нем есть некоторые утилиты fsck и repair .

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, его очень легко настроить, например, если вы хотите предоставлять снимки по требованию. Основными недостатками по сравнению со снимками файловой системы являются скорость и дисковое пространство - каждый изменяемый файл приводит к созданию новой копии в снимке, тогда как снимки файловой системы копируют только новые блоки в файле.

RichVel
источник
Большое спасибо за продолжение. Я собираюсь посмотреть на rsnapshot в понедельник.
Серая гонка
2

Только что обнаружил ЭТУ страницу в Википедии, есть столбец возможностей снимка - просто хотел, чтобы люди знали об этом в будущем.

Chopper3
источник
1

Не следует использовать для этой цели моментальные снимки LVM, поскольку они приводят к значительному снижению производительности (особенно если у вас одновременно активны несколько «скользящих» снимков). К сожалению, в Linux просто нет зрелых файловых систем с поддержкой снимков.

Поэтому я рекомендую использовать FreeBSD на вашем файловом сервере. Формат файловой системы UFS2 по умолчанию поддерживает моментальные снимки. FreeBSD также включает в себя правильную реализацию ZFS (в отличие от уродливого клуджа в Linux) со снимками и многими другими очень продвинутыми функциями. В сочетании с простым инструментом , например , как это он очень похож на то , что продавцы высокого класса хранения , таких как NetApp предложение.

Если у вас есть один сервер, выделенный для работы в качестве файлового сервера, вы можете взглянуть на FreeNAS, который прекрасно упаковывает FreeBSD и ZFS в подобную устройству систему.

щелчок
источник
1
Хороший вопрос, и ясно, что UFS2 или ZFS можно использовать во FreeBSD, тогда как в Linux они не (ZFS). Однако в первоначальном вопросе упоминается «обучение Linux молодежи», поэтому потребуется отдельный NAS FreeBSD. Кроме того, я не знаю, могут ли snapshotсвязанные команды FreeBSD использоваться пользователями без полномочий root. Поскольку студенты будут изучать Linux, лучше всего, если снимки могут создаваться и использоваться пользователями без полномочий root. rsnapshotделает это достаточно просто, и при некоторых настройках у каждого пользователя может быть свое собственное дерево снимков.
RichVel
Я предполагаю, что у молодежи нет доступа к файловому серверу, но он смонтирован с NFS или аналогичен рабочим станциям Linux, где они изучают Linux. Им не нужно знать об архитектуре файлового сервера. Связанная snapshotутилита имеет функциональность, которая позволяет делать снимки доступными для пользователей, почти так же, как в NetApp. Нет необходимости запускать rsnapshotдля ручного создания имитаций снимков, когда вы можете использовать лучшую ОС (для этой цели), которая реализует снимки в коде файловой системы. Правильные снимки являются атомными.
оснастка
Это жизнеспособный вариант для рассмотрения. Я беспокоюсь о файловой системе и сетевых издержках с NFS. В рамках «изучения Linux» студенты будут компилировать код, запускать базы данных и другие интенсивные процессы ввода-вывода. Они будут делать всю эту работу в своих домашних каталогах. Если это по сети через NFS, я беспокоюсь о снижении производительности. Это особенно касается доморощенной системы, поскольку наш производственный NAS недоступен по различным политическим причинам. Функциональность моментальных снимков является вторичной по отношению к базовой производительности, поскольку у нас есть глобальные системы резервного копирования, но нам нужны моментальные снимки самообслуживания.
Серая гонка
Базы данных по NFS звучат немного странно, хотя, очевидно, это может работать, если нагрузка не слишком высока и вы используете последнюю версию СУБД: serverfault.com/questions/30525/mysql-5-1-34-on-nfs-w- нетап . Вам также придется запускать как FreeBSD, так и Linux в своей лаборатории, что может быть хорошо, если у вас есть более способные ученики, которые могут помочь (что-то новое для изучения), или плохо, если вы все делаете сами и у вас мало времени.
RichVel
Что касается утверждения «уродливый клудж, найденный в Linux», я предполагаю, что это относится к zfs-fuse.net (что действительно звучит как неоптимальный способ его реализации). Однако обратите внимание, что ZFS также доступна в «нормальной» реализации, zfsonlinux.org (хотя она и не включена в ядро ​​напрямую из-за проблем с лицензированием).
Хловдал