Project:Amanda Enterprise 3.1 > Zmanda Client for Solaris Manual

Zmanda Client for Solaris Manual

Amanda Enterprise Edition Solaris Client is certified Amanda network backup software, tested and supported by Zmanda. This document has been prepared in conjunction with the Amanda Enterprise Edition Solaris client 3.1 release.

Amanda Enterprise Edition Solaris client packages are available for the following platforms from the Zmanda network:

  • Solaris 10 running on Sparc platform and Intel x86 platform
  • Open Solaris running on Sparc platform and Intel x86 platform
  • Solaris 9 running on Sparc platform
  • Solaris 8 running on Sparc platform

This document discusses the Amanda Enterprise Edition Solaris client installation, configuration and verification procedures.

Installation

Amanda Enterprise Edition Solaris client packages are available from the Zmanda network downloads page.

These Solaris packages provide Amanda client software only. An Amanda Solaris client will work with any Amanda server running Amanda Enterprise Edition 3.0.x and 3.1.

The Amanda client packages require other packages to be installed. These packages are also available from the Zmanda network downloads page. Some of the packages might already be installed on the Sun machine under a different package name. Please verify that the correct versions of required packages are installed.

The Zmanda Network also contains optional Solaris packages such as GPG and Schily tar (star) that can be used with the Amanda Solaris client. These packages are required only if certain specific Amanda features are used in the Amanda configuration.

Pre-installation checklist

  • All Solaris packages from Zmanda Network are compressed using GNU zip (gzip). The gzip package is available from Zmanda Network.
  • Perl software is required on the client. Please install CSWperl. This package is not available in the dependency tar ball.
  • Install GNU tar from the Zmanda network downloads page. Solaris CSWgtar version 1.15.1 is required for Amanda client installation.
  • Install any optional packages from Zmanda network downloads pages. - CSWgnupg (if GPG data encryption is required on the Amanda client), CSWstar (if Schily tar will be used as backup program on the Amanda client).
  • To use Amanda SSH transport authentication, SUNWsshcu, SUNWsshdr, SUNWsshdu, SUNWsshr and SUNWsshu packages from the Solaris distribution are required for Solaris 10. To use ssh authentication with Solaris 8/9, an SSH server is required such as the one provided by Blastwave's CSWossh package. SSH server package is not available in the dependency tar ball. This package is required to perform SSH restores.
  • Following entry must be added to the $HOME/.ssh/environment configuration file if you are using ssh authentication
PATH="/opt/csw/bin:/opt/sfw/bin:/usr/csw/bin:/usr/sfw/bin:/usr/bin:/usr/local/bin:/usr/sbin"

 

Client installation

  • Amanda client installation must be performed as super user (in other words, the root user).
  • Download the Amanda Enterprise Edition 3.1 Solaris client package from the Zmanda network downloads page. There are two packages - AmandaEnterpriseBackupClient and AmandaEnterpriseExtensionsClient . Both packages are required.
  • Save or copy the Solaris package to the Amanda client machine, for example, to the /tmp directory.
  • The Amanda client package is compressed using gzip. Uncompress the packages using the gunzip command.
# gunzip AmandaEnterpriseBackupClient-3.1-SunOS5.10-sparc.pkg.gz
  • Install AmandaEnterpriseBackupClient package using pkgadd.

Example: Amanda client installation on Solaris 10

# pkgadd -d AmandaEnterpriseBackupClient-3.1-SunOS5.10-sparc.pkg
The following packages are available:
 1  AmandaEnterpriseBackupClient     Amanda Enterprise Backup Client from Zmanda
                                      (sparc) 3.1
Select package(s) you wish to process (or 'all' to process
all packages). (default: all) [?,??,q]: all
Processing package instance <AmandaEnterpriseBackupClient> from
</tmp/AmandaEnterpriseBackupClient-3.1-SunOS5.10-sparc.pkg>
Amanda Enterprise Backup Client from Zmanda
( sparc) 3.1
Using </> as the package base directory.
## Processing package information.
## Processing system information.
## Verifying package dependencies.
## Verifying disk space requirements.
## Checking for conflicts with packages already installed.
## Checking for setuid/setgid programs.
The following files are being installed with setuid and/or setgid
permissions:
 /usr/lib/amanda/calcsize <setuid root>
 /usr/lib/amanda/killpgrp <setuid root>
 /usr/lib/amanda/rundump <setuid root>
 /usr/lib/amanda/runstar <setuid root>
 /usr/lib/amanda/runtar <setuid root>
Do you want to install these as setuid/setgid files [y,n,?,q] y
This package contains scripts which will be executed with super-user
permission during the process of installing this package.
Do you want to continue with the installation of
<AmandaEnterpriseBackupClient> [y,n,?] y
Installing Amanda Enterprise Backup Client from Zmanda as <AmandaEnterpriseBackupClient>
## Executing preinstall script.
Apr 28 2010 16:10:19: Preparing to install: AmandaEnterpriseBackupClient - Version 3.1
Apr 28 2010 16:10:19: Checking for 'amandabackup' user...
Apr 28 2010 16:10:19:
Apr 28 2010 16:10:19:  The Amanda backup software is configured to operate as the
Apr 28 2010 16:10:19:  user 'amandabackup'.  This user exists on your system and has not
Apr 28 2010 16:10:19:  been modified.  To ensure that Amanda functions properly,
Apr 28 2010 16:10:19:  please see that the following parameters are set for that
Apr 28 2010 16:10:19:  user.:
Apr 28 2010 16:10:19:
Apr 28 2010 16:10:19:  SHELL:          /bin/sh
Apr 28 2010 16:10:19:  HOME:           //var/lib/amanda
Apr 28 2010 16:10:19:  Default group:  disk
Apr 28 2010 16:10:19:
Apr 28 2010 16:10:19:
Apr 28 2010 16:10:19: === Amanda Enterprise backup client installation started. ===
##Installing part 1 of 1.
/usr/lib/amanda/amandad
/usr/lib/amanda/amcat.awk
/usr/lib/amanda/amplot.awk
/usr/lib/amanda/amplot.g
/usr/lib/amanda/amplot.gp
/usr/lib/amanda/calcsize
/usr/lib/amanda/generic-dumper
/usr/lib/amanda/gnutar
/usr/lib/amanda/killpgrp
/usr/lib/amanda/noop
/usr/lib/amanda/patch-system
/usr/lib/amanda/rundump
/usr/lib/amanda/runstar
/usr/lib/amanda/runtar
/usr/lib/amanda/selfcheck
/usr/lib/amanda/sendbackup
/usr/lib/amanda/sendsize
/usr/lib/amanda/star
/usr/lib/amanda/versionsuffix
/usr/lib/libamanda-3.1.so
/usr/lib/libamanda.a
/usr/lib/libamanda.la
/usr/lib/libamanda.so <symbolic link>
/usr/lib/libamandad-3.1.so
/usr/lib/libamandad.a
/usr/lib/libamandad.la
/usr/lib/libamandad.so <symbolic link>
/usr/lib/libamclient-3.1.so
/usr/lib/libamclient.a
/usr/lib/libamclient.la
/usr/lib/libamclient.so <symbolic link>
/usr/sbin/amcrypt-ossl
/usr/sbin/amcrypt-ossl-asym
/usr/sbin/amcryptsimple
/usr/sbin/amgpgcrypt
/usr/sbin/amoldrecover
/usr/sbin/amplot
/usr/sbin/amrecover
/usr/share/man/man5/amanda-client.conf.5
/usr/share/man/man5/amanda.conf.5
/usr/share/man/man8/amanda.8
/usr/share/man/man8/amcrypt-ossl-asym.8
/usr/share/man/man8/amcrypt-ossl.8
/usr/share/man/man8/amcryptsimple.8
/usr/share/man/man8/amgpgcrypt.8
/usr/share/man/man8/amplot.8
/usr/share/man/man8/amrecover.8
/var/lib/amanda/example/amanda-client.conf
/var/lib/amanda/example <implied directory>
/var/lib/amanda/example/inetd.conf.amandaclient
[ verifying class <none> ]
## Executing postinstall script.
Apr 28 2010 16:10:20: Installing '//etc/amandates'.
Apr 28 2010 16:10:20: Ensuring correct permissions for '//etc/amandates'.
Apr 28 2010 16:10:20: '//etc/amandates' Installation successful.
Apr 28 2010 16:10:20: Checking '//var/lib/amanda/.amandahosts' file.
Apr 28 2010 16:10:20: Checking '//etc/amanda/amanda-client.conf' file.
Apr 28 2010 16:10:20: Installing '//var/lib/amanda/.gnupg'.
Apr 28 2010 16:10:20: '//var/lib/amanda/.gnupg' will be created.
Apr 28 2010 16:10:20: The directory '//var/lib/amanda/.gnupg' created successfully.
Apr 28 2010 16:10:21: Ensuring correct permissions for '//etc/.gnupg'.
Apr 28 2010 16:10:21: '//var/lib/amanda/.gnupg' Installation successful.
Apr 28 2010 16:10:21: Creating directory '//var/lib/amanda/.ssh'.
Apr 28 2010 16:10:21: Creating ssh RSA key in '//var/lib/amanda/.ssh/id_rsa_amrecover'
Apr 28 2010 16:10:21: Setting owner and permission for '//var/lib/amanda/.ssh' and '//var/lib/amanda/.ssh/id_rsa_amrecover*'
Apr 28 2010 16:10:21: Checking for '//var/lib/amanda/.profile' and ensuring correct environment.
Apr 28 2010 16:10:21: Setting ownership and permissions for '//var/lib/amanda/.profile'
Apr 28 2010 16:10:21: === Amanda Enterprise backup client installation complete. ===
Amanda installation log can be found in '//var/log/amanda/install.log' and errors (if any) in '//var/log/amanda/install.err'.
Installation of <AmandaEnterpriseBackupClient> was successful.
  • Amanda client configuration files are created during Amanda client package installation. The list of files that are modified during installation can be seen in the above installation command output.
  • The logs for Amanda client package installation can be found in /var/log/amanda/install.log. If there are installation errors, messages are logged to the /var/log/amanda/install.err file.
  • During the install, the amandabackup user is created if it does not already exist. Please assign a password for the amandabackup user.
  • Install AmandaEnterpriseExtensionsClient package using pkgadd command.

Post-installation checklist

Note: These tasks must be performed as super user (the root user).
  • Check installation log files

The Amanda installation log can be found in /var/log/amanda/install.log and errors (if any) in /var/log/amanda/install.err.
Make sure there are no errors in the log files.

  • Perform the post installation steps common to all Amanda clients. This step is required for backup and recovery operations.
  • Check xinetd configuration

Make sure the following line is in the /etc/services file on the Amanda client:

amanda       10080/tcp

Configure the Amanda xinetd service:

Solaris 9/10
Run the command:
# inetadm |grep svc:/network/amanda/tcp |grep online
Make sure the output from the above command is:
enabled   online         svc:/network/amanda/tcp:default
To restart the Amanda service when necessary, run the command:
# svcadm restart network/amanda/tcp
Solaris 8
Make sure the following line is in the /etc/inet/inetd.conf file:
 amanda stream tcp nowait amandabackup /usr/lib/amanda/amandad amandad -auth=bsdtcp amdump
To restart inetd when necessary, run the command:
# pkill -HUP inetd

Adding Client file systems in ZMC

You can add the Solaris file systems/folders to the backup set using Zmanda Management Console. Use the Backup What page in the Zmanda management console to add folders from the Solaris client. You will need to specify the client name Host Name and the Directory to back up.

Amanda does not cross file system boundaries and thus each file system/partition should be entered as its own entry (separate DLE object).

BackupWhat-Solaris-3.1.png

You can exclude files, specify encryption and compression to be used for the directory. Special files such as device files, named pipes, sockets, etc. can cause errors from the native backup and restore tools and they should be excluded from the backup.

Solaris file systems can be backed up using different Amanda methods (Amanda Backup Client Application). The default method is using gtar (GNU tar).  Other methods that are available are shown below:

BackupWhat-Solaris-applicationoverride-3.1.png

SUN Tar allows the backup of extended attributes but only full backups can be performed. ZFS sendrecv and ZFS snapshot applications are available only for ZFS filesystems.

Amanda application ZFS snapshot can backup ZFS file systems by taking ZFS snapshots and backing data from the ZFS snapshots. After the backup operation is complete, the ZFS snapshot is deleted. Using ZFS snapshots provides two advantages:

  1. All files that are open or locked get backed up. No process other than Amanda backup process will be accessing the ZFS snapshot created for backup.
  2. Backup is consistent to a point in time. Usually backup process captures files over the backup window and will not consistent to a point in time. ZFS snapshot allows backup to be consistent to time when the snapshot is taken.

Use of ZFS sendrecv application is not recommended for ZFS filesystems because the format of ZFS send is likely to change.

Restoring Solaris files

If you are restoring to Solaris machine which has Amanda Enterprise client installed, Use Zmanda Management Console Restore pages.  You can select and explore files or use express restore in the Restore What page. For ZFS sendrecv application only express restore method is available.

Provide the Solaris machine where backups are being restored to in the Destination Host field in Restore Where page. The Destination User Name is not required.

If you are restoring to a machine that does not Amanda client installed, ssh will be used for restoration.  An user who has write permissions to do restoration is required for this method and must be provided in Destination User Name field in Restore Where page.

Backing up ZFS attributes

When Solaris is the file system type selected  in the Backup What page, the Advanced Options displayed after clicking the link include an Extended Attributes checkbox, which selects the archive program used for backing up the Solaris file system.  If you are using ZFS filesystem, you most likely need to backup ZFS ACLs. Enable extended attributes option in this case. If you do not need to back up ZFS Access Control Lists (ACLs), this option should be disabled.

When the option is disabled (the default), Amanda Enterprise uses (and requires) amgtar as the Amanda application

When the option is enabled amsuntar(8) is used for backup. The amsuntar application is designed to protect ZFS ACLs, as ZFS ACLs can only be backed up using the bundled Solaris native tar utility(/usr/sbin/tar). To ensure successful backup and and restore of ZFS ACLs, follow the instructions below.  Once the requirements for backup have been met, you can use the ZMC to back up the ZFS with no further steps. Restores through the ZMC will require you to extract an uncompressed tarball after the ZMC restore is complete as described here.

Requirements for amsuntar Backup

If amsuntar is used, check the following:

Configuring the amandabackup user with the "Media backup" profile

The amandabackup user should be set with the Media backup profile. The profile is set correctly if the amandabackup user is created by the installation program; if the user exists prior to installation its profile should be manually set with the following command:

usermod -P "Media Backup" amandabackup

Setting the Block Size, Extended Attribute, and Extended Header options

Set amsuntar properties as required by your site (the default values should work in most cases). The amsuntar application supports the following properties, enabling ACLs (suntar option p) by default. To set properties (which is only required in rare circumstances), edit the  the /etc/zmanda/zmc_aae/zmc_user_dumptypes file to define the application tool app_amsuntar_user with the following lines:

define application-tool "app_amsuntar_user" {
                        property "BLOCK-SIZE" "block_size_integer"
                        property "EXTENDED-ATTRIBUTES" "[YES | NO]"
                        property "EXTENDED-HEADERS" "[YES | NO]"                                             }

For example:

define application-tool "app_amsuntar_user" {                        property "BLOCK-SIZE" "64"
                        property "EXTENDED-ATTRIBUTES" "YES"
                        property "EXTENDED-HEADERS" "YES"                                             }

These settings are global to all backup sets processed by the server. When "EXTENDED-HEADERS" is set to "YES", amsuntar uses the -E option of suntar, which will allow archiving of files larger then 8GB in size,
filenames that exceed PATH_MAX, and also process timestamps with microsecond granularity.

When "EXTENDED-ATTRIBUTES" is set to "YES", amsuntar uses the @ option to archive extended attributes such as atime, ctime, mtime, uname, uid, gname, gid, etc. This information is archived in a special file included with the archive that can be used during recovery to restore the extended attributes.

Configuring File Exclusions

amsuntar supports suntar include/exclude files that list relative pathnames of files or directories to be included/excluded from the  archive. Refer to the suntar  man page for details on the syntax of include/exclude file, which can be specified in the zmc_suntar_userapp section of the /etc/zmanda/zmc_aee/zmc_user_dumptypes.

For example, to exclude /etc/sysevent/sysevent_door (a Solaris special file that can't be backed up), you might create a file called /tmp/exclude.list that contains one line:

/etc/sysevent/sysevent_door

You would then edit /etc/zmanda/zmc_aee/zmc_user_dumptypes so that the zmc_suntar_userapp  section to look like:

define dumptype zmc_suntar_userapp {exclude list "/tmp/exclude.list"}

Backup using ZFS snapshots

Amanda can backup ZFS file systems by taking ZFS snapshots and backing data from the ZFS snapshots. After the backup operation is complete, the ZFS snapshot is deleted. Using ZFS snapshots provides two advantages:

  1. All files that are open or locked get backed up. For example: You can create crash consistent backups of Virtual machine images stored on ZFS, while corresponding VMs are running. No process other than Amanda backup process will be accessing the ZFS snapshot created for backup.
  2. Backup is consistent to a point in time. Usually backup process captures files over the backup window and will not consistent to a point in time. ZFS snapshot allows backup to be consistent to time when the snapshot is taken.