Varmuuskopiointitapoja

Petteri Aimonen / 12. tammikuuta 2011

Siika saatiin eilen tuotantokäyttöön, ja sen ansiosta kaikille jäsenille on nyt tarjolla 500 GB varmuuskopiointitilaa. Mutta millä ohjelmilla varmuuskopioita saa järkevimmin otettua?

Keskityn tässä Linux-pohjaisiin järjestelmiin, koska niistä tiedän eniten. Tietääkseni ainakin rsync toimii täsmälleen samalla tavalla myös Windowsissa ja Mac OS X:ssä, ja duplicity Mac OS X:ssä.

Olennaisin asia varmuuskopiointisovelluksessa on tuki pelkkien muuttuneiden tietojen siirtämiselle verkon yli. Esimerkiksi 1 Mbps ulospäin siirtävällä ADSL-yhteydellä 500 gigatavun siirto kestää 50 päivää, joten täyttä varmuuskopiointia ei tosiaan halua tehdä kuin kerran.

Jaetulle palvelimelle siirrettävät varmuuskopiot kannattaa myös salakirjoittaa, jos niissä on mitään vähänkään yksityistä. Valitettavasti salakirjoitus on monesti enemmän tai vähemmän ristiriidassa edellisen kohdan kanssa, sillä salakirjoitetuista tiedoista muutosten hakeminen on monimutkaisempaa.

Monessa ohjelmassa on lisäksi tuki inkrementaalisille versioille varmuuskopioista, joista voi tarvittaessa palauttaa esimerkiksi kuukauden vanhan version. Kapsilla tämä ei ole kuitenkaan ehdottoman tarpeellista, koska käytössä ovat järjestelmänlaajuiset tilannevedokset. Tilannevedosten säilytysaikaa ei tosin ole määritelty tarkasti, joten pitkäaikaissäilytystä varten täytyy ottaa myös itse kopioita.

Muutamia ratkaisuja näihin tarpeisiin on:

duplicity on tehty erityisesti etävarmuuskopiointiin, ja tukee salausta, pelkkien muutosten siirtoa ja versioiden tallennusta. Harmillisesti muutosten siirto ja versioiden tallennus riippuvat toisistaan: kaikki vanhat versiot täytyy säilyttää, tai vaihtoehtoisesti ajoittain täytyy siirtää kaikki tiedot uudelleen.

rdiff-backup tekee versioinnin eri järjestyksessä: uusin versio säilytetään hakemistossa, ja vanhemmat versiot pakattuina muutoskokoelmina. Haittapuolena rdiff-backupissa ei ole tukea salaukselle, ja se edellyttää täsmälleen saman version sovelluksesta sekä omalle koneelle että palvelimelle.

rsync:illä saa helposti kopioitua tietyn hakemiston palvelimelle, ja päivitettyä muutokset tehokkaasti. Tarvittaessa myös versiotallenteita saa luotua käyttämällä valitsinta –link-dest. Rsyncissä ei kuitenkaan suoraan ole tukea salaukselle, mutta tämä puute korjaantuu toisella työkalulla.

encfs on FUSE:en perustuva virtuaalitiedostojärjestelmä, jota tavallisesti käytetään tietojen säilyttämiseen salattuna kiintolevyllä. Valitsimen –reverse kanssa se kuitenkin ottaa kiintolevyllä salaamattoman hakemiston, ja esittää sen salattuna virtuaalihakemistona. Nyt tämän virtuaalihakemiston voi siirtää rsync:llä palvelimelle, jolloin saavutetaan sekä salaus että tehokas siirto ja tallennus.

Itse päädyin (kunhan varmuuskopioita jaksan alkaa järjestelemään uudelleen) tuohon encfs+rsync -yhdistelmään. Haittana on tosin monimutkaisuus, etenkin FUSEn säädön osalta.

Yhtä kaikki, muistakaa testata varmuuskopioiden palautus! Jos et testaa, käy näin.

15 vastausta käyttäjälle “Varmuuskopiointitapoja”

  1. Kipe sanoo:

    Duplicati kehuu olevansa Duplicityn graafinen vastine, joka toimii myös Windowsilla. Itse en ole ehtinyt vielä ohjelmaa kokeilemaan, mutta jos joku on, olisi mukava kuulla kokemuksia.

    http://code.google.com/p/duplicati/

  2. Kipe sanoo:

    Ensitestin perusteella Duplicati tuntuu varsin näppärältä ja varsinkin helppokäyttöiseltä. Ja hoitaa siis cryptaukset jne, incrementalit ja fullit, wizard kyselee kaikki asetukset. Nopean testin perusteella voin suositella varauksetta Windows-koneille.

  3. sampod sanoo:

    Tuo encfs+rsync vaikuttaisi pikaisen kokeilun perusteella varsin toimivalta ja tehokkaalta yhdistelmältä. Ainakin Ubuntussa encfs toimii hyvinkin pienellä vaivalla jahka asentaa encfs-paketin.. Kopiointi ja myös palauttaminen (!) tuntuisi toimivan ok.

  4. Sattumalta itse törmäsin juuri Duplicatiin, kun aiemmin Duplicityn olin jättänyt kokeilemetta natiivin Windows-tuen puutteen vuoksi.

    FUSEen perustuvat ratkaisut jäivät viimeisellä varmistussoftien arviointikierroksella pois koska ilmeisesti lakalla ei ole fusea käytettävissä? Vai olenko väärässä?

    Voisitteko vielä selventää Siilon tilannevedoksia esim. Duplicati-käytön kannalta? Duplicatissahan on ihan perus eli x päivää inkrementaalia, jonka jälkeen full. Inkrementaalien kanssahan pahimmillaan voisi käydä niin että kotona tulee levyrikko ja vanhimmat inkrementaalit puuttuvat Siilosta, jolloin sieltä ei pääse palauttamaan.

    Mikä olisi siis järkevä aikaväli full-varmistusten ajamiseen?

    Mielestäni tässä on pätevä aihe Kapsin ohjesivustollekin lisättäväksi. encfs+rsync olisi myös hyvä koska se on kuitenkin standardimpi tapa kuin Duplicati.

  5. Teemu sanoo:

    Kellään jotain valmista backup-ratkaisua QNAP:lle siirtämään tärkeät datat Siiloon?

  6. Petteri Aimonen sanoo:

    @ Tapio Nuutinen

    FUSEa ei ole Lakalla, mutta toisaalta paranoidit haluavat muutenkin tehdä salauksen omalla koneella.

    Duplicati tallentaa inkrementaalinsa itse, tilannevedoksista riippumatta. Mielestäni fulleja kannattaa ottaa melko harvoin jos dataa on paljon, esimerkiksi kerran vuodessa jos koko 500GB aikoo täyttää.

    IRC:n puolella joku kertoi ottavansa backupit erikseen harvemmin muuttuvasta (digikuvat) ja useammin muuttuvasta (työtiedostot) datasta.

  7. @ Petteri Aimonen

    Niin, tarkemmin ajateltuani noinhan tuo on. Jotta snapshottien lyhyt säilytysaika tulisi merkittäväksi, se vaatisi sekä lähdetiedostojen että siilon varsinaisen datan häviämistä samanaikaisesti. Tällöin voisi tulla ongelma siitä, että siilon snapshoteista ei löydy enää fullia, jolloin inkrementaalit ovat hyödyttömiä.

    Tämä ei tullut mieleeni aiemmin vaan unohdin että sen datan pitää tosiaan hävitä samalla myös siilon datalevyltä.

    Eli lopputulemana Duplicatilla voi ottaa fulleja harvoin. Duplicati hoitaa salauksen ja on myös käyttöliittymältään hyvinkin toimiva paketti. Lisäksi ohjelma on oikeaoppisesti modulaarinen ja kaikki graafisesta käyttöliittymästä toiminnot tulisi löytyä myös komentorivikäyttöliittymästä. Me likes.

  8. Petteri Aimonen sanoo:

    Paranoideimpien kannalta tässä on vielä sekin seikka, että automaattista varmuuskopiointia varten monella on ssh-avain omalta koneelta Lakalle. Tällöin asialleen omistautunut krakkeri voisi tietysti poistaa varmuuskopiot myös siilolta.

    Snapshotit suojaavat tuota vastaan sen verran, että kaikki on tallessa jos tapahtuneen huomaa riittävän pian. Snapshoteja ei nimittäin käyttäjäoikeuksilla pysty poistamaan.

    Toinen tapa on rajoittaa ssh-avaimen käyttöä authorized_keys:ssä määräämällä tietty komento ajettavaksi tietyllä avaimella kirjauduttaessa. En ole tarkemmin tutustunut duplicityn käyttämään siirtotapaan, joten suoraan en osaa sanoa miten rajoitus tehdään.

  9. Juha sanoo:

    Myös Ubuntulle tai ihan yleisesti linuxille löytyy yksinkertainen ja helppokäyttöinen graafinen frontendi duplicitylle nimeltään Déjà Dup.

    https://launchpad.net/deja-dup

  10. Janne sanoo:

    Kokeilin Déjá Dup:n avustuksella, mutta homma kusahtaa: BackendException-virheeseen.

  11. HP sanoo:

    Encfs vaikuttaa hyvältä, mutta pieni ongelma siihen liittyy, salatut tiedostot saa kyllä kapsin palvelimelle talteen, mutta miten palautus, jos kovalevyn rikkoutuessa kadottaa .encfs6.xml piilotiedoston? Itse en ainakaan saanut salattuja tiedostoja enään näkyville.

  12. Petteri Aimonen sanoo:

    Täytynee kopioida myös ko. tiedosto, sehän tulee salatun hakemiston alle. Hyvä huomio kyllä, jos käyttää rsyncissä *-merkkiä niin piilotiedostot eivät oletuksena kopioidu.

  13. jpg sanoo:

    Olen OS X:llä käyttänyt Twin (http://www.app4mac.com/software/product_details.php?item_id=10) nimistä ohjelmaa, toimii hyvin. Valitettavasti ohjelma on maksullinen.

  14. Eero Anttila sanoo:

    Olisi mahtavaa, jos siiloa voisi suoraan käyttää Mac:n Time Machinen kanssa.

    Täältä löytyy ohjeet, kuinka se on tehtävissä Linuxilla:

    http://www.kremalicious.com/2008/06/ubuntu-as-mac-file-server-and-time-machine-volume/

  15. Petteri Aimonen sanoo:

    @Eero Anttila

    Tuo tapa ei valitettavasti taida toimia kuin lähiverkossa. Muilta osin idea on kyllä hyvä, mutta en tiedä onko time machinessa ylipäätänsä tukea netin yli kopiointiin.

Vastaa