В этой главе описываются процессы создания и администрирования снимков и клонов ZFS. Здесь также приведена информация о сохранении снимков.
В этой главе содержатся следующие разделы:
Снимок представляет собой копию файловой системы или тома, доступную только для чтения. Снимки могут создаваться почти моментально и изначально не потребляют дополнительное пространство в пуле. Однако по мере изменения данных в активном наборе данных снимок начинает занимать больше места на диске из-за ссылок на старые данные, что препятствует освобождению пространства.
Снимки ZFS обладают следующими характеристиками.
Снимки сохраняются при перезагрузке системы.
Теоретически максимальное количество снимков составляет 264.
Не требуется выделенное вспомогательное запоминающее устройство. Дисковое пространство для снимков берется из того же пула устройств хранения данных, в котором размещена файловая система-источник снимка.
Рекурсивные снимки создаются быстро в рамках одной элементарной операции. Снимки создаются все вместе (одновременно) или не создаются вообще. Преимущество элементарных снимков состоит в том, что данные снимка всегда извлекаются в один и тот же момент времени даже из дочерних файловых систем.
Прямой доступ к снимкам томов невозможен, но можно их клонировать, создавать резервные копии, выполнять откат и т.д. Для получения информации о создании резервной копии снимка ZFS см. Отправка и получение данных ZFS.
Снимки создаются с помощью команды zfs snapshot, использующей в качестве единственного аргумента имя создаваемого снимка. Имя снимка указывается следующим образом:
filesystem@snapname volume@snapname |
Имя снимка должно соответствовать соглашениям по присвоению имен, описанным в разделе Требования к именованию компонентов ZFS.
В следующем примере создается снимок tank/home/ahrens с именем friday.
# zfs snapshot tank/home/ahrens@friday |
При помощи параметра -r можно создать снимки для всех дочерних файловых систем. Пример:
# zfs snapshot -r tank/home@now # zfs list -t snapshot NAME USED AVAIL REFER MOUNTPOINT tank/home@now 0 - 29.5K - tank/home/ahrens@now 0 - 2.15M - tank/home/anne@now 0 - 1.89M - tank/home/bob@now 0 - 1.89M - tank/home/cindys@now 0 - 2.15M - |
Снимки не имеют настраиваемых свойств. В отношении снимка также не могут применяться свойства набора данных.
# zfs set compression=on tank/home/ahrens@tuesday cannot set compression property for 'tank/home/ahrens@tuesday': snapshot properties cannot be modified |
Для уничтожения снимков используется команда zfs destroy. Пример:
# zfs destroy tank/home/ahrens@friday |
При наличии снимков набора данных этот набор не может быть уничтожен. Пример:
# zfs destroy tank/home/ahrens cannot destroy 'tank/home/ahrens': filesystem has children use '-r' to destroy the following datasets: tank/home/ahrens@tuesday tank/home/ahrens@wednesday tank/home/ahrens@thursday |
Кроме того, если были созданы клоны снимка, необходимо их уничтожить перед уничтожением снимка.
Для получения дополнительной информации о подкоманде destroy см. Уничтожение файловой системы ZFS.
Снимки можно переименовывать, однако переименование должно выполняться в рамках пула и набора данных, в котором они были созданы. Пример:
# zfs rename tank/home/cindys@083006 tank/home/cindys@today |
Следующий краткий синтаксис эквивалентен полному синтаксису переименования снимка, приведенному в примере выше.
# zfs rename tank/home/cindys@083006 today |
Следующая операция переименования снимка недопустима, поскольку имя целевого пула и имя файловой системы отличаются от имен пула и файловой системы, для которых был создан снимок.
# zfs rename tank/home/cindys@today pool/home/cindys@saturday cannot rename to 'pool/home/cindys@today': snapshots must be part of same dataset |
Можно рекурсивно переименовывать снимки с помощью команды zfs rename -r. Пример:
# zfs list NAME USED AVAIL REFER MOUNTPOINT users 270K 16.5G 22K /users users/home 76K 16.5G 22K /users/home users/home@yesterday 0 - 22K - users/home/markm 18K 16.5G 18K /users/home/markm users/home/markm@yesterday 0 - 18K - users/home/marks 18K 16.5G 18K /users/home/marks users/home/marks@yesterday 0 - 18K - users/home/neil 18K 16.5G 18K /users/home/neil users/home/neil@yesterday 0 - 18K - # zfs rename -r users/home@yesterday @2daysago # zfs list -r users/home NAME USED AVAIL REFER MOUNTPOINT users/home 76K 16.5G 22K /users/home users/home@2daysago 0 - 22K - users/home/markm 18K 16.5G 18K /users/home/markm users/home/markm@2daysago 0 - 18K - users/home/marks 18K 16.5G 18K /users/home/marks users/home/marks@2daysago 0 - 18K - users/home/neil 18K 16.5G 18K /users/home/neil users/home/neil@2daysago 0 - 18K - |
Вывод списков снимков в выводе команды zfs list можно включить или отключить с помощью свойства пула listsnapshots. По умолчанию это свойство включено.
Если это свойство отключено, для вывода данных о снимках можно воспользоваться командой zfs list -t snapshot. Или же требуется активировать свойство пула listsnapshots. Пример:
# zpool get listsnapshots tank NAME PROPERTY VALUE SOURCE tank listsnapshots on default # zpool set listsnapshots=off tank # zpool get listsnapshots tank NAME PROPERTY VALUE SOURCE tank listsnapshots off local |
Снимки файловых систем будут доступны в каталоге .zfs/snapshot в корне файловой системы. Например, если tank/home/ahrens монтируется в /home/ahrens, то данные снимка tank/home/ahrens@thursday доступны в каталоге /home/ahrens/.zfs/snapshot/thursday .
# ls /tank/home/ahrens/.zfs/snapshot tuesday wednesday thursday |
Можно вывести список снимков:
# zfs list -t snapshot NAME USED AVAIL REFER MOUNTPOINT pool/home/anne@monday 0 - 780K - pool/home/bob@monday 0 - 1.01M - tank/home/ahrens@tuesday 8.50K - 780K - tank/home/ahrens@wednesday 8.50K - 1.01M - tank/home/ahrens@thursday 0 - 1.77M - tank/home/cindys@today 8.50K - 524K - |
Можно вывести список снимков, созданных для определенной файловой системы:
# zfs list -r -t snapshot -o name,creation tank/home NAME CREATION tank/home/ahrens@tuesday Mon Aug 31 11:03 2009 tank/home/ahrens@wednesday Mon Aug 31 11:03 2009 tank/home/ahrens@thursday Mon Aug 31 11:03 2009 tank/home/cindys@now Mon Aug 31 11:04 2009 |
При создании снимка его пространство первоначально используется совместно с файловой системой и, возможно, с предшествующими снимками. При изменении файловой системы пространство, которое ранее использовалось совместно, полностью передается снимку и учитывается в свойстве used этого снимка. Кроме того, удаление снимков может увеличить объем пространства, отведенного под другие снимки и используемого этими снимками.
Свойство referenced пространства снимка совпадает с аналогичным свойством файловой системы на момент создания снимка.
Возможно получение дополнительной информации об использовании значений применяемого свойства. Новые доступные только для чтения свойства файловой системы описывают использование пространства для клонов, файловых систем и томов. Пример:
$ zfs list -o space NAME AVAIL USED USEDSNAP USEDDS USEDREFRESERV USEDCHILD rpool 60.6G 6.37G 0 97K 0 6.37G rpool/ROOT 60.6G 4.87G 0 21K 0 4.87G rpool/ROOT/zfs1009BE 60.6G 4.87G 0 4.87G 0 0 rpool/dump 60.6G 1.50G 0 1.50G 0 0 rpool/swap 60.6G 16K 0 16K 0 0 |
Описание этих свойств приведено в разделе Таблица 6–1.
Команда zfs rollback используется для отмены всех изменений, внесенных с момента создания определенного снимка. Файловая система возвращается в состояние, в котором она находилась на момент создания снимка. По умолчанию эта команда позволяет выполнить откат только к последнему созданному снимку.
Для возврата к какому-либо из предшествующих снимков необходимо уничтожить все промежуточные снимки. Для уничтожения предшествующих снимков используется параметр -r.
При наличии клонов каких-либо промежуточных снимков необходимо указать параметр -R для уничтожения этих клонов.
Файловая система, для которой требуется выполнить откат, должна быть размонтирована и перемонтирована (если она смонтирована в настоящее время). Если размонтирование файловой системы невозможно, откат не выполняется. Для принудительного размонтирования файловой системы при необходимости можно использовать параметр -f.
В следующем примере для файловой системы tank/home/ahrens выполняется откат к снимку tuesday:
# zfs rollback tank/home/ahrens@tuesday cannot rollback to 'tank/home/ahrens@tuesday': more recent snapshots exist use '-r' to force deletion of the following snapshots: tank/home/ahrens@wednesday tank/home/ahrens@thursday # zfs rollback -r tank/home/ahrens@tuesday |
В приведенном выше примере снимки wednesday и thursday удаляются с целью отката к предшествующему снимку tuesday.
# zfs list -r -t snapshot -o name,creation tank/home/ahrens NAME CREATION tank/home/ahrens@tuesday Wed Aug 27 16:35 2008 |
Клон – это доступные для записи том или файловая система, исходное содержимое которых совпадает с набором данных, на основе которого они были созданы. Как и в случае со снимками, клон создается почти мгновенно и изначально не занимает дополнительного дискового пространства. Кроме того, можно сделать снимок клона.
Клоны могут быть созданы только на основе снимка. При клонировании снимка формируется неявная зависимость между клоном и снимком. Даже в случае создания клона в другом местоположении в иерархии набора данных исходный снимок не может быть уничтожен, пока существует клон. Эта зависимость отражена в свойстве origin. Для вывода списка таких зависимостей, если они существуют, можно использовать команду zfs destroy.
Клоны не наследуют свойства набора данных, на основе которого они были созданы. Для просмотра и изменения свойств клонированного набора данных используются команды zfs get и zfs set. Для получения дополнительной информации о настройке свойств набора данных ZFS см. Установка свойств ZFS.
Поскольку клон первоначально совместно использует дисковое пространство с исходным снимком, значение свойства used для него равно нулю. По мере внесения изменений клон занимает все больший объем пространства. Свойство used исходного снимка не учитывает дисковое пространство, занимаемое клоном.
Для создания клона используется команда zfs clone, в которой задается снимок для создания клона и имя новой файловой системы или тома. Новая файловая система или том могут быть расположены в любом месте в иерархии ZFS. Тип нового набора данных (например, файловой системы или тома) совпадает с типом снимка, на основе которого был создан клон. Создать клон файловой системы в пуле, отличном от местоположения исходного снимка файловой системы, невозможно.
В следующем примере создается новый клон tank/home/ahrens/bug123 с тем же исходным содержимым, что и в снимке tank/ws/gate@yesterday.
# zfs snapshot tank/ws/gate@yesterday # zfs clone tank/ws/gate@yesterday tank/home/ahrens/bug123 |
В следующем примере создается клонированная рабочая область projects/teamA/tempuser, основанная на снимке projects/newproject@today и предназначенная для временного пользователя. Затем для этого клона задаются свойства.
# zfs snapshot projects/newproject@today # zfs clone projects/newproject@today projects/teamA/tempuser # zfs set sharenfs=on projects/teamA/tempuser # zfs set quota=5G projects/teamA/tempuser |
Для уничтожения клонов ZFS используется команда zfs destroy. Например:
# zfs destroy tank/home/ahrens/bug123 |
Перед уничтожением родительского снимка должны быть уничтожены все его клоны.
Команда zfs promote позволяет заменить активную файловую систему ZFS клоном этой файловой системы. Эта функция обеспечивает возможность клонирования и замены файловых систем, в результате чего исходная файловая система становится клоном указанной файловой системы. Кроме того, эта функция позволяет уничтожить файловую систему, на основе которой был создан клон. Уничтожение исходной файловой системы активных клонов без изменения их роли невозможно. Дополнительную информацию об уничтожении клонов приведено в разделе Уничтожение клона ZFS.
В следующем примере клонируется файловая система tank/test/productA, после чего клонированная система tank/test/productAbeta становится файловой системой tank/test/productA.
# zfs create tank/test # zfs create tank/test/productA # zfs snapshot tank/test/productA@today # zfs clone tank/test/productA@today tank/test/productAbeta # zfs list -r tank/test NAME USED AVAIL REFER MOUNTPOINT tank/test 314K 8.24G 25.5K /tank/test tank/test/productA 288K 8.24G 288K /tank/test/productA tank/test/productA@today 0 - 288K - tank/test/productAbeta 0 8.24G 288K /tank/test/productAbeta # zfs promote tank/test/productAbeta # zfs list -r tank/test NAME USED AVAIL REFER MOUNTPOINT tank/test 316K 8.24G 27.5K /tank/test tank/test/productA 0 8.24G 288K /tank/test/productA tank/test/productAbeta 288K 8.24G 288K /tank/test/productAbeta tank/test/productAbeta@today 0 - 288K - |
Из приведенных выше выходных данных команды zfs list видно, что учетная информация о пространстве исходной файловой системы productA была заменена данными системы productAbeta.
Завершите процесс замены клона переименованием файловых систем. Пример:
# zfs rename tank/test/productA tank/test/productAlegacy # zfs rename tank/test/productAbeta tank/test/productA # zfs list -r tank/test NAME USED AVAIL REFER MOUNTPOINT tank/test 316K 8.24G 27.5K /tank/test tank/test/productA 288K 8.24G 288K /tank/test/productA tank/test/productA@today 0 - 288K - tank/test/productAlegacy 0 8.24G 288K /tank/test/productAlegacy |
При необходимости можно удалить старую файловую систему. Пример:
# zfs destroy tank/test/productAlegacy |
Команда zfs send создает потоковое представление снимка, передаваемое на стандартный вывод. По умолчанию генерируется полный поток. Выходные данные можно перенаправить в файл или в другую систему. Команда zfs receive создает снимок, содержимое которого помещается в поток, направляемый на стандартный ввод. При получении полного потока также создается новая файловая система. С помощью этих команд можно отправлять и получать данные снимков ZFS и файловых систем. См. примеры в следующем разделе.
Существуют следующие решения резервного копирования для сохранения данных ZFS:
Продукты для резервного копирования на корпоративном уровне. Если требуются следующие функциональные возможности, рассмотрите возможность использования решения для резервного копирования на корпоративном уровне:
Восстановление отдельных файлов
Проверка архивных носителей
управление носителями
Снимки файловой системы и откат снимков. При необходимости простого создания копии файловой системы и возврата к предыдущей версии файловой системы используются команды zfs snapshot и zfs rollback. Например, это решение можно использовать для восстановления файла или файлов из предыдущей версии файловой системы.
Для получения дополнительной информации о создании снимков и откате см. Краткий обзор снимков ZFS.
Сохранение снимков. Для отправки и получения снимка ZFS используются команды zfs send и zfs receive. Инкрементные изменения между снимками могут быть сохранены, но восстановление отдельных файлов невозможно. Снимок файловой системы необходимо восстановить полностью. Эти команды не обеспечивают полное резервное копирование для сохранения данных ZFS.
Удаленная репликация. Для копирования файловой системы из одной системы в другую используются команды zfs send и zfs receive. Этот процесс отличается от традиционного управления томами, при котором существовала возможность зеркалирования устройств в глобальной сети. Какие-либо специальные настройки или оборудование не требуются. Преимущество репликации файловой системы ZFS состоит в возможности воссоздания файловой системы в пуле устройств хранения данных на другом оборудовании и определения различных конфигурационных уровней для нового пула, например RAID-Z, но с идентичными данными файловой системы.
Средство архивации. Сохранение данных ZFS с помощью средств архивации, таких как tar, cpio и pax или продуктов резервного копирования сторонних изготовителей. В настоящее время команды tar и cpio правильно выполняют трансляцию ACL типа NFSv4, однако команда pax выполняет трансляцию ACL типа NFSv4 некорректно.
Можно использовать команду zfs send для отправки копии снимка в другой пул и получения снимка из другого пула на той же системе или из пула на другой системе, которая используется для сохранения архивных данных. Например, чтобы отправить снимок в другой пул на той же системе, используется синтаксис, аналогичный следующему:
# zfs send tank/data@snap1 | zfs recv spool/ds01 |
Если потоковое представление моментального снимка отправляется в другую систему, выходные данные команды zfs send передаются с помощью команды ssh. Пример:
host1# zfs send tank/dana@snap1 | ssh host2 zfs recv newtank/dana |
При передаче полного потока целевая файловая система не должна существовать.
Для сохранения инкрементных данных используется команда zfs send с параметром -i. Пример:
host1# zfs send -i tank/dana@snap1 tank/dana@snap2 | ssh host2 zfs recv newtank/dana |
Обратите внимание, что первый аргумент представляет более ранний снимок (snap1), а второй – более поздний (snap2). В этом случае для успешного выполнения инкрементной передачи должна существовать файловая система newtank/dana.
В качестве последнего компонента имени снимка можно указать инкрементный источник snap1. Это означает, что достаточно указать имя после знака @ для снимка snap1, который, как предполагается, находится в той же файловой системе, что и snap2. Пример:
host1# zfs send -i snap1 tank/dana@snap2 > ssh host2 zfs recv newtank/dana |
Этот синтаксис является эквивалентом приведенного выше примера инкрементного синтаксиса.
При попытке генерации инкрементного потока из другой файловой системы snapshot1 отображается следующее сообщение:
cannot send 'pool/fs@name': not an earlier snapshot from the same fs |
При необходимости сохранения нескольких копий можно выполнить сжатие потокового представления моментального снимка ZFS с помощью команды gzip. Пример:
# zfs send pool/fs@snap | gzip > backupfile.gz |
При получении снимка файловой системы необходимо учитывать следующее:
Получены снимок и файловая система.
Файловая система и все дочерние файловые системы размонтируются.
Во время получения файловые системы недоступны.
Исходная файловая система, которая должна быть получена, не должна существовать во время передачи.
При наличии файловой системы с конфликтующим именем эту систему можно переименовать с помощью команды zfs rename.
Пример:
# zfs send tank/gozer@0830 > /bkups/gozer.083006 # zfs receive tank/gozer2@today < /bkups/gozer.083006 # zfs rename tank/gozer tank/gozer.old # zfs rename tank/gozer2 tank/gozer |
Также можно использовать сокращенный вариант zfs recv как псевдоним команды zfs receive.
В случае изменения исходной файловой системы и необходимости инкрементной передачи снимка сначала следует выполнить откат целевой файловой системы.
Например, предположим, что в файловую систему вносится следующее изменение:
host2# rm newtank/dana/file.1 |
Для выполнения инкрементной отправки снимка tank/dana@snap3 и получения нового инкрементного снимка сначала следует выполнить откат целевой файловой системы. Для исключения этапа отката можно использовать параметр -F. Пример:
host1# zfs send -i tank/dana@snap2 tank/dana@snap3 | ssh host2 zfs recv -F newtank/dana |
При получении инкрементного снимка целевая файловая система должна уже существовать.
При внесении изменений в исходную файловую систему без отката целевой файловой системы для получения нового инкрементного снимка, либо в случае отсутствия параметра -F появится следующее сообщение:
host1# zfs send -i tank/dana@snap4 tank/dana@snap5 | ssh host2 zfs recv newtank/dana cannot receive: destination has been modified since most recent snapshot |
Перед применением параметра -F выполняются следующие проверки:
Если новый снимок не соответствует инкрементному источнику, операции отката и получения не выполняются, и выводится сообщение об ошибке.
При непреднамеренном вводе в команде zfs receive имени другой файловой системы, не соответствующей инкрементному источнику, операции отката и получения не выполняются, и выводится следующее сообщение об ошибке.
cannot send 'pool/fs@name': not an earlier snapshot from the same fs |
В этом разделе описано использование параметров команды zfs send - I и - R для отправки и получения потоковых представлений сложных моментальных снимков.
При отправке и получении потоковых представлений моментальных снимков ZFS необходимо помнить следующее.
Параметр zfs send - I используют для отправки всех инкрементных потоков из одного снимка в совокупный снимок. Или этот параметр используют для отправки инкрементного потока из исходного снимка для создания клона. Для получения инкрементного потока исходный снимок уже должен существовать на принимающей стороне.
Параметр zfs send - R используют для отправки потока репликации всех дочерних файловых систем. При получении сохраняются все свойства, снимки, файловые системы-потомки и клоны.
Оба параметра можно использовать для отправки потока инкрементной репликации.
Сохраняются изменения свойств, а также результаты операций переименования и уничтожения снимков и файловых систем.
Если параметр zfs recv -F не указан при получении потока репликации, результаты операций уничтожения наборов данных игнорируются. Синтаксис zfs recv -F в этом случае также сохраняет свой смысл отката при необходимости.
Что касается других вариантов (не zfs send -R) - i или -I, если используется параметр - I, отправляются все снимки от snapA до snapD. Если используется параметр - i, отправляются только снимки snapD (для всех дочерних).
Для получения всех новых типов потоков zfs send принимающая система должна выполнять версию программного обеспечения, поддерживающую их отправку. Версия потока увеличивается.
Однако можно получить доступ к потокам из старых версий пула с помощью новой версии программного обеспечения. Например, можно отправлять и получать потоки, созданные с новыми параметрами, в и из пула версии 3. Но при этом для получения потока, отправленного с новыми параметрами, должно выполняться последнее программное обеспечение.
Группу инкрементных снимков можно объединить в один снимок с помощью команды zfs send с параметром - I. Пример:
# zfs send -I pool/fs@snapA pool/fs@snapD > /snaps/fs@all-I |
Удалите снимки B, C и D.
# zfs destroy pool/fs@snapB # zfs destroy pool/fs@snapC # zfs destroy pool/fs@snapD |
Получите комбинированный снимок.
# zfs receive -d -F pool/fs < /snaps/fs@all-I # zfs list NAME USED AVAIL REFER MOUNTPOINT pool 428K 16.5G 20K /pool pool/fs 71K 16.5G 21K /pool/fs pool/fs@snapA 16K - 18.5K - pool/fs@snapB 17K - 20K - pool/fs@snapC 17K - 20.5K - pool/fs@snapD 0 - 21K - |
Команду zfs send -I можно также использовать, чтобы объединить снимок и снимок клона для создания комбинированного набора данных. Пример:
# zfs create pool/fs # zfs snapshot pool/fs@snap1 # zfs clone pool/fs@snap1 pool/clone # zfs snapshot pool/clone@snapA # zfs send -I pool/fs@snap1 pool/clone@snapA > /snaps/fsclonesnap-I # zfs destroy pool/clone@snapA # zfs destroy pool/clone # zfs receive -F pool/clone < /snaps/fsclonesnap-I |
Команду zfs send - R используют для репликации файловой системы ZFS и всех дочерних файловых систем вплоть до именованного снимка. При получении сохраняются все свойства, снимки, дочерние файловые системы и клоны.
В следующем примере снимки создаются для пользовательских файловых систем. Для всех пользовательских снимков создается один поток репликации. Затем исходные файловые системы и снимки удаляются и восстанавливаются.
# zfs snapshot -r users@today # zfs list NAME USED AVAIL REFER MOUNTPOINT users 187K 33.2G 22K /users users@today 0 - 22K - users/user1 18K 33.2G 18K /users/user1 users/user1@today 0 - 18K - users/user2 18K 33.2G 18K /users/user2 users/user2@today 0 - 18K - users/user3 18K 33.2G 18K /users/user3 users/user3@today 0 - 18K - # zfs send -R users@today > /snaps/users-R # zfs destroy -r users # zfs receive -F -d users < /snaps/users-R # zfs list NAME USED AVAIL REFER MOUNTPOINT users 196K 33.2G 22K /users users@today 0 - 22K - users/user1 18K 33.2G 18K /users/user1 users/user1@today 0 - 18K - users/user2 18K 33.2G 18K /users/user2 users/user2@today 0 - 18K - users/user3 18K 33.2G 18K /users/user3 users/user3@today 0 - 18K - |
Можно использовать команду zfs send -Rдля репликации набора данных users и отправки реплицированного потока в другой пул users2.
# zfs create users2 mirror c0t1d0 c1t1d0 # zfs receive -F -d users2 < /snaps/users-R # zfs list NAME USED AVAIL REFER MOUNTPOINT users 224K 33.2G 22K /users users@today 0 - 22K - users/user1 33K 33.2G 18K /users/user1 users/user1@today 15K - 18K - users/user2 18K 33.2G 18K /users/user2 users/user2@today 0 - 18K - users/user3 18K 33.2G 18K /users/user3 users/user3@today 0 - 18K - users2 188K 16.5G 22K /users2 users2@today 0 - 22K - users2/user1 18K 16.5G 18K /users2/user1 users2/user1@today 0 - 18K - users2/user2 18K 16.5G 18K /users2/user2 users2/user2@today 0 - 18K - users2/user3 18K 16.5G 18K /users2/user3 users2/user3@today 0 - 18K - |
Для удаленного копирования потокового представления моментального снимка из одной системы в другую используются команды zfs send и zfs recv. Пример:
# zfs send tank/cindy@today | ssh newsys zfs recv sandbox/restfs@today |
Эта команда отправляет данные снимка tank/cindy@today и получает их в файловой системе sandbox/restfs, а также создает снимок restfs@today в системе newsys. В этом примере пользователь настроен на использование команды ssh в удаленной системе.
Помимо команд zfs send и zfs receive, для сохранения файлов ZFS также можно использовать средства архивации, например tar и cpio. Такие средства позволяют сохранять и восстанавливать атрибуты файлов ZFS и списков ACL. См. описание соответствующих параметров команд tar и cpio.
Для получения новейшей информации о проблемах с ZFS и продуктами резервного копирования сторонних изготовителей см. заметки о выпуске Solaris 10 сопроводительной документации или вопросы и ответы (FAQ) по ZFS: