Linux-baserad backup

Elektronik- och mekanikrelaterad mjukvara/litteratur. (T.ex schema-CAD, simulering, böcker, manualer mm. OS-problem hör inte hit!)
Användarvisningsbild
RasmusB
Inlägg: 1006
Blev medlem: 24 augusti 2006, 23:32:13
Ort: Södertälje

Linux-baserad backup

Inlägg av RasmusB »

Okej, det blir en del att läsa nu... :)

Hittade följande backup-lösning: http://ttsiodras.googlepages.com/backup.html

Jag är intresserad av att göra något liknande! Skillnaden för min del är att backup-servern skulle vara en ren linux-burk :) Det är bara en sak som stör mig angående backup-historiken:
The "cp -al" creates a zero-cost copy of the data (using hardlinks, the only price paid is the one of the directory entries, and ReiserFS is well known for its ability to store these extremely efficiently). Then, rsync is executed with the --delete option: meaning that it must remove from our local mirror all the files that were removed on the server - and thus creating an accurate image of the current state.
Om jag förstår det här rätt, så kommer även filerna i en "gammal" backup att ändras, om de finns med i den senaste backupen eftersom de alla är länkar till samma data? MAO, om jag vill använda en veckogammal backup för att återställa något så kan vissa filer har ändras av alla backuper jag hunnit köra under tiden... i värsta fall kan jag ju ha haft sönder något...

Om det är så det kommer att fungera så har jag tänkt på hur man kan lösa det problemet, men ändå optimera det utrymme som krävs:

1. Jämför senaste backup-kopian med datorn som ska säkerhetskopieras.
2. De filer som ändrats sen senaste backupen KOPIERAS till en ny backupmapp.
3. De filer som INTE ändras skapas det en hardlink till i nya mappen.
4. rsync --delete körs mot nya backupmappen som beskrivs i länken ovan

Alltså: filer och länkar motsvarande de filer som tagits bort på datorn försvinner ur nya backupmappen, men lämnas orörda i den gamla backupen. Filer som ändrats uppdateras enbart i den senaste backupen, eftersom de representeras av faktiskt kopior och inte länkar.

Målet är då att man får en backup-historik som innehåller kompletta "snapshots", dvs. att jag även kan få upp gamla versioner av ändrade filer. (Jmfr. Apples "Time Machine") Samtidigt är bara det som verkligen ändrats som ökar storleken på backupen. Mängden data som rsync behöver skicka borde inte heller öka speciellt mycket, förutom den första jämförelsen som görs för att se vilka filer som ändrats... :)

Vad tror ni med mer linux-vana? Tänker jag fel någonstans, är jag rent dum i huvudet över hur hårda länkar fungerar eller missar jag något uppenbart sätt att uppnå samma effekt? :)
Användarvisningsbild
speakman
Inlägg: 4838
Blev medlem: 18 augusti 2004, 23:03:32
Ort: Ånge

Inlägg av speakman »

Eller så kör man LVN2 och gör en snapshot innan man drar igång rsync. :)

Annars så kan "tar" göra det mesta du begär, direkt över SSH (eller annat protokoll) dessutom. Den kan göra både fullständig och inkrementiell backup till fjärrplatser.
Användarvisningsbild
RasmusB
Inlägg: 1006
Blev medlem: 24 augusti 2006, 23:32:13
Ort: Södertälje

Inlägg av RasmusB »

Tack för tipset! Men som jag förstår det så spöar ju det här båda de lösningarna iom att filer som aldrig ändras bara sparas en gång? Även om jag kan ta en inkrementell backup så löser ju det inte "historik-delen".
Användarvisningsbild
speakman
Inlägg: 4838
Blev medlem: 18 augusti 2004, 23:03:32
Ort: Ånge

Inlägg av speakman »

Erkänner att jag varken sett TimeMachine eller är särskilt insatt i rsync, så jag vet inte riktigt vad du är ute efter. Det verkar nästan som dom gör något lurigt iom att dom byter filsystem. En hårdlänk borde bara vara giltig inom samma filsystem. Kanske?
Användarvisningsbild
RasmusB
Inlägg: 1006
Blev medlem: 24 augusti 2006, 23:32:13
Ort: Södertälje

Inlägg av RasmusB »

Okej, kolla på snabbintroduktionen här:

http://www.apple.com/findouthow/mac/#tu ... imemachine

Tänk bort det snygga GUI-t bara ;) Det är själva funktionen med att kunna bläddra bakåt i tiden jag är ute efter...

Edit: I instruktionerna jag länkar till så krånglar de med filsystem för att de var tvungna att backa upp en linux-burk mot en windows-server, så det krånglet kan vi ignorera för diskussionen... :) Tänk en linux-server som jag kommer att dra backup av min hempartion mot.
ragnwald
Inlägg: 165
Blev medlem: 9 mars 2006, 21:16:58
Ort: Stockholm
Kontakt:

Inlägg av ragnwald »

Titta på programmet rsnapshot

Riktigt fint, tror det gör precis vad du vill. Det bygger på rsync. Jag kör detta skarpt för backup av filer åt ett företag. Man får precis såpass mkt historik/gamla images man vill och det enda som sparas är ändringarna.
Användarvisningsbild
RasmusB
Inlägg: 1006
Blev medlem: 24 augusti 2006, 23:32:13
Ort: Södertälje

Inlägg av RasmusB »

Aha! :D

Ja, det ser ju faktiskt ut att kunna göra PRECIS det jag är ute efter! Tack så mycket för tipset!! :)
Användarvisningsbild
speakman
Inlägg: 4838
Blev medlem: 18 augusti 2004, 23:03:32
Ort: Ånge

Inlägg av speakman »

Den var ny för mig också. Tack tack! :)
cyr
Inlägg: 2712
Blev medlem: 27 maj 2003, 16:02:39
Ort: linköping
Kontakt:

Inlägg av cyr »

Tänkte tipsa om rdiff-backup, men rsnapshot ser ut att göra samma sak fast bättre.

Rdiff-backup fungerar iaf bra för mig, kör backup på det viktiga varje natt till en krypterad USB-disk. Totalt ungefär 25G data, varav några meg ändras per dygn i genomsnitt. Tar ett par minuter att köra backupen.
Användarvisningsbild
RasmusB
Inlägg: 1006
Blev medlem: 24 augusti 2006, 23:32:13
Ort: Södertälje

Inlägg av RasmusB »

Det visar sig att det hela verkar vara ett icke-problem... :) Mailade författaren av artikeln för ett tag sedan, här kommer det väldigt utförliga svar som jag fick idag:
I'm glad you liked it.

> If I understand this correctly, this means that my "backup history"
> only manages to save files from accidental deletion. If I, for
> example, wanted to get an earlier *version* of a file, it would be
> impossible since all hard links point to the same data - right?

No.
Each snapshot is an accurate mirror of the state of the server
at the time, and the only hardlinks used are towards files that
haven't changed.

> This might also break the idea of having a backup history. If data in
> a "historic" backup is altered by the most recent backup, I couldn't
> use it to restore my machine to a previous state - only the most
> recent backup would be usable.

No... Data in the historic backups are not modified...

Let me explain by an example:
Here's a "minimal" way of keeping more than one snapshots:

rm -rf backup.3rd
mv backup.2nd backup.3rd
mv backup.1st backup.2nd
cp -al backup.most.recent backup.1st
rsync -avz --delete root@remote.machine:/ backup.most.recent/

The two last lines are the key: the others are just rotating the logs
(removing the oldest backup first). Notice that we are using hardlinks
(cp -al) to make a hardlink copy of the most recent backup we have
(backup.most.recent). This is a complete mirror, it provides access
to all the data that existed inside our remote.machine. Then, when
rsync runs, it DOESNT WRITE "IN-PLACE" inside backup.most.recent;
if you run it over a slow link and use 'ls' while it runs, you'll see that
while syncing a file, it always creates a tmp file (named
".originalFilename.xyz")
and writes data inside it... and when it completes this process,
it REMOVES the original file, and renames this new one!

You see now that this process creates "fresh" i-nodes in the
"backup.most.recent"... so there is no problem with hardlinks
"messing-up" everything... Hardlinks are only being used
amongst the backup snapshots, and they "just work".

Again, the key to understanding this is to realize that rsync
doesn't write the new data "in-place" (i.e. in the old i-nodes): it creates
new i-nodes.

> This would give a combination of a backup system and file history that
> actually reminds a lot of Apple's "Time Machine", although without the
> nice GUI! :) The trade off would of course be increased size of the
> backup, but the amount of data to transfer should not be affected.

As I hope you see now, we DO have Apple's Time Machine :-)

Hope this helps,
Thanassis.
Användarvisningsbild
vfr
EF Sponsor
Inlägg: 3515
Blev medlem: 31 mars 2005, 17:55:45
Ort: Kungsbacka

Inlägg av vfr »

Vad är det som är ett icke-problem??? Det är inte helt klart vad du syftar på.
Användarvisningsbild
RasmusB
Inlägg: 1006
Blev medlem: 24 augusti 2006, 23:32:13
Ort: Södertälje

Inlägg av RasmusB »

Ursäkta otydligheten... :)

"Problemet" bestod i att jag trodde att rsync följde de hårda länkarna in i gamla backuper, vilket skulle medföra att bara den senast "backupade" versionen av en fil skulle dyka upp i ALLA backuper, även gamla.

Men nu är rsync tydligen smartare än så, vilket jag inte hade förstått. Så den "Time-machine"-liknande funktion jag är ute får man alltså med den första lösningen i tråden. I stort sett samma beteende som t.ex. rsnapshot.
pinussen
Inlägg: 188
Blev medlem: 12 maj 2007, 16:28:39
Ort: Åkersberga

Inlägg av pinussen »

Kör rsnapshot över en VPN-länk och backar upp mina föräldrars server. Funkar fint när man väl fått över grejjerna första gången.
Skriv svar