Amanda-Users

Re: dump larger than tape

2003-03-07 11:47:44
Subject: Re: dump larger than tape
From: Konrad Dienst <lists AT gangrel DOT de>
To: amanda-users AT amanda DOT org
Date: Fri, 07 Mar 2003 14:43:22 +0100
Hi!
Amanda server is a FreeBSD 4.7, the problem child is a RedHat (Kernel 2.4.18-3). Backup on FreeBSD and Solaris clients is not a problem. amcheck does not find any problems with the RedHat client, either but amdump doesn't like him.

Attached are my xinetd.from the client as well as amanda.conf and disklist from the server (corellia is the RedHat machine).

I've set the disk devices, as well as the raw disk devivces to owner group amanda, also the /etc/dumpdates. services also has the appropriate enries.

Thanks in advance

Konni
#
# Simple configuration file for xinetd
#
# Some defaults, and include /etc/xinetd.d/

defaults
{
        instances               = 60
        log_type                = SYSLOG authpriv
        log_on_success          = HOST PID
        log_on_failure          = HOST
        cps                     = 25 30
}

service amanda
{
        flags                   = REUSE NAMEINARGS
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = amanda
        server                  = /usr/local/libexec/amandad
        server_args             = amandad
}

includedir /etc/xinetd.d
###  !!! WARNING !!!  !!! WARNING !!!  !!! WARNING !!!  !!! WARNING !!!  ###
###                                                                      ###
###  This file is not meant to be installed "as is", and in fact, it     ###
###  WILL NOT WORK!  You must go through it and make changes appropriate ###
###  to your own situation.  See the documentation in this file, in the  ###
###  "man amanda" man page, in the "docs" directory and at the Amanda    ###
###  web page (www.amanda.org).                                          ###
###                                                                      ###
###  !!! WARNING !!!  !!! WARNING !!!  !!! WARNING !!!  !!! WARNING !!!  ###

#
# amanda.conf - sample Amanda configuration file.  This started off life as
#               the actual config file in use at CS.UMD.EDU.
#
# If your configuration is called, say, "csd", then this file normally goes
# in /usr/local/etc/amanda/csd/amanda.conf.
#

org "test"              # your organization name for reports
mailto "amanda"         # space separated list of operators at your site
dumpuser "amanda"       # the user to run dumps under

inparallel 1            # maximum dumpers that will run in parallel (max 63)
                        # this maximum can be increased at compile-time,
                        # modifying MAX_DUMPERS in server-src/driverio.h
dumporder "sssS"        # specify the priority order of each dumper
                        #   s -> smallest size
                        #   S -> biggest size
                        #   t -> smallest time
                        #   T -> biggest time
                        #   b -> smallest bandwitdh
                        #   B -> biggest bandwitdh
                        # try "BTBTBTBTBTBT" if you are not holding
                        # disk constrained
netusage  10000 Kbps    # maximum net bandwidth for Amanda, in KB per sec

dumpcycle 19 days       # the number of days in the normal dump cycle
runspercycle 19         # the number of amdump runs in dumpcycle days
                        # (4 weeks * 5 amdump runs per week -- just weekdays)
tapecycle 19 tapes      # the number of tapes in rotation
                        # 4 weeks (dumpcycle) times 5 tapes per week (just
                        # the weekdays) plus a few to handle errors that
                        # need amflush and so we do not overwrite the full
                        # backups performed at the beginning of the previous
                        # cycle
### ### ###
# WARNING: don't use `inf' for tapecycle, it's broken!
### ### ###

bumpsize 20 Mb          # minimum savings (threshold) to bump level 1 -> 2
bumpdays 1              # minimum days at each level
bumpmult 4              # threshold = bumpsize * bumpmult^(level-1)

etimeout 300            # number of seconds per filesystem for estimates.
#etimeout -600          # total number of seconds for estimates.
# a positive number will be multiplied by the number of filesystems on
# each host; a negative number will be taken as an absolute total time-out.
# The default is 5 minutes per filesystem.

dtimeout 1800           # number of idle seconds before a dump is aborted.

ctimeout 30             # maximum number of seconds that amcheck waits
                        # for each client host
 
tapebufs 20
# A positive integer telling taper how many 32k buffers to allocate.
# WARNING! If this is set too high, taper will not be able to allocate
# the memory and will die.  The default is 20 (640k).


# Specify tape device and/or tape changer.  If you don't have a tape
# changer, and you don't want to use more than one tape per run of
# amdump, just comment out the definition of tpchanger.

# Some tape changers require tapedev to be defined; others will use
# their own tape device selection mechanism.  Some use a separate tape
# changer device (changerdev), others will simply ignore this
# parameter.  Some rely on a configuration file (changerfile) to
# obtain more information about tape devices, number of slots, etc;
# others just need to store some data in files, whose names will start
# with changerfile.  For more information about individual tape
# changers, read docs/TAPE.CHANGERS.

# At most one changerfile entry must be defined; select the most
# appropriate one for your configuration.  If you select man-changer,
# keep the first one; if you decide not to use a tape changer, you may
# comment them all out.

runtapes 1              # number of tapes to be used in a single run of amdump
tpchanger "/usr/local/libexec/amanda/chg-zd-mtx"        # the tape-changer glue 
script
tapedev "/dev/nsa0"     # the no-rewind tape device to be used
#rawtapedev "/dev/nrsa0"        # the raw device to be used (ftape only)
#changerfile "/usr/adm/amanda/DailySet1/changer"
#changerfile "/usr/adm/amanda/DailySet1/changer-status"
changerfile "/usr/local/etc/amanda/test/CHANGER"
#changerfile "/usr/local/etc/amanda/test/chg-multi.conf"
changerdev "/dev/pass0"

tapetype Ultrium-LTO            # what kind of tape it is (see tapetypes below)
labelstr "^WD2DB[0-9][0-9]*$"   # label constraint regex: all tapes must match

# Specify holding disks.  These are used as a temporary staging area for
# dumps before they are written to tape and are recommended for most sites.
# The advantages include: tape drive is more likely to operate in streaming
# mode (which reduces tape and drive wear, reduces total dump time); multiple
# dumps can be done in parallel (which can dramatically reduce total dump time.
# The main disadvantage is that dumps on the holding disk need to be flushed
# (with amflush) to tape after an operating system crash or a tape failure.
# If no holding disks are specified then all dumps will be written directly
# to tape.  If a dump is too big to fit on the holding disk than it will be
# written directly to tape.  If more than one holding disk is specified then
# they will all be used based on activity and available space.

#holdingdisk hd1 {
#    comment "main holding disk"
#    directory "/export/hold_01"        # where the holding disk is
#    use 4Gb            # how much space can we use on it
                        # a non-positive value means:
                        #        use all space but that value
#    chunksize 1Gb      # size of chunk if you want big dump to be
                        # dumped on multiple files on holding disks
                        #  N Kb/Mb/Gb split images in chunks of size N
                        #             The maximum value should be
                        #             (MAX_FILE_SIZE - 1Mb)
                        #  0          same as INT_MAX bytes
#    }
#holdingdisk hd2 {
#    directory "/export/hold_02"
#    use 2000 Mb
#    }
#holdingdisk hd3 {
#    directory "/mnt/disk4"
#    use 1000 Mb
#    }


# If amanda cannot find a tape on which to store backups, it will run
# as many backups as it can to the holding disks.  In order to save
# space for unattended backups, by default, amanda will only perform
# incremental backups in this case, i.e., it will reserve 100% of the
# holding disk space for the so-called degraded mode backups.
# However, if you specify a different value for the `reserve'
# parameter, amanda will not degrade backups if they will fit in the
# non-reserved portion of the holding disk.

# reserve 30 # percent
# This means save at least 30% of the holding disk space for degraded
# mode backups.  

autoflush no #
# if autoflush is set to yes, then amdump will schedule all dump on
# holding disks to be flush to tape during the run.

# The format for a ColumnSpec is a ',' seperated list of triples.
# Each triple consists of
#   + the name of the column (as in ColumnNameStrings)
#   + prefix before the column
#   + the width of the column, if set to -1 it will be recalculated
#     to the maximum length of a line to print.
# Example:
#       "Disk=1:17,HostName=1:10,OutKB=1:7"
# or
#       "Disk=1:-1,HostName=1:10,OutKB=1:7"
#        
# You need only specify those colums that should be changed from
# the default. If nothing is specified in the configfile, the
# above compiled in values will be in effect, resulting in an
# output as it was all the time.
# The names of the colums are:
# HostName, Disk, Level, OrigKB, OutKB, Compress, DumpTime, DumpRate,
# TapeTime and TapeRate.
#                                                       ElB, 1999-02-24.
# columnspec "Disk=1:18,HostName=0:10,OutKB=1:7"


# Amanda needs a few Mb of diskspace for the log and debug files,
# as well as a database.  This stuff can grow large, so the conf directory
# isn't usually appropriate.  Some sites use /usr/local/var and some /usr/adm.
# Create an amanda directory under there.  You need a separate infofile and
# logdir for each configuration, so create subdirectories for each conf and
# put the files there.  Specify the locations below.

# Note that, although the keyword below is infofile, it is only so for
# historic reasons, since now it is supposed to be a directory (unless
# you have selected some database format other than the `text' default)
infofile "/usr/adm/amanda/test/curinfo" # database DIRECTORY
logdir   "/usr/adm/amanda/test"         # log directory
indexdir "/usr/adm/amanda/test/index"   # index directory
#tapelist "/usr/adm/amanda/test/tapelist"       # list of used tapes
# tapelist is stored, by default, in the directory that contains amanda.conf


# tapetypes

# Define the type of tape you use here, and use it in "tapetype"
# above.  Some typical types of tapes are included here.  The tapetype
# tells amanda how many MB will fit on the tape, how big the filemarks
# are, and how fast the tape device is.

# A filemark is the amount of wasted space every time a tape section
# ends.  If you run `make tapetype' in tape-src, you'll get a program
# that generates tapetype entries, but it is slow as hell, use it only
# if you really must and, if you do, make sure you post the data to
# the amanda mailing list, so that others can use what you found out
# by searching the archives.

# For completeness Amanda should calculate the inter-record gaps too,
# but it doesn't.  For EXABYTE and DAT tapes this is ok.  Anyone using
# 9 tracks for amanda and need IRG calculations?  Drop me a note if
# so.

# If you want amanda to print postscript paper tape labels
# add a line after the comment in the tapetype of the form
#    lbl-templ "/path/to/postscript/template/label.ps"

# if you want the label to go to a printer other than the default
# for your system, you can also add a line above for a different
# printer. (i usually add that line after the dumpuser specification)

# dumpuser "operator"     # the user to run dumps under
# printer "mypostscript"  # printer to print paper label on

# here is an example of my definition for an EXB-8500

# define tapetype EXB-8500 {
# ...
#     lbl-templ "/usr/local/amanda/config/lbl.exabyte.ps"
# }

define tapetype Ultrium-LTO {
    comment "DELL PowerVault 128T LTO 100GB"
    length 101376 mbytes
    filemark 0 kbytes
    speed 1350 kbytes 
}

define tapetype QIC-60 {
    comment "Archive Viper"
    length 60 mbytes
    filemark 100 kbytes         # don't know a better value
    speed 100 kbytes            # dito
}

define tapetype DEC-DLT2000 {
    comment "DEC Differential Digital Linear Tape 2000"
    length 15000 mbytes
    filemark 8 kbytes
    speed 1250 kbytes
}

# goluboff AT butch.Colorado DOT EDU
# in amanda-users (Thu Dec 26 01:55:38 MEZ 1996)
define tapetype DLT {
    comment "DLT tape drives"
    length 20000 mbytes         # 20 Gig tapes
    filemark 2000 kbytes        # I don't know what this means
    speed 1536 kbytes           # 1.5 Mb/s
}

define tapetype SURESTORE-1200E {
    comment "HP AutoLoader"
    length 3900 mbytes
    filemark 100 kbytes
    speed 500 kbytes
}

define tapetype EXB-8500 {
    comment "Exabyte EXB-8500 drive on decent machine"
    length 4200 mbytes
    filemark 48 kbytes
    speed 474 kbytes                    
}

define tapetype EXB-8200 {
    comment "Exabyte EXB-8200 drive on decent machine"
    length 2200 mbytes
    filemark 2130 kbytes
    speed 240 kbytes                    
}

define tapetype HP-DAT {
    comment "DAT tape drives"
    # data provided by Rob Browning <rlb AT cs.utexas DOT edu>
    length 1930 mbytes
    filemark 111 kbytes
    speed 468 kbytes
}

define tapetype DAT {
    comment "DAT tape drives"
    length 1000 mbytes          # these numbers are not accurate
    filemark 100 kbytes         # but you get the idea
    speed 100 kbytes
}

define tapetype MIMSY-MEGATAPE {
    comment "Megatape (Exabyte based) drive through Emulex on Vax 8600"
    length 2200 mbytes
    filemark 2130 kbytes
    speed 170 kbytes            # limited by the Emulex bus interface, ugh
}


# dumptypes
#
# These are referred to by the disklist file.  The dumptype specifies
# certain parameters for dumping including:
#   auth        - authentication scheme to use between server and client.
#                 Valid values are "bsd" and "krb4".  Default: [auth bsd]
#   comment     - just a comment string
#   comprate    - set default compression rate.  Should be followed by one or
#                 two numbers, optionally separated by a comma.  The 1st is
#                 the full compression rate; the 2nd is the incremental rate.
#                 If the second is omitted, it is assumed equal to the first.
#                 The numbers represent the amount of the original file the
#                 compressed file is expected to take up.
#                 Default: [comprate 0.50, 0.50]
#   compress    - specify compression of the backed up data.  Valid values are:
#                 "none"        - don't compress the dump output.
#                 "client best" - compress on the client using the best (and
#                                 probably slowest) algorithm.
#                 "client fast" - compress on the client using fast algorithm.
#                 "server best" - compress on the tape host using the best (and
#                                 probably slowest) algorithm.
#                 "server fast" - compress on the tape host using a fast
#                                 algorithm.  This may be useful when a fast
#                                 tape host is backing up slow clients.
#                 Default: [compress client fast]
#   dumpcycle   - set the number of days in the dump cycle, ie, set how often a
#                 full dump should be performed.  Default: from DUMPCYCLE above
#   exclude     - specify files and directories to be excluded from the dump.
#                 Useful with gnutar only; silently ignored by dump and samba.
#                 Valid values are:
#                 "pattern"       - a shell glob pattern defining which files
#                                   to exclude.
#                                   gnutar gets --exclude="pattern"
#                 list "filename" - a file (on the client!) containing patterns
#                                   re's (1 per line) defining which files to
#                                   exclude.
#                                   gnutar gets --exclude-from="filename"
#                 Note that the `full pathname' of a file within its
#                 filesystem starts with `./', because of the way amanda runs
#                 gnutar: `tar -C $mountpoint -cf - --lots-of-options .' (note
#                 the final dot!)  Thus, if you're backing up `/usr' with a
#                 diskfile entry like ``host /usr gnutar-root', but you don't
#                 want to backup /usr/tmp, your exclude list should contain
#                 the pattern `./tmp', as this is relative to the `/usr' above.
#                 Please refer to the man-page of gnutar for more information.
#                 If a relative pathname is specified as the exclude list,
#                 it is searched from within the directory that is
#                 going to be backed up.
#                 Default: include all files
#   holdingdisk - should the holding disk be used for this dump.  Useful for
#                 dumping the holding disk itself.  Default: [holdingdisk yes]
#   ignore      - do not back this filesystem up.  Useful for sharing a single
#                 disklist in several configurations.
#   index       - keep an index of the files backed up.  Default: [index no]
#   kencrypt    - encrypt the data stream between the client and server.
#                 Default: [kencrypt no]
#   maxdumps    - max number of concurrent dumps to run on the client.
#                 Default: [maxdumps 1]
#   priority    - priority level of the dump.  Valid levels are "low", "medium"
#                 or "high".  These are really only used when Amanda has no
#                 tape to write to because of some error.  In that "degraded
#                 mode", as many incrementals as will fit on the holding disk
#                 are done, higher priority first, to insure the important
#                 disks are at least dumped.  Default: [priority medium]
#   program     - specify the dump system to use.  Valid values are "DUMP" and
#                 "GNUTAR".  Default: [program "DUMP"].
#   record      - record the dump in /etc/dumpdates.  Default: [record yes]
#   skip-full   - skip the disk when a level 0 is due, to allow full backups
#                 outside Amanda, eg when the machine is in single-user mode.
#   skip-incr   - skip the disk when the level 0 is NOT due.  This is used in
#                 archive configurations, where only full dumps are done and
#                 the tapes saved.
#   starttime   - delay the start of the dump?  Default: no delay
#   strategy    - set the dump strategy.  Valid strategies are currently:
#                 "standard" - the standard one.
#                 "nofull"   - do level 1 dumps every time.  This can be used,
#                              for example, for small root filesystems that
#                              only change slightly relative to a site-wide
#                              prototype.  Amanda then backs up just the
#                              changes.
#                 "noinc"    - do level 0 dumps every time.
#                              Unfortunately, this is not currently
#                              implemented.  Use `dumpcycle 0'
#                              instead.
#                 "skip"     - skip all dumps.  Useful for sharing a single
#                              disklist in several configurations.
#                 "incronly" - do only incremental dumps. This is similar
#                              to strategy 'nofull', but will increase
#                              the dump level as usual. Full dumps will
#                              only be performed when an 'amadmin force' 
#                              has been issued 
#                 Default: [strategy standard]
#
# Note that you may specify previously defined dumptypes as a shorthand way
# of defining parameters.

define dumptype global {
    comment "Global definitions"
    # This is quite useful for setting global parameters, so you don't have
    # to type them everywhere.  All dumptype definitions in this sample file
    # do include these definitions, either directly or indirectly.
    # There's nothing special about the name `global'; if you create any
    # dumptype that does not contain the word `global' or the name of any
    # other dumptype that contains it, these definitions won't apply.
    # Note that these definitions may be overridden in other
    # dumptypes, if the redefinitions appear *after* the `global'
    # dumptype name.
    # You may want to use this for globally enabling or disabling
    # indexing, recording, etc.  Some examples:
    # index yes
    # record no
}

define dumptype always-full {
    global
    comment "Full dump of this filesystem always"
    compress none
    priority high
    dumpcycle 0
}

define dumptype root-tar {
    global
    program "GNUTAR"
    comment "root partitions dumped with tar"
    compress none
    index
    exclude list "/usr/local/lib/amanda/exclude.gtar"
    priority low
}

define dumptype user-tar {
    root-tar
    comment "user partitions dumped with tar"
    priority medium
}

define dumptype high-tar {
    root-tar
    comment "partitions dumped with tar"
    priority high
}

define dumptype comp-root-tar {
    root-tar
    comment "Root partitions with compression"
    compress client fast
}

define dumptype comp-user-tar {
    user-tar
    compress client fast
}

define dumptype holding-disk {
    global
    comment "The master-host holding disk itself"
    holdingdisk no # do not use the holding disk
    priority medium
}

define dumptype comp-user {
    global
    comment "Non-root partitions on reasonably fast machines"
    compress client fast
    priority medium
}

define dumptype nocomp-user {
    comp-user
    comment "Non-root partitions on slow machines"
    compress none
}

define dumptype comp-root {
    global
    comment "Root partitions with compression"
    compress client fast
    priority low
}

define dumptype nocomp-root {
    comp-root
    comment "Root partitions without compression"
    compress none
}

define dumptype comp-high {
    global
    comment "very important partitions on fast machines"
    compress client best
    priority high
}

define dumptype nocomp-high {
    global
    comp-high
    comment "very important partitions on slow machines"
    compress none
}

define dumptype nocomp-test {
    global
    comment "test dump without compression, no /etc/dumpdates recording"
    compress none
    record no
    priority medium
}

define dumptype comp-test {
    nocomp-test
    comment "test dump with compression, no /etc/dumpdates recording"
    compress client fast
}

# network interfaces
#
# These are referred to by the disklist file.  They define the attributes
# of the network interface that the remote machine is accessed through.
# Notes: - netusage above defines the attributes that are used when the
#          disklist entry doesn't specify otherwise.
#        - the values below are only samples.
#        - specifying an interface does not force the traffic to pass
#          through that interface.  Your OS routing tables do that.  This
#          is just a mechanism to stop Amanda trashing your network.
# Attributes are:
#       use             - bandwidth above which amanda won't start
#                         backups using this interface.  Note that if
#                         a single backup will take more than that,
#                         amanda won't try to make it run slower!

define interface local {
    comment "a local disk"
    use 1000 kbps
}

define interface le0 {
    comment "10 Mbps ethernet"
    use 400 kbps
}

# You may include other amanda configuration files, so you can share
# dumptypes, tapetypes and interface definitions among several
# configurations.

#includefile "/usr/local/amanda.conf.main"
#altair.wirecard.com /usr nocomp-high
#altair.wirecard.com / nocomp-high
#altair.wirecard.com /export nocomp-high
#altair.wirecard.com /var nocomp-high
#daro.wirecard.com / nocomp-high
#daro.wirecard.com /usr nocomp-high
#daro.wirecard.com /export nocomp-high
#daro.wirecard.com /var nocomp-high
#yavin.wirecard.com / nocomp-high
#yavin.wirecard.com /usr nocomp-high
#yavin.wirecard.com /export nocomp-high
#yavin.wirecard.com /var nocomp-high
#corellia.wirecard.com /usr nocomp-high
corellia.wirecard.com /export nocomp-high
#blade.wirecard.com /space nocomp-high
<Prev in Thread] Current Thread [Next in Thread>