It has a big disk (500 Gb) connected through USB (previous attemps at using the same disk as a NAS (with something like this) were not so much succesfull), which is formatted as a big VFAT partition.

So Amanda must be configured to use virtual tapes to save on the disk, but with specific tuning so that :

  • it doesn't need to use symlinks on the filesystem (since it's VFAT), so using the chg-multi changer
  • it won't try and use backup files of sizes over the VFAT limit of 4Gb (so using tapes chunks, and multi-tape backups).

I was using BackupPc for quite some time, but it takes resources (CPU mainly) out of one of my desktop PCs and don't want it to eat my CPU on that one. And moving it to the small mini-PC is not valid I think... moreover, it wouldn't work with a VFAT partition as a backend, I think. I hope amanda will be cool CPU-wise in the new setup.

Here are bits of my configuration :

tapecycle 25 tapes # 25 tapes rotation... not so sure of that one...

runtapes 10 # won't be able to save more than 50 Gb in one run

holdingdisk hd1 {
     directory "/mnt/nas/AMANDA/holdingdisk"
     use 50 Gb # won't be able to save more than 50 Gb in one run
     chunksize 4095 Mb # preserve VFAT filesize limit

tpchanger "chg-multi"           # the tape-changer glue script                                                                                               
tapedev "/dev/null"     # the no-rewind tape device to be used                                                                                               
rawtapedev "/dev/null"  # the raw device to be used (ftape only)                                                                                             
changerfile "/etc/amanda/DailySet1/chg-multi.conf"
changerdev "/dev/null"

tapetype HARD-DISK

define tapetype HARD-DISK {
    comment "Dump onto hard disk"
    length 5Gb      # arbitrary size of my virtual tapes (directories)                                                                                       

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                                                                                                                                              
    # split_diskbuffer "/raid/amanda"                                                                                                                        
    split_diskbuffer "/mnt/nas/AMANDA/diskbuffer"
    fallback_splitsize 64m
    tape_splitsize 4095 Mb # preserve VFAT limit for tapes chunks (files)

The rest of the chg-multi is pretty standard, wrt the HOWTO.

Note that until recently, the chg-multi wouldn't work in Debian lenny... but since bug  #486384 I had spotted was fixed, it's usable again.