This is an attempt to document Amanda's internals. Please feel free to make comments and suggest changes. Text for new sections gratefully accepted! George. (George.Scott@cc.monash.edu.au) =============== == PROTOCOLS == =============== Client I Server +-planner-+ I | | I | | I | | ______ +-amandad-+ I | | (______) | | I | | |amdump| | | I | | all ::::>| | | | I | | stderr | | | | I | | | | | | I | so | +------+ | | I +---------+ | | I :: ______ | | I \/ (______) | | I +-driver--+ | log | +---------+ I | si | all ::::>| | I | | log | | I | | | | +-sendback+ I | | +------+ | | I | | | | I ::::::::| |<:::::: | | I :: | | :: | | I :: ::::>| |:::: :: | | I :: :: | | :: :: | | I :: :: +---------+ :: :: | | I :: :: :: :: | | I :: :: :: :: | | I :: :: ______ :: :: +---------+ I :: :: (______) :: :: I :: :: | /tmp | :: :: I \/ :: :>| | \/ :: +-dump----+ I +-dumper--+ :: +------+ +-taper/r-+ +-taper/w-+ | | I | si so | :: | si so | | | | | I | | :: ______ | | | | | | I |mesgfd | :: (______) | | | | | se|::::>|::::::::>|:: | hold | | | | | | | I | errf| | disk | | p2c|:::>|p2c | | | I | | | | | c2p|<:::|c2p | ____ | | I |datafd | ::>| |::: |fd | | | / \ | so|::::>|::::::::>|:: +------+ :>|::::::::>SHDMEM::::::::>|::>|tape| | | I | outfd| :: :: | | | tapefd| \ _ / +---------+ I +---------+ :::::::::::: +---------+ +---------+ I server and amandad on client ============================ XXX - still to be done planner and driver ================== Planner interrogates all clients and generates a plan of which disks to backup and what dump level to do them at. The plan is plain text with one line per disk to be dumped. It is piped from planners stdout to drivers stdin. Plan lines come in two flavours: For total dumps: