Template:Amanda Enterprise 3.1 Pre-installation Checks

This page describes the environmental requirements you should verify before running the install program. The Amanda Enterprise components required on each are described in Downloading and Installing Amanda Enterprise Components.

Throughout this document, The Amanda Client refers the system being backed up by the Amanda Enterprise Server, which also called the Amanda Server or backup server.

  • Identify the hosts and filesystems to be protected using Amanda software. The list of hosts to be protected are the Amanda backup clients. The Amanda backup clients and the filesystems or directories to be backed up on each client will need to be specified during Amanda configuration.
  • Identify the Amanda backup server. The Amanda backup server should have access to the media (tape, disk, changers) where the Amanda client backups will be stored on tapes or the backup process is managed (in case of NDMP). Any Amanda client can also act as an Amanda server, and it is recommended that every Amanda server also be a backup client. In selecting your Amanda backup server machine, keep in mind that the server might use a significant amount of memory during backup runs, and that it must have good network connectivity to all Amanda clients.

Amanda Enterprise Server Requirements

Backup server performs various CPU, Memory, Network, and Disk intensive operations. While hardware requirements will vary based on your backup environment, we recommend a server with at least 4GB of memory and a modern quad-core server-class CPU. The bandwidth of the network link between backup server and your network switch is also very critical. If network bonding is supported by your switch, we recommend providing a bonded connection to the backup server.

  • You should have at least 2 GB of disk space on the disk where Amanda Enterprise software is being installed.
  • The Amanda server and clients must have the latest service packs or updates to the distribution installed.
  • Amanda server and client cannot be installed on an NFS-mounted file systems. For example: You should not install the Amanda Enterprise ZMC (/opt/zmanda/amanda) on an NFS partition.
  • The Amanda server must have the locale set to en_* (for example, en_US.UTF-8)C, or POSIX.
  • The amandabackup user should have privileges to have crontab entries to perform scheduled backups. In some distributions, the amandabackup user must be added to cron.allow file. This file is usually in /etc or /etc/cron.d directory. 
  • The amandabackup user should have permissions to read and write to disk and tape devices (if they are used for backup). The amandabackup user is automatically added to disk user group on Solaris/Linux systems.  In case of Ubuntu/Debian/RHEL 6/Oracle Enterprise Linux 6 platforms, the amandabackup user must be manually added to tape user group also. It is important to restart ZMC server processes (Run /etc/init.d/zmc_aee restart) after adding amandabackup user to the tape user group.
  • If you intend to back up an Oracle server, the amandabackup user must have permission to write to the $ORACLE_HOME directory.
  • The amandabackup user should have permission to write to the /tmp directory on the Amanda server.
  • If a tape changer is the intended backup media, the backup server also requires both the mt-st and mtx package in addition to the platform-specific dependencies listed below.  Please note mt-st package is not required for Suse/SLES distribution and Solaris platforms. If a tape drive is the intended backup media, mt is required. Without the appropriate packages, ZMC will return an error message when you try to view these devices.
  • The directories /etc/amanda and /etc/zmanda must be on the same file system.
  • In addition to the space required for the software itself, you should ensure that there is always 10% free space in the Zmanda installation and temporary directories, defined here. If Amanda Enterprise runs out of space on either of these directories while a backup is in progress, the backup will fail with MySQL errors. Also ZMC will print warnings messages when there is insufficient disk space.

  • Amanda clients must have open inbound TCP ports 10080 and 10081.
  • Internal firewalls and selinux policy must not prevent PHP processes from using HTTP over the loopback address 127.0.0.1
  • If you are using SE Linux on the server in an enforcing mode, you should run the following command to allow Zmanda Management Console to work as superuser:

setsebool -P allow_execstack on

  • On Solaris/Open Solaris platforms, /etc/nsswitch.conf should have host resolution set to files dns. If it is configured to dns files, ZMC will fail to start.
  • Solaris with unpatched systems may experience Apache problems, which are described (along with workaround) in this Zmanda Knowledgebase article.

Package Dependencies

The following packages are required on the Amanda backup server and clients:

Linux 

Solaris 10 

Solaris 8 and 9 

Mac OS X 

Linux

Program Dependencies: The following programs are needed for Linux backup server and client

  • GNU tar (version 1.15.1 or greater, except Red Hat/CentOS/Oracle Enterprise Linux, which supports version 1.14 or greater)
  • xinetd
  • ssh server
  • perl version 5.8.8
  • Schily tar (star 1.5final) - Required only if file system extended attributes have to be backed up.
  • Gnu GPG - if data encryption is being perfomed

These additional programs are required on the Linux backup server

  • ssh client
  • gnuplot
  • gettext
  • mailx
  • redhat-lsb (required only for Redhat Enterprise/Cent OS/Oracle Enterprise Linux)
  • mt-st, mtx and lsscsi commands for tape backups.

Library Dependencies: The server packages are 32bit, so 32bit libraries are required. Native 32bit systems already have the required libraries. 64bit systems require the 32bit compatibility libraries. They are available for RHEL/CentOS/SLES/Oracle Enterprise/Fedora/Open Suse Linux platforms. On Ubuntu/Debian platforms, they may not be available for older platforms.  On Ubuntu/Debian platforms, they may not be available for older platforms. See Linux Debian/Ubuntu for more details.

These packages are installed by default on most Linux distributions. If you need to add them, you can use yum, apt-get, or yast. Packages can be obtained from the distribution media or from a distribution repository (run either as root):

#yum install package_name

or

#apt-get install package_name

or

#yast -i package_name

In the case of yast on SLES, you can also use the YaST Online Update (YOU) to install new package and to keep the SLES distribution updated (which is recommended).

Linux Debian/Ubuntu

The Amanda backup client requires 32-bit version of following Debian packages;  Amanda 64-bit backup client requires the following 64-bit version Debian packages

  • libcurl3-gnutls
  • libglib2.0-0
  • libpcre3
  • libidn11
  • libssh2-1
  • libcurl3 or libcurl4 version >=7.13.2
  • libreadline5 or libreadline6 (depending on the platform)

The Amanda backup server requires following additional 32-bit  Debian package:

  • ia32-libs (only needed by 64-bit Debian/Ubuntu platforms)

Note for 64bit Debian/Ubuntu Amanda servers: The best way to install 32-bit version library packages on 64bit Debian/Ubuntu platforms is with getlibs, which is described in more detail in this Zmanda Knowledgebase article. Alternatively, libreadline5 and libreadline6 32bit version can be obtained by installing lib32readline5 package and lib32readline6 package respectively.

Redhat/CentOS/Oracle Enterprise Linux/SLES/Fedora/OpenSuse

The Amanda backup client requires the following 32-bit packages;  AE 64-bit backup client requires the following 64-bit packages

  • curl
  • readline
  • glib2
  • termcap (not required on SLES/OpenSuse)

To run the Amanda Enterprise Backup Server (or a 32-bit Amanda client) on 64-bit RedHat/CentOS/Oracle Linux/Fedora/Open Suse requires these same packages in 32-bit versions (please note that these packages might depend on other packages and so use tools such as yum, apt-get to install these packages).

  • glib2.i386 or glib2.i686
  • curl.i386 or curl.i686
  • readline.i386 or readline.i686
  • termcap.noarch
  • libidn.i386 or libidn.i686
  • ncurses.i686

  • libgcc.i686 (for fedora platforms)

64bit RHEL6/Oracle Enterprise Linux 6 requires additional packages

  • ncurses-libs.i686 (instead of ncurses.i386)
  • libcurl.i686 (instead of curl.i386)
  • libstdc++.so.6

On 64bit SLES 11 platforms, these packages are called

  • glibc-32bit
  • glib2  (includes both 32 a 64-bit libraries)
  • libcurl4-32bit
  • libreadline5-32bit
  • libidn-32bit
  • libncurses5-32bit

Solaris 10 (Both Sparc and Intel Architectures), Open Solaris

64-bit packages are required for Amanda Servers running Solaris10/Sparc; 32-bit packages are required for all Amanda clients, and servers running on Solaris/Intel and OpenSolaris. To account for inter-package dependencies, they should be installed in the order as listed. The following dependencies required on both client and server. The package names (i.e., what you specify when installing) are in boldface type.  This dependency list is an attempt to document all direct Amanda dependencies and indirect dependencies (Amanda depends on a package that in turn depends on other packages).

SUNW packages can be found as part of Solaris distribution. Zmanda recommends that you install the CSW packages from http://www.opencsw.org/. Some package dependencies are pre-bundled for your convenience  and are available at Zmanda network downloads page.   Some packages mentioned below have other dependencies. It is easier to install other dependencies by using pkgutil tool available at the http://www.opencsw.org/get-it/pkgutil/

These dependencies are required on both server and client:

  1. SUNWflexruntime flexruntime - The Flex Lexer
  2. SUNWgnome-base-libs - Gnome libraries
  3. CSWgtar gtar - GNU tape archiver
  4. CSWossl openssl - Openssl meta package
  5. CSWosslrt openssl_rt - Openssl runtime libraries
  6. CSWosslutils openssl_utils - Openssl binaries and related tools
  7. CSWcurl curl - Library and tool for common Internet protocols
  8. CSWcurlrt curlrt - Library for common Internet protocols Runtime
  9. CSWggettext ggettext - GNU gettext
  10. CSWoldaprt openldap_rt - OpenLDAP runtime libraries (oldaprt)
  11. CSWreadline6 readline  - (readline6) library to enable interactive line editing. CSWreadline5 is used by Amanda Enterprise 3.0.x
  12. CSWbdb44 berkeleydb4.4 - Embedded database libraries and utilities.
  13. CSWcommon common - Installs some useful standard CSW filesystem symlinks and files
  14. CSWexpat expat - XML parser toolkit
  15. CSWlibiconv libiconv - Unicode support library
  16. CSWlibidn libidn  - Implementation of the Stringprep, Punycode and IDNA
  17. CSWlibnet libnet - Packet construction library
  18. CSWlibsunmath libsunmath - Sun maths library
  19. CSWopenssl_devel openssl_devel - Open SSL developer support
  20. CSWsasl sasl - Simple Authentication and Security Layer
  21. CSWzlib zlib - Data compression library
  22. CSWlibssh2 libssh2 - A library implementing the SSH2 protocol (for sparc platform only)
  23. CSWgnupg gnupg - This package is optional and is required if data encryption is performed.
  24. CSWgdbm gdbm - Unix library for dbm/mdbm

The installation order for dependencies for the common packages:

CSWcommon CSWiconv CSWlibidn CSWlibnet CSWsunmath CSWzlib CSWgdbm CSWbdb44 CSWexpat
CSWgfile CSWgcc3corert CSWgcc3g++rt CSWggettext CSWgtar CSWmtx CSWreadline
CSWfindutils CSWosslrt CSWosslutils CSWossldevel CSWossl CSWsasl
CSWoldaprt CSWcurlrt CSWcurl

The following dependencies required only on the server:

  1. CSWfindutils findutils - A set of utilities for searching a filesystem
  2. CSWgfile fileutils - GNU file utilities
  3. CSWmtx mtx - SCSI Media Changer and Backup Device Control
  4. SUNWscpu core utilities - Source Compatibility 
  5. SUNWgccruntime GCC libraries - GCC Runtime libraries 

The following dependency is required only on the client:

  1. CSWperl 5.8.8 - perl software  (this package will require additional packages. Please use pkgutil to install this package)

Solaris 8 and 9 (Sparc Architecture)

The dependencies are the same as listed above for Solaris 10, with the following addition:

  • CSWperl 5.8.8
  • CSWglib2

Instructions for using pkgutil on Solaris 8 and 9 is different. Please see blastwave site for instructions.

Mac OSX (Client only)

Download and install the package dependencies available from the Zmanda Network download page when you select Mac OSX as the client platform.

Libraries installed in non-standard locations

Some of the dependency packages listed above may change the location of runtime libraries when installed or updated. If this happens, backups may fail with a message indicating that a required library or file could not be found. If this happens, you must update the system search path so that Amanda Enterprise can find the file(s). The Solaris crle (Configure Runtime Linking Environment) provides a simple way to do this:

1. Run crle without any parameters and pipe the output to a file to save the original configuration:

crle > ld.config.old

2. Run crle with the -c and -l options to update the path. For example:

crle -c /var/ld/ld.config -l /lib:/usr/lib:/lib/secure:/usr/lib/secure:/usr/local/lib

Will update the /var/ld/ld.config to use /lib:/usr/lib:/lib/secure:/usr/lib/secure:/usr/local/lib as the search path. Running crle without parameters will display the current search paths in effect. Refer to the Solaris documentation for further details on crle.

Windows (2003 Server, XP, and Vista) clients

The amandabackup user must exist, and be added to the Users, Backup Operators, and Administrators groups. Windows clients must open inbound TCP ports 10080 and 10081, and outbound TCP ports 700:800. Windows application backups (licensed as separate agents) require that the Volume Shadow Copy Service be enabled and started. To prevent excessive memory consumption on application backup clients, Zmanda also recommends that you install the following VSS hotfix from Microsoft:

Link to Microsoft Knowledgebase

See the The Zmanda Windows Client User's Manual for further details on Windows client installation.

Requirements for the amandabackup User on Solaris

If you are installing on a system that doesn't have an amandabackup user, the installation will create the user with the correct rights (roles).  If the user already exists, you may have to make these changes manually. Log in to the system as root, and type the following commands:

${BASEDIR}/usr/sbin/usermod -P "Media Backup,ZFS File System Management,ZFS Storage Management" ${amandabackup} >>${TMPFILE} 2>&1
           zfs allow -ldu amandabackup mount,create,rename,snapshot,destroy,send,receive FILESYSTEM

On systems that do not support zfs allow, you can give the amandabackup user permission to manipulate ZFS filesystems by using the following command:

usermod -P "ZFS File System Management,ZFS Storage Management" amandabackup

Post installation changes on Linux/Solaris/Mac OS X Amanda Clients

  • This section is not applicable for Windows clients.
  • Make sure there is a reverse name lookup record in the DNS for the Amanda server (FQDN if FQDN is used in the Amanda configuration files).
  • The .amandahosts file for the amandabackup user (~amandabackup/.amandahosts) on the client must authorize the Amanda server to run a backup.
  • The /etc/amanda/amanda-client.conf file must be edited on the client (if the client and server do not reside on the same machine). Specifically, the following entries must be edited:
index_server "localhost"        # your amindexd server
tape_server  "localhost"        # your amidxtaped server

Change "localhost" to match to the hostname of the  Amanda backup server.

  • If secure communication is required for restoration, ssh must be used for restoration. ssh is also required when restoring to a a MacOS X/Unix/Linux system that is not running the Zmanda Client software. To force the restore process to use ssh, edit /etc/xinetd.d/zmrecover on Linux systems to include the following line:
disable = yes

On MacOSX systems, run the following command: launchctl unload -w /Library/LaunchDaemons/org.amanda.zmrecover.plist. To re-enable the standard client restore mechanism, enter: launchctl load -w /Library/LaunchDaemons/org.amanda.zmrecover.plist.