2 Chapter 31. What once was new
3 Prev Part VI. Historical files Next
5 -------------------------------------------------------------------------------
7 Chapter 31. What once was new
17 XML-conversion, Updates
23 What's_new_in_Amanda_2.3
26 Indexing_backups_for_easier_restore
32 Multiple_backups_in_parallel_from_one_client_host
34 Multiple_tapes_in_one_run
36 Bottleneck_determination
43 What's_new_in_Amanda_2.2
46 Client_side_setup_has_changed
48 Version_suffixes_on_executables
52 Multiple_holding_disks
60 Mount_point_names_in_disklist
62 Initial_tape-changer_support_included
64 Generic_tape_changer_wrapper_script
68 Changer_support_added_to_command_amlabel
70 Tape_changer_support_improved
72 A_few_words_about_multi-tape_runs
76 Level-0_dumps_allowed_with_no_tape
80 What's new in Amanda 2.3
82 This document contains notes on new features in Amanda 2.3 that may not yet be
83 fully documented elsewhere.
85 Indexing backups for easier restore
87 Read more about this in the file named Indexing_with_Amanda.
91 Read more about this in the file named Backup_PC_hosts_using_Samba.
95 Amanda now supports dumps made via GnuTAR. To use this, set your dumptypes set
96 the program name to "GNUTAR":
104 Since Gnu TAR does not maintain a dumpdates file itself, nor give an estimate
105 of backup size, those need to be done within Amanda. Amanda maintains an /etc/
106 amandates file to track the backup dates analogously to how dump does it.
107 NOTE: if your /etc directory is not writable by your dumpuser, you'll have to
108 create the empty file initially by hand, and make it writable by your dumpuser
110 NOTE: Since tar traverses the directory hierarchy and reads files as a regular
111 user would, it must run as root. The two new Amanda programs calcsize and
112 runtar therefore must be installed setuid root. I've made them as simple as
113 possible to to avoid potential security holes.
115 Multiple backups in parallel from one client host
117 A new "maxdumps" parameter for the conf file gives the default value for the
118 amount of parallelism per client:
120 maxdumps 2 # default max num. dumps to do in parallel per client
123 If this default parameter is not specified, the default for the default :-0 is
124 1. Then, you can override the parameter per client through the dumptype, eg:
126 dumptype fast-client {
132 If the "maxdumps" parameter isn't given in the dumptypes, the default is used.
133 The idea is that maxdumps is set roughly proportional to the speed of the
134 client host. You probably wont get much benefit from setting it very high, but
135 all but the slowest hosts should be able to handle a maxdumps of at least 2.
136 Amanda doesn't really have any per-host parameters, just per-disk, so the per-
137 client-host maxdumps is taken from the last disk listed for that host.
138 Just to make things more complicated, I've added the ability to specify a
139 "spindle number" for each filesystem in the disklist file. For example:
141 wiggum / fast-comp-user 0
142 wiggum /usr fast-comp-user 0
143 wiggum /larry fast-comp-user 1
144 wiggum /curly fast-comp-user 1
145 wiggum /moe fast-comp-user 1
146 wiggum /itchy fast-comp-user 2
147 wiggum /scratchy fast-comp-user 3
150 The spindle number represents the disk number, eg every filesystem on sd0 can
151 get a spindle number of 0, everything on sd1 gets spindle 1, etc (but there's
152 no enforced requirement that there be a match with the underlying hardware
153 situation). Now, even with a high maxdumps, Amanda will refrain from scheduling
154 two disks on the same spindle at the same time, which would just slow them both
155 down by adding a lot of seeks.
156 The default spindle if you don't specify one is -1, which is defined to be a
157 spindle that doesn't interfere with itself. That is if you don't specify any
158 spindle numbers, any and all filesystems on the host can be scheduled
159 concurrently up to the maxdumps.
160 Just to be clear, there's no relation between spindle numbers and maxdumps:
161 number the spindles by the disks that you have, even if that's more than
163 Also, I'm not sure that putting spindle numbers everywhere is of much value:
164 their purpose is to prevent multiple big dumps from being run at the same time
165 on two partitions on the same disk, on the theory that the extra seeking
166 between the partitions would cause the dumps to run slower than they would if
167 they ran sequentially. But, given the client-side compression and network
168 output that must occur between blocks read from the disk, there may be enough
169 slack time at the disk to support the seeks and have a little parallelism left
170 over to do some good.
172 Multiple tapes in one run
174 I've rewritten the taper - it now supports one run spanning multiple tapes if
175 you have a tape-changer. The necessary changes in support of this have also
176 been made to driver and reporter - planner already had support. There are a
177 couple other places that should probably be updated, like amcheck. Dumps are
178 not split across tapes - when taper runs into the end of a tape, it loads the
179 next tape and tells driver to try sending the dump again.
180 If you are feeling brave, set "runtapes" to something other than 1.
181 The new taper also keeps the tape open the entire time it is writing the files
182 out - no more having amchecks or other accesses/rewinds in the middle of the
183 run screw you royally if they hit when the tape is closed for writing a
186 Bottleneck determination
188 I've made some experimental changes to driver to determine what the bottleneck
189 is at any time. Since Amanda tries to do many things at once, it's hard to
190 pinpoint a single bottleneck, but I "think" I've got it down well enough to say
191 something useful. For now it just outputs the current bottleneck as part of its
192 "driver: state" line in the debug output, but once I'm comfortable with its
193 conclusions, I'll output it to the log file and have the reporter generate a
194 nice table. The current choices are:
196 * not-idle - if there were dumps to do, they got done
197 * no-dumpers - there were dumps to do but no dumpers free
198 * no-hold - there were dumps to do and dumpers free but the dumps
199 * couldn't go to the holding disks (no-hold conf flag)
200 * no-diskspace - no diskspace on holding disks
201 * no-bandwidth - ran out of bandwidth
202 * client-constrained - couldn't start any dumps because the clients were busy
207 I've fixed the 2-gig limits by representing sizes in Kbytes instead of bytes
208 everywhere. This gives us a new 2 TB dump-file size limit (on 32bit machines),
209 which should last us a couple more years. This seemed preferable to me than
210 going to long-long or some other non-portable type for the size.
212 amadmin import/export
214 amadmin now has "import" and "export" commands, to convert the curinfo database
215 to/from text format, for: moving an Amanda server to a different arch,
216 compressing the database after deleting lots of hosts, or editing one or all
217 entries in batch form or via a script.
219 What's new in Amanda 2.2
224 Here's the old 2.2.x stuff from this file. I'm pretty sure most of this is in
225 the mainline documentation already.
226 This document contains notes on new features in Amanda 2.2 that may not yet be
227 fully documented elsewhere.
229 Client side setup has changed
231 The new /etc/services lines are:
233 amanda 10080/udp # bsd security Amanda daemon
234 kamanda 10081/udp # krb4 security Amanda daemon
236 The new /etc/inetd.conf lines are:
238 amanda dgram udp wait /usr/local/libexec/amanda/amandad amandad
239 kamanda dgram udp wait /usr/local/libexec/amanda/amandad amandad -krb4
241 (you don't need the vanilla Amanda lines if you are using kerberos for
242 everything, and vice-versa)
244 Version suffixes on executables
246 The new USE_VERSION_SUFFIXES define in options.h controls whether to install
247 the Amanda executables with the version number attached to the name, eg
248 "amdump-2.2.1". I recommend that you leave this defined, since this allows
249 multiple versions to co-exist - particularly important while Amanda 2.2 is
250 under development. You can always symlink the names without the version suffix
251 to the version you want to be your "production" version.
255 Read the comments in Using_Kerberos_with_Amanda for how to configure the
256 kerberos version. With KRB4_SECURITY defined, there are two new dumptype
260 krb4-auth # use krb4 auth for this host
261 # (you can mingle krb hosts & bsd .rhosts in one conf)
265 kencrypt # encrypt this filesystem over the net using the krb4
266 # session key. About 2x slower. Good for those root
267 # partitions containing your keyfiles. Don't want to
268 # give away the keys to an ethernet sniffer!
273 Multiple holding disks
275 You can have more than one holding disk for those really big installations.
276 Just add extra diskdir and disksize lines to your amanda.conf:
280 sgw: This is OLD syntax now ...
282 diskdir "/Amanda2/Amanda/work" # where the holding disk is
283 disksize 880 MB # how much space can we use on it
285 diskdir "/dumps/Amanda/work" # a second holding disk!
289 Amanda will load-balance between the two disks as long as there is space.
290 Amanda now also actually stats files to get a more accurate view of available
291 and used disk space while running.
295 amcheck will now cause self-checks to run on the client hosts, quickly
296 detecting which hosts are up and communicating, which have permissions
297 problems, etc. This is amazingly fast for what it does: here it checks more
298 than 130 hosts in less than a minute. My favorite gee-whiz new feature! The new
299 -s and -c options control whether server-only or client-only checks are done.
303 System V shared memory primitives are no longer required on the server side, if
304 your system has a version of mmap() that will allocate anonymous memory. BSD
305 4.4 systems (and OSF/1) have an explicitly anonymous mmap() type, but others
306 (like SunOS) support the trick of mmap'ing /dev/zero for the same effect.
307 Amanda should work with both varieties.
308 Defined HAVE_SYSVSHM or HAVE_MMAP (or both) in config.h. If you have both,
309 SYSVSHM is selected (simply because this code in Amanda is more mature, not
310 because the sysv stuff is better).
314 This was most requested feature #1; I've finally slipped it in. Define
315 HAVE_GZIP in options.h. See options.h-vanilla for details. There are two new
316 amanda.conf dumptype options "compress-fast" and "compress-best". The default
317 is "compress-fast". With gzip, compress-fast seems to always do better than the
318 old lzw compress (in particular it will never expand the file), and runs faster
319 too. Gzip's compress-best does very good compression, but is about twice as
320 slow as the old lzw compress, so you don't want to use it for filesystems that
321 take a long time to full-dump anyway.
323 Mount point names in disklist
325 Most requested feature #2: You can specify mount names in the disklist instead
326 of dev names. The rule is, if the filesystem name starts with a slash, it is a
327 mount point name, if it doesn't, it is a dev name, and has DEVDIR prepended.
330 obelix sd0a # dev-name: /dev/sd0a
331 obelix /obelix # mount name: /obelix, aka /dev/sd0g
335 Initial tape-changer support included
337 A new amanda.conf parameter, tpchanger, controls whether Amanda communicates
338 with a tape changer program to load tapes rather than just opening the tapedev
339 itself. The tpchanger parameter is a string which specifies the name of a
340 program that follows the API specified in Amanda_Tape_Changer_Support. Read
341 that for more information.
343 Generic tape changer wrapper script
345 An initial tape-changer glue script, chg-generic.sh, implements the Amanda
346 changer API using an array of tape devices to simulate a tape changer, with the
347 device names specified via a conf file. This script can be quickly customized
348 by inserting calls tape-changer-specific programs at appropriate places, making
349 support for new changers painless. If you know what command to execute to get
350 your changer to put a particular tape in the drive, you can get Amanda to
351 support your changer.
352 The generic script works as-is for sites that want to cascade between two or
353 more tape drives hooked directly up to the tape server host. It also should
354 work as-is with tape-changer drivers that use separate device names to specify
355 the slot to be loaded, wheres simply opening the slot device causes the tape
356 from that slot to be loaded.
357 chg-generic has its own small conf file. See example/chg-generic.conf for a
362 amtape is the user front-end to the Amanda tape changer support facilities. The
363 operators can use amtape to load tapes for restores, position the changer, see
364 what Amanda tapes are loaded in the tape rack, and see which tape would be
365 picked by taper for the next amdump run.
366 No man page yet, but running amtape with no arguments gives a detailed usage
367 statement. See Amanda_Tape_Changer_Support for more info.
371 sgw: The manpage exists now.
373 Changer support added to command amlabel
375 The amlabel command now takes an optional slot argument for labeling particular
376 tapes in the tape rack. See Amanda_Tape_Changer_Support for more info.
378 Tape changer support improved
380 The specs in Amanda_Tape_Changer_Support have been updated, and the code
381 changed to match. The major difference is that Amanda no longer assumes slots
382 in the tape rack are numbered from 0 to N-1. They can be numbered or labeled in
383 any manner that suits your tape-changer, Amanda doesn't care what the actual
384 slot names are. Also added "first" and "last" slot specifiers, and an -eject
386 The chg-generic.sh tape changer script now has new "firstslot", "lastslot", and
387 "needeject" parameters for the chg-generic.conf file. It now keeps track of
388 whether the current slot is loaded into the drive, so that it can issue an
389 explicit eject command for those tape changers that need one. See example/chg-
390 generic.conf for more info.
392 A few words about multi-tape runs
394 I'm still holding back on support for multiple tapes in one run. I'm not yet
395 completely happy with how Amanda should handle splitting dumps across tapes (eg
396 when end-of-tape is encountered in the middle of a long dump). For example,
397 this creates issues for amrestore, which currently doesn't know about
398 configurations or tape changers --- on purpose, so that you can do restores on
399 any machine with a tape drive, not just the server, and so that you can recover
400 with no online databases present.
401 However, because the current snapshot DOES support tape changers, and multiple
402 runs in one day, some of the benefit of multi-tape runs can be had by simply
403 running Amanda several times in a row. Eg, to fill three tapes per night, you
406 amdump <conf>; amdump <conf>; amdump <conf>
408 in you crontab. On the down side, this will generate three reports instead of
409 one, will do more incremental dumps than necessary, and will run slower. Not
410 very satisfying, but if you need to fill more than one tape per day NOW, it
415 The support for writing to multiple tapes in one run is almost finished now.
416 See Multitape_support_in_Amanda_2.2 for an outline of the design. The planner
417 support for this is included in this snapshot, but the taper part is not.
418 There is a new amanda.conf variable "runtapes" which specifies the number of
419 tapes to use on each amdump run. For now this should stay at 1, the default.
420 Also, the old "mincycle" and "maxcycle" amanda.conf variables are deprecated,
421 but still work for now. "maxcycle" was never used, and "mincycle" is now called
423 There are two visible differences in the new planner: First, planner now thinks
424 in real-time, rather than by the number of tapes as before. That is, a
425 filesystem is due for a full backup once every <dumpcycle> days, regardless of
426 how many times Amanda is run in that interval. As a consequence, you need to
427 make sure the dumpcycle variable marks real time instead of the number of days.
428 For example, previously "mincycle 10" worked for a two week cycle if you ran
429 amdump only on weekdays (for 10 runs in a cycle). Now a two week cycle must be
430 specified as "dumpcycle 14" or "dumpcycle 2 weeks". The "2 weeks" specifier
431 works with both the old and new versions of planner, because previously "weeks"
432 multiplied by 5, and now it multiplies by 7.
433 Second, planner now warns about impending overwrites of full backups. If a
434 filesystem's last full backup is on a tape that is due to be overwritten in the
435 next 5 runs, planner will give you a heads-up about it, so that you can restore
436 the filesystem somewhere, or switch that tape out of rotation (substitute a new
437 tape with the same label). This situation often occurs after a hardware failure
438 brings a machine or disk down for some days.
440 Level-0 dumps allowed with no tape
442 If there is no tape present (or the tape drive fails during dumping), Amanda
443 switches to degraded mode. In degraded mode, level-0 dumps are not allowed.
444 This can be a pain for unattended sites over the weekend (especially when there
445 is a large holding disk that can hold any necessary dumps). Amanda now supports
446 a new configuration file directive, "reserve". This tells Amanda to reserve
447 that percentage of total holding disk space for degraded mode dumps. Example:
448 your total holding disk space adds up to 8.4GB. If you specify a reserve of 50,
449 4.2GB (50%) of the holding disk space will be allowed to be used for regular
450 dumps, but if that limit is hit, Amanda will switch to degraded dumps. For
451 backward compatibility, if no 'reserve' keyword is present, 100 will be assumed
452 (e.g. never do full dumps if degraded mode is in effect).
456 This percentage applies from run to run, so, as in the previous example, when
457 Amanda runs the next day, if there is 3.8GB left on the holding disk, 1.9GB
458 will be reserved for degraded mode dumps (e.g. the percentage keeps sliding).
462 Refer to http://www.amanda.org/docs/whatwasnew.html for the current version of
464 -------------------------------------------------------------------------------
467 Chapter 30. Upgrade Issues Home Chapter 32. Multitape support in Amanda 2.2