Guida al Backup Centralizzato con Amanda
Amanda è un tool di backup che permette di effettuare il backup di più server linux e windows da una sola macchina con la possibilità di ricevere rapporti via e-mail e poter usare come supporto anche un masterizzatore.
Primi Passi
Installiamo tutto ciò che ci servirà sul server (cioè la macchina con installata l'unita nastro)
Da shell:
sudo apt-get install -y amanda-client amanda-server smbfs smbclient inetd
Ora andiamo a creare i file che userà il programma:
sudo vi /etc/amanda/DailySet1/exclude.gtar
Questo era il file delle cartelle da escludere, potremmo scriverci:
tmp lost+found /var/spool/amanda/ *.mp3 /home/danoncopiare
ora:
sudo touch /etc/amanda/DailySet1/tapelist.amlabel sudo touch /etc/amanda/DailySet1/tapelist.yesterday sudo touch /etc/amanda/DailySet1/tapelist
Ora:
sudo vi /etc/amanda/DailySet1/disklist
Disklist è l'elenco delle cartelle da copiare, noi potremmo scriverci:
nomeserverhttp /var/apache comp-user-tar nomeserver /etc comp-user-tar nomeserversamba /home comp-user-tar nomeclient /home/utente/filedacopiare
Ora:
sudo vi /etc/amanda/DailySet1/amanda.conf
Questo è il file di configurazione del set di backup che stiamo creando scriveteci:
#
# amanda.conf - sample Amanda configuration file.
#
# If your configuration is called, say, "DailySet1", then this file
# normally goes in /etc/amanda/DailySet1/amanda.conf.
#
# for explanation of the parameters refer to amanda(8) and
# /usr/doc/amanda/WHATS.NEW.gz
org "Società" # your organization name for reports
mailto "root@domain.com" # space separated list of operators at your site
dumpuser "backup" # the user to run dumps under
#
inparallel 4 # maximum dumpers that will run in parallel
netusage 15000 # maximum net bandwidth for Amanda, in KB per sec
maxdumps 2
# a filesystem is due for a full backup once every <dumpcycle> days
dumpcycle 5 days # the number of days in the normal dump cycle
tapecycle 5 tapes # the number of tapes in rotation
bumpsize 500 MB # minimum savings (threshold) to bump level 1 -> 2
bumpdays 1 # minimum days at each level
bumpmult 2 # threshold = bumpsize * (level-1)**bumpmult
#runtapes 9 # explained in WHATS.NEW
#tpchanger "no-changer" # the tape-changer glue script, see TAPE.CHANGERS
tapedev "/dev/nst0" # Linux @ tuck, important: norewinding
# tapedev "/dev/nrst8" # or use the (no-rewind!) tape device directly
tapetype SLR7 # what kind of tape it is (see tapetypes below)
labelstr "Backup[0-5]" # label constraint regex: all tapes must match
diskdir "/var/spool/amanda/tmp" # where the holding disk is
disksize 5000 MB # how much space can we use on it
#diskdir "/dumps/amanda/work" # additionaly holding disks can be specified
#diskdir "/mnt/disk4"
#disksize 1000 MB # they are used round-robin
# 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.
infofile "/var/lib/amanda/BckSet/curinfo" # database filename
logfile "/var/log/amanda/BckSet/log" # log filename
# where the index files live
indexdir "/var/lib/amanda/BckSet/index"
# 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.
#
# 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.
#define tapetype HP {
# comment "just produced by tapetype prog (hardware compression off)"
# length 19442 mbytes
# filemark 76 kbytes
# speed 1760 kps
#}
define tapetype SLR7 {
comment "Produced by tapetype program-TANDBERG SLR7"
length 18549 mbytes
filemark 1034 kbytes
speed 1470 kps
}
define tapetype SLR75 {
comment "Produced by tapetype program-TANDBERG SLR75"
length 39005 mbytes
filemark 256 kbytes
speed 1721 kps
}
# dumptypes
#
# These are referred to by the disklist file. The dumptype specifies
# certain "options" for dumping including:
# index - keep an index of the files backed up
# compress-fast - (default) compress on the client using fast algorithm
# compress-best - compress using the best (and slowww) algorithm
# no-compress - don't compress the dump output
# srvcompress - Compress dumps on the tape host instead of client
# machines. This may be useful when a fast tape host
# is backing up slow clients.
# record - (default) record the dump in /etc/dumpdates
# no-record - don't record the dump, for testing
# no-hold - don't go to the holding disk, good for dumping
# the holding disk partition itself.
# 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.
# no-full - Do a level 1 every night. 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.
#
# Also, the dumptype specifies the priority level, where "low", "medium" and
# "high" are the allowed levels. These are only really 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 dumped first.
define dumptype always-full {
comment "Full dump of this filesystem always"
options no-compress
priority high
dumpcycle 0
maxcycle 0
}
define dumptype comp-user-tar {
program "GNUTAR"
comment "partitions dumped with tar"
options compress-best, index, exclude-list "/etc/amanda/exclude.gtar"
priority medium
}
define dumptype hq-comp-user-tar {
program "GNUTAR"
comment "partitions dumped with tar"
options compress-best, index, exclude-list "/etc/amanda/BckSet/exclude.gtar"
priority medium
dumpcycle 0
maxcycle 0
}
define dumptype hq-incr-user-tar {
program "GNUTAR"
comment "partitions dumped with tar"
options compress-best, index, exclude-list "/etc/amanda/BckSet/exclude.gtar"
priority medium
dumpcycle 3
maxcycle 4
}
define dumptype comp-root-tar {
program "GNUTAR"
comment "Root partitions with compression"
options compress-fast, index, exclude-list "/etc/amanda/exclude.gtar"
priority low
}
define dumptype user-tar {
program "GNUTAR"
comment "partitions dumped with tar"
options no-compress, index, exclude-list "/etc/amanda/exclude.gtar"
priority medium
}
define dumptype high-tar {
program "GNUTAR"
comment "partitions dumped with tar"
options no-compress, index, exclude-list "/etc/amanda/exclude.gtar"
priority high
}
define dumptype root-tar {
program "GNUTAR"
comment "Root partitions dumped with tar"
options no-compress, index, exclude-list "/etc/amanda/exclude.gtar"
priority low
}
define dumptype comp-user {
comment "Non-root partitions on reasonably fast machines"
options compress-fast
priority medium
}
define dumptype nocomp-user {
comment "Non-root partitions on slow machines"
options no-compress
priority medium
}
define dumptype holding-disk {
comment "The master-host holding disk itself"
options no-hold
priority medium
}
define dumptype comp-root {
comment "Root partitions with compression"
options compress-fast
priority low
}
define dumptype nocomp-root {
comment "Root partitions without compression"
options no-compress
priority low
}
define dumptype comp-high {
comment "very important partitions on fast machines"
options compress-best
priority high
}
define dumptype nocomp-high {
comment "very important partitions on slow machines"
options no-compress
priority high
}
define dumptype nocomp-test {
comment "test dump without compression, no /etc/dumpdates recording"
options no-compress, no-record
priority medium
}
define dumptype comp-test {
comment "test dump with compression, no /etc/dumpdates recording"
options compress-fast, no-record
priority medium
}Bne abbiamo quasi finito la preconfigurazione, dobbiamo ora aggiungere in /etc/crontab le seguenti righe:
0 16 * * 1-5 /usr/sbin/amcheck -m DailySet1 45 0 * * 2-6 /usr/sbin/amdump DailySet1
Ora Amanda è installato nel sistema, facciamolo funzionare:
