Chapter 32. Multitape support in Amanda 2.2 Prev Part VI. Historical files Next ------------------------------------------------------------------------------- Chapter 32. Multitape support in Amanda 2.2 James da Silva Original text AMANDA Core Team Stefan G. Weichinger XML-conversion;Updates AMANDA Core Team Draft 1 - jds 3/29/94 Table of Contents Introduction New_Planner_Algorithm Time Full_Backups Schedule_Balancing Overwrite_Detection Taper_Algorithm Choosing_a_tape End_of_tape_handling Tape_Format_Changes Tapelist_File_Changes Introduction The goal of this enhancement is to make Amanda independent of the number of tapes used per run or even per dump cycle. Specifically, I would like Amanda to handle the following: * output of amdump run goes to more than one tape * a single dump file can straddle two tapes * more than one amdump run can be done in a single day * planner should not care how many runs per cycle occur And later: * multiple runs of amdump can go onto one tape (eg an append mode) * any dump files from a previous run that are on the holding disk are written to tape in this run (eg eliminate amflush) * taper write to multiple tape drives simultaneously New Planner Algorithm Time Previously, planner marked time by the number of amdump runs, which it equated with number of tapes, and number of days. In Amanda 2.2, Amanda keeps track of the real passage of time, and doesn't generally care about the number of runs or tapes between any two events. While Amanda 2.2 doesn't care about spacing between runs, dump cycles are still in terms of days, to make things easy to understand for the user. So, time differences are rounded to the nearest 24 hours: days_diff(A,B) = ( - + 86400/2) / 86400 Where the times A and B are in seconds since the Unix epoch, and 86400 is the number of seconds per day. This rounds a 2.49 day difference down to 2 days, and a 2.5 day difference up to 3 days. No, Olafur, Unix time does not handle leap seconds. Give me a break. :-) Full Backups The first thing planner does is calculate when each filesystem is due for a full backup. This is trivial for normal backups: full_is_due = days_diff(