1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453
|
Chapter 2. Amanda Installation Notes
Prev Part I. Installation Next
-------------------------------------------------------------------------------
Chapter 2. Amanda Installation Notes
James da Silva
Original text
AMANDA Core Team
<jds@amanda.org>
Stefan G. Weichinger
XML-conversion, Updates
AMANDA Core Team
<sgw@amanda.org>
Table of Contents
Before_doing_anything
Compiling_the_Amanda_sources
Setting_up_your_Amanda_Configuration
Setting_up_the_Tape_Server_Host
Set_up_the_Backup_Client_Hosts
This document covers the compilation, installation, and runtime setup of Amanda
2.4.2 and higher.
Before doing anything
* Read this document all the way through.
* Consult Amanda_2.4.x_-_System-Specific_Installation_Notes for installation
notes specific to particular operating systems. There is often important
information there, so don't forget this step.
* Read Upgrade_Issues if you are upgrading from a previous Amanda version.
There are some issues that you will need to be aware of.
* If you are using KERBEROS authentication, read Kerberos for details on
installing and running the kerberized version of Amanda.
* Check the Amanda Patches Page, http://www.amanda.org/patches/.
Compiling the Amanda sources
If you have multiple architectures, you only need to install the whole Amanda
package on the tape server host (the one with tape drive). On the backup client
hosts (the ones you are going to dump), you only need to compile some of the
Amanda programs (see section Set_up_the_Backup_Client_Hosts below).
Source configuration
* Amanda can optionally make use of the following packages to back up different
types of clients or clients with different filesystem dumping programs.
o GNU-tar:
If you wish to use GNU-tar to back up filesystems, it is recommended to use
GNU-tar 1.13.25. Plain GNU-tar 1.12 needs to be patched to handle large
files (> 2GB). Plain GNU-tar 1.13 creates bad index-lists which amrecover
cannot handle, as does the rarely used GNU-tar 1.13.9x, which changed the
index-format again in an incompatible way.
Refer to the Amanda_FAQ for more information about issues with the various
releases of GNU-tar.
If you need to use GNU-tar 1.12, get it at
ftp://ftp.gnu.org/pub/gnu/tar/tar-1.12.tar.gz
and apply the patch from patches/tar-1.12.patch. The first hunk may be
enough, unless it's a SunOS4 host. Read more about the patches in the patch
file itself.
GNU-tar 1.13.25 can be found at:
ftp://alpha.gnu.org/pub/gnu/tar/tar-1.13.25.tar.gz
o Samba:
Samba allows Unix systems to talk to PC clients. Amanda can back up
Microsoft Windows clients using Samba:
http://www.samba.org
Read Backup_PC_hosts_using_Samba for configuration tips and known
limitations.
Look at http://www.amanda.org/patches/ for up to date information on
patches.
o Perl:
If you wish to make use of some of the scripts that come with Amanda, you
will need to install Perl. You can get Perl from any CPAN site.
ftp://ftp.cpan.org/pub/CPAN/src/perl-5.6.1.tar.gz
o Awk:
One of the programs included in this package is amplot, which reads a data
file that Amanda generates for each dump and translates that information in
it into a nice picture that can be used to determine how your installation
is doing and if any parameters need to be changed. To use amplot, you need
a version of awk that understands command line variable substitutions, such
as nawk or gawk, which is available from
ftp://ftp.gnu.org/pub/gnu/gawk/gawk-3.1.1.tar.gz
o GNUplot:
Amplot also required that gnuplot be installed on your system. Gnuplot is
available at
http://www.gnuplot.org/ ftp://ftp.gnuplot.org/pub/gnuplot
o Other packages:
The process of building Amanda requires that some other packages be
installed on your system. The following packages are used:
ftp://ftp.gnu.org/pub/gnu/readline/readline-5.0.tar.gz
amrecover optionally uses the readline library for its command-line edition
mechanisms. (If you use a package-based distribution, check for the package
readline-devel-X.Y.rpm.) This library itself requires either termcap,
curses or ncurses. termcap is preferred, and it may be obtained from:
ftp://ftp.gnu.org/pub/gnu/termcap/termcap-1.3.1.tar.gz.
If you wish to edit and enhance Amanda, you may need to install the
following tools. Autoconf and automake are required if you are going to
rebuild the Makefiles and auto configuration scripts. Bison is only needed
if you are going to work on the index server and client code.
ftp://ftp.gnu.org/pub/gnu/autoconf/autoconf-2.53.tar.gz ftp://ftp.gnu.org/
pub/gnu/automake/automake-1.6.3.tar.gz ftp://ftp.gnu.org/pub/gnu/bison/
bison-1.27.tar.gz ftp://ftp.gnu.org/pub/gnu/flex/flex-2.5.4a.tar.gz
* Read about the different configuration options available for building and
running Amanda. To see the options, do both:
o Run ./configure --help to see the available options that configure takes.
o Read the file example/config.site which gives longer descriptions to the
same options.
* Choose which user and group you will run the dumps under. Common choices for
user are `bin' or another user specifically created for Amanda, such as
`amanda'; common choices for group are `operator' or `disk'. If you do not
specify --with-user=<username> and --with-group=<groupname>, configure will
abort. Also choose the default name for your configuration, such as `csd' or
`DailySet1'). This name is used by the Amanda commands to choose one of
multiple possible configurations. You may specify it using the --with-
config=<confgname>.
* Decide where Amanda will live. You need to choose a root directory for
Amanda. Let this root directory be called $prefix. Unless you change the
default behavior with the appropriate command line options, Amanda will
install itself as. Listed below you find the appropriate configure-option for
each directory to change the location of this part of Amanda.
--sbindir=$prefix/sbin Amanda server side programs
--libexecdir=$prefix/libexec Amanda backup client programs
--libdir=$prefix/lib Amanda dynamic libraries
--with-configdir=$prefix/etc/amanda Runtime configuration files
--with-gnutar-listdir=$prefix/var/amanda/gnutar-lists Directory for GNU-tar
lists (client)
--mandir=$prefix/man Directory for manual pages
Note that the GNU-tar listdir should be a local filesystem on each client
that is going to be backed up with GNU-tar. If it really must be NFS-mounted,
make sure the filesystem is exported so that the client has root access to
it.
* Decide if you are compiling Amanda on a server only or a client only
platform. If you have a particular operating system that will only be a
Amanda client and will never run as the master tape host, then add the --
without-server option to configure. In the unlikely case that you have a
particular operating system that will serve as the tape host and you do not
wish to back up any machines that run this operating system, add the --
without-client option to the configure options. There are many other
configuration switches for Amanda. You may learn more about them by running
configure --help and by reading examples/config.site.
* Now configure Amanda. There are two ways of doing this. If you are running
Amanda on a single OS, then probably the first method works better for you.
If you need to support multiple platforms, then the second method will work
better.
o Run configure as non-root-user with the appropriate command line options.
You will probably want to remember the command line options for future
builds of Amanda.
o Edit examples/config.site and install it in the directory $prefix/etc or
$prefix/share. When configure runs the next time it will look for this file
and use it to configure Amanda.
Building and installing the binaries
* Back at the top-level source directory, build the sources:
make
su root; make install
Make sure that you don't build the software as root, you may run the first
make-command as the Amanda-user, for example. On the other hand you have to
run make install as root to get the binaries installed with the proper
permissions. If you want to change the compiler flags, you can do so like
this:
make CFLAGS="-O3 -Wall"
* If you have built with USE_VERSION_SUFFIXES, you will want to create symlinks
to the version you wish to use, eg: ln -s amdump-x.y.z amdump This is not
done automatically by the install process, so that you can have multiple
Amanda versions co-existing, and choose yourself which to make the default
version. The script contrib/set_prod_link.pl may save you some keystrokes.
* Run ldconfig as root to update the paths to the recently installed shared
libraries.
Setting up your Amanda Configuration
Setting up the Tape Server Host
* Create the config directory (eg. /usr/local/etc/amanda/confname) and copy the
example/ files into that directory. Edit these files to be correct for your
site, consulting the amanda(8) man page if necessary. You can also send mail
to mailto://amanda-users@amanda.org if you are having trouble deciding how to
set things up. You will also need to create the directory for the log and
database files for the configuration to use (eg /usr/local/var/amanda/
confname), and the work directory on the holding disk. These directories need
to agree with the parameters in amanda.conf. Don't forget to make all these
directories writable by the dump user!
Make sure that you specify the *no-rewind* version of the tape device in your
amanda.conf file. This is a frequently encountered problem for new sites.
Note that you might want to temporarily set the option "no-record" in all
your dumptypes when first installing Amanda if you'd like to run tests of
Amanda in parallel with your existing dump scheme. Amanda will then run but
will not interfere with your current dumpdates. However, you don't want to
run with "no-record" under normal operations.
* Put Amanda into your crontab. Here's a sample:
Example 2.1. /etc/crontab
0 16 * * 1-5 /usr/local/sbin/amcheck -m confname
45 0 * * 2-6 /usr/local/sbin/amdump confname
This is for SunOS 4.x, which has a per-user crontab; most other systems also
require a userid on each cron line. See your cron(8) for details. With these
cron lines, Amanda will check that the correct tape is in the drive every
weekday afternoon at 4pm (if it isn't, all the operators will get mail). At
12:45am that night the dumps will be run.
* Put the Amanda services into your /etc/services file. Add entries like:
Example 2.2. /etc/services
amanda 10080/udp
amandaidx 10082/tcp
amidxtape 10083/tcp
You may choose a different port number if you like, but it must match that in
the services file on the client hosts too.
If you are running NIS (aka YP), you have to enter the Amanda service into
your NIS services database. Consult your NIS documentation for details.
You may use the `patch-system' script, from client-src, in order to modify
this file. Run it with a `-h' argument for usage.
* If you are going to use the indexing capabilities of Amanda, follow one of
the following steps:
o If your server uses inetd, then add these lines to your inetd.conf on the
tape server host:
Example 2.3. /etc/inetd.conf
amandaidx stream tcp nowait $USER $AMINDEXD_PATH amindexd
amidxtape stream tcp nowait $USER $AMIDXTAPED_PATH amidxtaped
where $AMINDEXD_PATH and $AMIDXTAPED_PATH are the complete paths to where
the amindexd and amidxtaped executables (usually libexec_dir/amindexd and
libexec_dir/amidxtaped), and USER is the Amanda user.
You may use the `patch-system' script, from client-src, in order to modify
this file. Run it with a `-h' argument for usage.
o If your tape server uses xinetd instead of inetd, then you have to add the
following two files to your xinetd-configuration (usually /etc/xinetd.d)
and edit the paths:
Example 2.4. /etc/xinetd.d/amandaidx
service amandaidx
{
socket_type = stream
protocol = tcp
wait = no
user = $USER
group = $GROUP
groups = yes
server = $AMINDEXD_PATH/amindexd }
Example 2.5. /etc/xinetd.d/amidxtape
service amidxtape
{
socket_type = stream
protocol = tcp
wait = no
user = $USER
group = $GROUP
groups = yes
server = $AMIDXTAPED_PATH/amidxtaped }
o If your tape server uses Dan Bernstein's daemontools http://cr.yp.to/
daemontools.html) instead of (x)inetd, you have to create amandaidx and
amidxtape services by hand.
# Create service directories:
mkdir -p $prefix/etc/amanda/supervise/amandaidx
mkdir -p $prefix/etc/amanda/supervise/amidxtape
# Create service startup files and make them executable:
Example 2.6. /etc/amanda/supervise/amandaidx/run
#!/bin/sh
exec /usr/local/bin/setuidgid amanda \
/usr/local/bin/tcpserver -DHRl0 0 10082 \
/usr/local/libexec/amindexd >/dev/null 2>/dev/null
Example 2.7. /etc/amanda/supervise/amidxtape/run
#!/bin/sh
exec /usr/local/bin/setuidgid amanda \
/usr/local/bin/tcpserver -DHRl0 0 10083 \
/usr/local/libexec/amidxtaped >/dev/null 2>/dev/null
# Link service directories into your svscan directory:
cd /service
ln -s $prefix/etc/amanda/supervise/amandaidx .
ln -s $prefix/etc/amanda/supervise/amidxtape .
* If the tape server host is itself going to be backed up (as is usually the
case), you must also follow the client-side install instructions below on the
server host, INCLUDING setting up the file .amandahosts so that the server
host lets itself in. This is a frequently encountered problem for new sites.
Set up the Backup Client Hosts
* When using BSD-style security (enabled by default), set up your
~dumpuser/.amandahosts (or ~dumpuser/.rhosts and/or /etc/hosts.equiv, if you
have configured --without-amandahosts) so that the dumpuser is allowed in
from the server host. Only canonical host names will be accepted in
.amandahosts, and usernames must be present in every line, because this is
safer.
* Set up your raw disk devices so that the dumpuser can read them, and /etc/
dumpdates so that the dumpuser can write to it. Normally this is done by
making the disk devices readable by (and dumpdates read/writable by) group
`operator', and putting the dumpuser into that group.
* Put the Amanda service into your /etc/services file. Add entry like:
Example 2.8. /etc/services
amanda 10080/udp
amandaidx 10082/tcp
amidxtape 10083/tcp
You may choose a different port number if you like, but it must match that in
the services file on the tape server host too.
If you are running NIS (aka YP), you have to enter the Amanda service into
your NIS services database. Consult your NIS documentation for details.
You may use the `patch-system' script, from client-src, in order to modify
this file. Run it with a `-h' argument for usage.
* Follow one of the following steps to set up the Amanda client service:
o If your Amanda client uses inetd, put the Amanda client service into
inetd's config file. This file is usually found in /etc/inetd.conf, but on
older systems it is /etc/servers. The format is different on different
OSes, so you must consult the inetd man page for your site. Here is an
example from our site, again from SunOS 4.x:
Example 2.9. /etc/inetd.conf
amanda dgram udp wait USER AMANDAD_PATH amandad
You may use the `patch-system' script, from client-src, in order to modify
this file. Run it with a `-h' argument for usage.
o If your Amanda client uses xinetd, you have to add the following file to
your xinetd-configuration (usually /etc/xinetd.d) and edit it to reflect
your settings and paths:
Example 2.10. /etc/xinetd.d/amanda
service amanda
{
socket_type = dgram
protocol = udp
wait = yes
user = $USER
group = $GROUP
groups = yes
server = $AMANDAD_PATH/amandad
}
o If your Amanda client uses Dan Bernstein's daemontools (http://cr.yp.to/
daemontools.html) instead of (x)inetd, you have to create the amanda
service by hand. You will need also an UDP super-server (netcat in this
example).
# Create service directory:
mkdir -p /etc/amanda/supervise/amanda
# Create service startup file and make it executable:
Example 2.11. /etc/amanda/supervise/amanda/run
#!/bin/sh
exec /usr/local/bin/setuidgid amanda \
/usr/bin/netcat -l -u -p 10080 -q 0 \
-e /usr/local/libexec/amandad >/dev/null 2>/dev/null
Note
The netcat-binary used in this run-file might also be called /usr/bin/nc
on your system, depending on the OS-distribution you use. Refer to http:/
/netcat.sourceforge.net for details of netcat.
# Link service directory into your svscan directory:
cd /service
ln -s /etc/amanda/supervise/amanda .
* If you are using (x)inetd, kick inetd/xinetd to make it read its config file.
On most systems you can just execute kill -HUP inetd (or xinetd). On older
systems you may have to kill it completely and restart it. Note that killing/
restarting (x)inetd is not safe to do unless you are sure that no (x)inetd
services (like rlogin) are currently in use, otherwise (x)inetd will not be
able to bind that port and that service will be unavailable.
If you are using the daemontools, svscan should detect and start your new
services automatically.
* If you intend to back up xfs filesystems on hosts running IRIX, you must
create the directory /var/xfsdump/inventory, otherwise xfsdump will not work.
THAT'S IT! YOU ARE READY TO RUN, UNLESS WE FORGOT SOMETHING.
Please send mail to mailto://amanda-users@amanda.org if you have any comments
or questions. We're not afraid of negative reviews, so let us have it!
Before writing questions, you may prefer to take a look at the Amanda_FAQ and
at the Amanda home page, at http://www.amanda.org. Browsable archives of Amanda
mailing-lists are available at http://marc.theaimsgroup.com/?l=amanda-users and
http://marc.theaimsgroup.com/?l=amanda-hackers.
Note
Refer to http://www.amanda.org/docs/install.html for the current version of
this document.
-------------------------------------------------------------------------------
Prev Up Next
Chapter 1. Amanda 2.5.0 - System-Specific Home Chapter 3. Excluding
Installation Notes
|