Skillnad mellan versioner av "Rootmanual:lysrdiff"

Från Lysators datorhandbok, den ultimata referensen.
Hoppa till navigering Hoppa till sök
(Dagens backup gick bra. Och nu tar vi backup av mer...)
(Komprimerad status.)
Rad 55: Rad 55:
 
== Status ==
 
== Status ==
   
För tillfället kör ceder backupscriptet manuellt med ojämna mellanrum. Allt nedan har det tagits backup på vid dessa tillfällen:
+
För tillfället kör ceder backupscriptet manuellt med ojämna mellanrum:
   
* 2006-10-13 (512 MB ledigt efter backupen)
+
* 2006-10-13 (bara ett fåtal jobb)
* 2006-10-14 (480 MB ledigt efter backupen)
+
* 2006-10-14 (bara ett fåtal jobb)
* 2006-10-15 (473 MB ledigt efter backupen)
+
* 2006-10-15 (bara ett fåtal jobb)
* 2006-10-16 (487 MB ledigt efter backupen)
+
* 2006-10-16 (bara ett fåtal jobb)
* 2006-10-17 (470 MB ledigt efter backupen)
+
* 2006-10-17 (bara ett fåtal jobb)
* 2006-10-18 (till USB-disken, där det finns gott om plats)
+
* 2006-10-18 (bara ett fåtal jobb)
  +
* 2006-10-19 (alla lsvn- och lyscvs-projekt. Alla användare som börjar på "a" eller "b". Alla webanvändare som använder "common" och börjar på "c")
   
  +
Backup tas av mer och mer av Lysators system. Det är ännu långt kvar innan det tas backup av allt.
I skrivande stund tas en backup av alla CVS- och LSVN-project, och 175 av användarkontona.
 
 
Partitionen som de första backuperna lagrades på var 8.3 GB. Sedan 2006-10-18 används en USB-disk som delats upp i två partitioner om vardera ca 230 GB.
 
 
=== lsvn ===
 
 
HelloMIDlet TANA70-2005 TANA77-06 ansaphonehandler baffenetlogon
 
bjexop ciddb duvan erblo forsberg
 
 
=== lyscvs ===
 
 
Audio_Jury Backstage BaraKOM ChiliMoon FtpClient KarlBertil Kom.pm
 
KomSharp Lab2 Labhack
 
 
=== lyswww (common) ===
 
 
calle callejn callelj calorn camilla cardeci carina carinaj carlsson
 
caro carol718 casca case cato ce cecjo ceder cedven celeborn celex
 
cgc chara charly cherry chief chrca chris christer christian cire
 
clacke clas claw cnarren conan cos creideiki crono crus crush cyborg
 
cygnus czygo d93davni dado dahlberg dahlen dalle dan daniel
 
 
=== home ===
 
 
EmGe a-larson abe acke adam ae aem ag agehall agge ah ahl ahla
 
ahlblom ahlgren ahlis aic ajb ajo ak akagaado akilles alazorn albert
 
albin alessio alexei alla almroth altair alv amandus amazya aminoff
 
amoeba ampler ampleyfly amren amylaar andbe anders andersb andersh
 
andersjo andersl andersmk andersn andersv andfo andgi andjo andle
 
andli andlin andno andoff andpe andreas andro andsen andwe anell aner
 
anjo anna annaf annawa anne annie annika annjo anrell ante anthony
 
   
 
== Milstenar ==
 
== Milstenar ==

Versionen från 19 oktober 2006 kl. 06.03

Bakgrund

Lysator har haft många backupsystem genom åren. En gemensam faktor är att de varit bandbaserade. En annan gemensam faktor är att banden och/eller bandarna strulat.

De två senaste backupsystemen har använt komplexa programvaror: Legato Networker och Bacula. Legato Networker kostar pengar. Lysator använde en begagnad licens till en gammal version av programvaran. Den fungerade inte så bra när man skulle läsa tillbaka ett stort filträd. Det tog timmar bara att bygga upp indexet. Det kunde dröja en dag innan man upptäckte att bandet var trasigt, så att man inte kunde läsa tillbaka sin backup.

Bacula är fri programvara. Det kostar utvecklingstid, ty det har fortfarande många barnsjukdomar. Det är precis som Networker väldigt långsamt när det ska läsa tillbaka filer.

Disk blir bara billigare och billigare. Det är numera ekonomiskt försvarbart att ta backup till disk. Tack vare billiga USB-diskar kan man till och med använda disk för off-site-backup.

I oktober 2006 hade Lysator varit utan fungerande backup ett tag. (Några ad-hoc-rsync-speglingar gjordes, så situationen var inte helt akut, men ändå inte acceptabel.) Ett förslag om att Lysator skulle investera drygt 35000 kronor på ett Linux-RAID-system för att köra TSM (en proprietär backuplösning) lades fram. Några stofilrötter tyckte det var för mycket pengar att lägga på ett system, som de trodde hade stora möjligheter att misslyckas. Och ceder trodde att man skulle kunna få till ett minst lika bra backupsystem för en bråkdel av kostnaden.

Detta är bakgrunden till backupsystemet LYSrdiff.

Filosofi

Disk är billigt.

rdiff-backup är en bra byggsten när man bygger ett backupsystem.

Lysator har många saker som det är värt att ta backup av. Ett backupsystem bör göras så att de olika backuperna är oberoende av varandra. Om t ex en användares namngivning av sina filer triggar en bugg i rdiff-backup ska det inte påverka alla andra användare -- isolera skadan!

RAID är komplext. Backupsystemet ska vara stabilt. Man får stabilitet genom att använda beprövad teknik, och hålla sig undan från sluten hårdvara eller mjukvaru-RAID som bara används av 0.3% av Linuxanvändarna. Det är bättre att använda ext3 som alla andra, och spegla diskar "manuellt" med rsync.

Ett backupsystem måste vara utbyggbart: man måste kunna stoppa in mer disk, man måste kunna dela upp backupjobbet på flera backupservrar om det visar sig att en backupserver inte räcker till för belastningen.

Implementation

Källkoden lagras i Subversion. Man kan checka ut den anonymt:

svn co ht"t"p://lsvn.lysator.liu.se/svnroot/lysrdiff/trunk/lysrdiff

För tillfället finns lysrdiff installerat under /nobackup/backup.lysator. I framtiden kommer det nog att ligga under /opt/LYSrdiff i stället.

En central del är filen var/tasks. Varje rad beskriver ett backupjobb. Varje rad består av fyra delar:

  • category - kategori, t ex "home" eller "lyswww"
  • subcategory - de flesta kategorier har någon typ av underkategorier. För "home" är det t ex användarnamn.
  • server - den dator man ska logga in på för att komma åt disken.
  • serverpath - den katalog som det ska tas backup på.

Filen var/tasks skapas av fetch-backup-work.

backup-one-task tar backup av ett backupjobb. backup-all loopar över alla backupjobb.

category

För tillfället finns följande kategorier:

  • home - användarkataloger, tagna från NIS-mappen auto_home
  • lyswww - användares websidor, tagna från /lysator/lyswww/users/common
  • lyscvs - CVS-projekt från stalingrad
  • lsvn - Subversion-projekt från stalingrad

Status

För tillfället kör ceder backupscriptet manuellt med ojämna mellanrum:

  • 2006-10-13 (bara ett fåtal jobb)
  • 2006-10-14 (bara ett fåtal jobb)
  • 2006-10-15 (bara ett fåtal jobb)
  • 2006-10-16 (bara ett fåtal jobb)
  • 2006-10-17 (bara ett fåtal jobb)
  • 2006-10-18 (bara ett fåtal jobb)
  • 2006-10-19 (alla lsvn- och lyscvs-projekt. Alla användare som börjar på "a" eller "b". Alla webanvändare som använder "common" och börjar på "c")

Backup tas av mer och mer av Lysators system. Det är ännu långt kvar innan det tas backup av allt.

Milstenar

Redan passerade milstenar.

  • Skapa proof-of-concept-scripts på sedesopim, och kör dem på ledig disk som finns där. Passerad 2006-10-12.
  • Få styrelsen att finansiera inköp av en USB-disk. Passerad 2006-10-14.
  • Checka in lysrdiff i subversion. Passerad 2006-10-14.
  • 2006-10-15: Dokumentera lysrdiff på denna sida. Passerad 2006-10-15.
  • 2006-10-15: Beställ USB-disk. Passerad 2006-10-15.
  • 2006-10-18: Hämta ut USB-disken. Passerad 2006-10-18.

Planerade milstenar:

  • 2006-10-22: Avslutad backup av alla hemkataloger, alla användar-web-kataloger (common och Roxen).
  • 2006-10-29: Avslutad backup av LysKOM-databasen, projekt-web-kataloger, lysdiskar som inte är hemkataloger, /pkg/cfengine.
  • 2006-11-05: Inventera vad annat som det bör tas backup av, och ta backup av det.
  • 2006-12-01: Undersök om någon av de datorer Lysator redan har duger till att köra LYSrdiff.
  • 2006-12-10: Skriva utvärderingsrapport om hur systemet har fungerat under försöksperioden fram till detta datum. Föreslå inköp av mer hårdvara för att få till spegling på backupservern, off-site-lagring av backuper, och att backupsystemet går på ett separat system i stället för på sedesopim.