How To Backup and Restore ZFS
How To Backup and Restore ZFS
How To Backup and Restore ZFS
How to Backup and Restore the Solaris 10 ZFS Root Pool [ID 1020257.1]
Applies to:
Solaris SPARC Operating System - Version: 10 3/05 and later [Release: 10.0 and later ]
All Platforms
Goal
The following procedure can be used to backup and restore a ZFS root pool (rpool) using the tools that are provided in Solaris 10 and above. It is advised that
the reader becomes comfortable with this procedure and attempts a restore before deploying this into production environments.
Solution
Pre-Requisites
1. Advisory patches
At the time of writing, the reader is advised to install Kernel Feature Patch 139555-08 (SPARC(R)) or 139556-08 (x86) to address the following issue:
CR #6794452
Synopsis: zfs receive cannot restore rpool
Without this patch it may not be possible to restore a recursively sent root pool, ie: streams created with the -R switch to zfs send.
2. Recovery Media
You should use at least the same release of Solaris 10 that you are trying to restore from, ie: if the root pool backup streams were from Solaris 10
10/08 then you must boot from at least a Solaris 10 10/08 media in order to perform the restore. This is because ZFS pools and filesystems have
version numbers that can be upgraded by updating to a more recent release of Solaris 10 or by installing the kernel feature patch associated with that
release, eg:
Solaris 10 10/08 (SPARC) ships with kernel feature patch 137137-09 which allows zpool version 10 functionality.
In order to understand a ZFS pool at version 10, the system must boot from a kernel at 137137-09 or later.
As such booting from a Solaris 10 5/08 DVD would not have sufficient knowledge to restore a version 10 pool.
Definitions
In this procedure, it is assumed the root pool will be called 'rpool' as is the given standard during installation.
It will also refer to a simple number of filesystems:
rpool
rpool/ROOT
rpool/ROOT/s10u7
rpool/export
rpool/export/home
This may need to be adjusted depending upon the filesystems that were created as part of the Solaris installation. Furthermore it does not take into account
any Live Upgrade created boot environments or cloned filesystems. The decision has been made to send each filesystem individually, where possible in case
just one filesystem needs to be restored from a stream file.
Take a copy of the properties that are set in the rpool and all filesystems, plus volumes that are associated with it:
1 of 3 27/5/2011 12:10 PM
https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&doc...
This will create a recursive snapshot of all descendants, including rpool/export, rpool/export/home as well as rpool/dump and rpool/swap (volumes). Because
swap and dump are zvols (volumes), their snapshots do not need to be included in the backup, so they should be destroyed thus:
Then for each filesystem, send the data to a backup file/location. Make sure that there is sufficient capacity in your backup location as "zfs send" does not
understand when the destination becomes full (eg: a multi-volume tape). In this example /backup is an NFS mounted filesystem from a suitably capacious
server:
These dump files can then be archived onto non-volatile storage for safe keeping, eg: magnetic tape.
If it is necessary to rebuild/restore a root pool, locate the known good copies of the zfs streams that were created in the Backing Up section of this document
and make sure these are readily available. In order to restore the root pool, first boot from a Solaris 10 DVD or network (jumpstart) into single user mode.
Depending upon whether the booted root filesystem is writable, it may be necessary to tell ZFS to use a temporary location for the mountpoint.
Pre-Requisites
In this example, disk c3t1d0s0 contains an SMI label, where slice 0 is using the entire capacity of the disk. Change the controller and target numbers
accordingly.
Ensure the dump files are available for reading. If these exist on tape, then a possible location would be /dev/rmt/0n, however in this example the dump files
are made available by mounting up the backup filesystem from an NFS server.
Once the dump files are available, restore the filesystems that make up the root pool. If Kernel Feature Patch 139555/139556-08 is installed you can use the
flags '-Fdu' to ensure that the filesystems are not mounted. It is important to restore these in the correct hierarchical order:
This will restore the filesystems, but remember an rpool will also have a dump and swap device, made up from zvol's. By default a zvol will be created using
an 8KB block size, however care needs to be taken when creating the dump and swap volumes.
For the swap device we must ensure that the blocksize matches that of the pagesize for the system. On a SPARC(R) based system this is typically 8KB and
for x86/x64 systems this is 4KB.
The dump device needs to be created with a blocksize of 128Kb as we want to maximise the throughput when saving a crash dump.
To recreate the dump and swap volumes run the following commands, selecting the swap zvol for the appropriate platform:
(adjust the size of the dump and swap volumes according to the configuration of the system being restored).
Now to make the disk ZFS bootable, a boot block must be installed, so pick one of the following according to the platform being restored:
Once the boot block has been installed, it is then necessary to set the bootable dataset/filesystem within this rpool.
To do this run the following zpool commands:
Set the failmode property of the rpool to continue. This differs to "data" zfs pools which use wait by default, so it's important to set this correctly:
2 of 3 27/5/2011 12:10 PM
https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&doc...
Temporarily disable the canmount property for the following filesystems, to prevent these from mounting when it comes to setting the mountpoint property:
To discuss this information further with Oracle experts and industry peers, we encourage you to review, join or start a discussion in the My Oracle Support
Community, Oracle Solaris System Administration Community.
Related
Products
Sun Microsystems > Operating Systems > Solaris Operating System > Solaris SPARC Operating System
Keywords
Back to top
Copyright (c) 2007, 2010, Oracle. All rights reserved. Legal Notices and Terms of Use | Privacy Statement
3 of 3 27/5/2011 12:10 PM