Назад | Перейти на главную страницу

Почему все мои каталоги моментальных снимков ZFS пусты?

Я использую Oracle 11 box в качестве устройства хранения ZFS, и я регулярно делаю снимки файловых систем ZFS через cron.

Раньше я знал, что если я хотел получить определенный файл из снимка, копия, доступная только для чтения, сохранялась в .zfs/snapshot/{name}/ и я мог просто перейти туда и вытащить файл. Это задокументировано на сайте Oracle.

Однако на днях я пошел сделать это и заметил, что все каталоги ZFS в каталогах моментальных снимков пусты. zfs list -t snapshot правильно показывает список снимков, которые должны присутствовать, и .zfs/snapshots правильно содержит каталог для каждого снимка, и в каждом снимке есть каталог для каждой файловой системы ZFS. Однако эти каталоги кажутся пустыми.

Я только что протестировал восстановление, коснувшись файла в малоиспользуемом общем ресурсе и откатившись к последнему почасовому снимку, и, похоже, это сработало нормально. Так что функция отката есть.

Изменил ли Oracle способ создания снимков? Или здесь что-то серьезно не так?

Если у вас есть дочерняя файловая система ZFS, например tank/newfs. Тогда вы не найдете файлов в tank/newfs в /tank/.zfs/mysnapshot папка, только точка монтирования newfs будет существовать. Если вы хотите получить доступ к файлам, вам нужно искать свои файлы в /tank/newfs/.zfs/mysnapshot папка.

Снимки, перечисленные в .zfs/snapshot/ автоматически монтируются по запросу по мере их просмотра и автоматически размонтируются, когда больше не используются.

Делая простой ls в каталоге явно недостаточно, чтобы считаться «спросом». Вам нужно будет cd в соответствующий каталог и ЗАТЕМ выдайте ls команда.

Вам также может потребоваться установить snapdir=visible для файловой системы.