Difference between revisions of "Drift/Backup"

From Programvareverkstedet
Jump to: navigation, search
m (moved Backup to Drift/Backup: dette hører vel til under drift)
(oppdatering av backupjobber)
Line 9: Line 9:
 
Backupscript og backuper ligger i /backupz.
 
Backupscript og backuper ligger i /backupz.
  
== Legge til backupjobb ==
+
== Legge til eller endre backupjobber ==
  
Logg inn på nosferatu som root og gå inn i /backupz
+
Logg inn på nosferatu som root og gå inn i /backupz. Vi prøver å bevare samme filsystem om vi flytter tjenester mellom bokser, og derfor heter en del av sharene bare "web", "databases" og lignende. Her må man bruke litt skjønn. Det er mulig å omstrukturere litt med <code>zfs rename</code> om det lå under en hostnavn-basert katalog før.
  
Om det ikke allerede finnes en mappe under /backupz med hostnavnet til maskinen du skal ta backup av, opprett et xfs-filsystem for formålet (pathen angis relativ til / uansett hvor du står):
+
=== Lage nytt filsystem ===
 +
Om det ikke allerede finnes en mappe under /backupz til dataene du skal ta backup av, opprett et xfs-filsystem for formålet (pathen angis relativ til / uansett hvor du står):
  
 
<pre>
 
<pre>
nosferatu# zfs create backupz/tim
+
nosferatu# zfs create backupz/web
 
</pre>
 
</pre>
  
 
Filsystemet skal bli mountet av seg selv:
 
Filsystemet skal bli mountet av seg selv:
 
<pre>
 
<pre>
nosferatu# df -h /backupz/tim
+
nosferatu# df -h /backupz/web
 
Filesystem    Size    Used  Avail Capacity  Mounted on
 
Filesystem    Size    Used  Avail Capacity  Mounted on
backupz/tim     17G      0B    17G    0%    /backupz/tim
+
backupz/web     17G      0B    17G    0%    /backupz/web
 
</pre>
 
</pre>
 +
 +
=== Oppdatering av backupscriptet ===
  
 
Sjekk ut backupscriptet, rediger det (la deg inspirere av en av de eksisterende backupjobbene), kontroll er endringene, og sjekk det inn igjen:
 
Sjekk ut backupscriptet, rediger det (la deg inspirere av en av de eksisterende backupjobbene), kontroll er endringene, og sjekk det inn igjen:
Line 34: Line 37:
 
</pre>
 
</pre>
  
Husk å skrive en vettug commitbeskjed. Det var det!
+
Husk å skrive en vettug commitbeskjed.
 +
 
 +
Pass også på så du ikke ender opp med å kjøre masse backupjobber på samme maskin samtidig. Om du har flere jobber mot samme boks (fordi dataene skal i ulike zfs-filsystemer) kan du eventuelt gruppere dem i et subshell som du legger i bakgrunnen.
  
 
__NOTOC__
 
__NOTOC__

Revision as of 23:12, 1 May 2010

Backup blir tatt av decibel (backup av /home) og bacchus (backup av /local/adm/). Backupserveren er nosferatu.pvv.ntnu.no. Innloggingen der er begrenset til vi finner ut om det er bare drift eller alle pvv sine medlemmer som skal ha tilgang til boksen.

For brukere som har store filer de ikke trenger backup av, spesielt store filer som endres ofte og derfor ofte vil bli tatt med i inkremetelle backuper, så kan de legge filene i ~/nobackup. Innholdet i den mappa vil da ikke bli tatt med i backup.

Backup blir tatt med rsync og ZFS. Et hjemmesnekret bash-script kjører rsync og kopierer filer til /backupz. Når rsync er ferdig tar et ZFS-snapshot.

Backupscript og backuper ligger i /backupz.

Legge til eller endre backupjobber

Logg inn på nosferatu som root og gå inn i /backupz. Vi prøver å bevare samme filsystem om vi flytter tjenester mellom bokser, og derfor heter en del av sharene bare "web", "databases" og lignende. Her må man bruke litt skjønn. Det er mulig å omstrukturere litt med zfs rename om det lå under en hostnavn-basert katalog før.

Lage nytt filsystem

Om det ikke allerede finnes en mappe under /backupz til dataene du skal ta backup av, opprett et xfs-filsystem for formålet (pathen angis relativ til / uansett hvor du står):

nosferatu# zfs create backupz/web

Filsystemet skal bli mountet av seg selv:

nosferatu# df -h /backupz/web
Filesystem     Size    Used   Avail Capacity  Mounted on
backupz/web     17G      0B     17G     0%    /backupz/web

Oppdatering av backupscriptet

Sjekk ut backupscriptet, rediger det (la deg inspirere av en av de eksisterende backupjobbene), kontroll er endringene, og sjekk det inn igjen:

nosferatu# co -l backup.sh 
nosferatu# vim backup.sh 
nosferatu# rcsdiff -u backup.sh
nosferatu# ci -u backup.sh

Husk å skrive en vettug commitbeskjed.

Pass også på så du ikke ender opp med å kjøre masse backupjobber på samme maskin samtidig. Om du har flere jobber mot samme boks (fordi dataene skal i ulike zfs-filsystemer) kan du eventuelt gruppere dem i et subshell som du legger i bakgrunnen.