Kirjoittaja Aihe: Backup BTRFS:n snapshotilla  (Luettu 1448 kertaa)

petteriIII

  • Käyttäjä
  • Viestejä: 660
    • Profiili
Backup BTRFS:n snapshotilla
« : 09.12.14 - klo:14.16 »
Aikaa on jo kulunut melkoisesti siitä kun anttimr käsitteli aihetta: apt-btrfs-snapshot sivulla: http://forum.ubuntu-fi.org/index.php?topic=43347.msg333725#msg333725 ja voinee alkaa harkita snapshotin backup ominaisuuksia.
- snapshot on käsittääkseeni yksinomaan btrfs:n ominaisuus. Netissä kylläkin puhutaan myös EXT4-snapshotista, mutta mitään selvää en ole löytänyt.

Jos järjestelmää on tarkoitus hoitaa täytyy siitä ottaa backup erittäin usein; jopa kerran tunnissa otettava back-up voi kadottaa jotakin tärkeää ja ainakin sen puute voi aiheuttaa turhaa työtä. Btrfs-tiedostojärjestelmää käytettäessä back-up:in voi ottaa usein sillä backup otetaan erittäin nopeasti eikä se edes vie paljoa levytilaa. Järjestelmästä voidaan aina ottaa snapshot, ja mikäli koti-osio on erillinen voi siitä ottaa erillisen snapshot.

Servereissä ei mielellään tehdä päivityksiä kovin usein sillä päivitykset saattavat johtaa katastrofiin eikä servereitä voi korjata päivä-tolkkua niinkuin kotikonetta. Tavallinen back-up on lisäksi hidas ottaa ja serveri on pysäytettävä sen ottamisen ajaksi. Snapshot on teoriassa yksi ratkaisu: ennen päivitystä otetaan snapshot ja ellei päivitetty toimi kunnolla niin palataan vain siihen vanhaan. Varautuminen boottauskelvottomuuteen vaatii kyllä omat järjestelynsä.

Tuo apt-snapshot luo automaattisesti snapshotin (=hetkellis-kuva ?) järjestelmästä silloin kun tehdään joku apt-operaatio kuten esimerkiksi päivitys päätteeltä. Joskus haluaisi kuitenkin luoda snapshotin ennenkuin tekee jotakin mikä saattaa sekoittaa koneen toiminnan, esimerkiksi lisää näyttöajurin. Silloin sanapshot luodaan käskyllä:
Koodia: [Valitse]
sudo mount /dev/sdX# /mnt; sudo btrfs subvolume snapshot /mnt/@ /mnt/@_snapshot

- se millä on bootattu voi siis mountata itseensä ja tehdä snapshotin.
- ihan yhtähyvin sen snapshotin voi tehdä mistähyvänsä btrfs-osiosta kun on bootattu live-versiolla.

Palauta snapshot käskyllä:
Koodia: [Valitse]
sudo mv /mnt/@ /mnt/@_badroot; sudo mv /mnt/@_snapshot /mnt/@ 

- ennen aikaisemmin otetun snapshotin palautusta nykyinen kannattaa tallettaa ainakin väliaikaisesti

Myös erilliskodista voi tehdä snapshotin käskyllä:
Koodia: [Valitse]
sudo mount /dev/sdX# /mnt; sudo btrfs subvolume snapshot /mnt/@home /mnt/@home_snapshot

- snapshot tehdään koti-osiolle

- ota huomioon että : sdX# on toinen kuin mitä se on järjestelmällä

Poista se huono snapshot kun olet todennut toisen toimivan:
Koodia: [Valitse]
sudo btrfs subvolume delete /mnt/@_badroot


- snapshoteja ei saa poistaa muilla tavoilla.
- tämä on vasta perusta jota voi kokeilla kertaluonteisesti - kunnollinen backup vaatii paljon toimia ja niitä on paras ohjata skriptillä.
- snapshot:ista ei yksinään ole backup:iksi sillä mikäli järjestelmälle tapahtuu jotakin jonka jälkeen järjestelmä ei boottaa niin kaikki menee - mutta boottaamalla live-versiolle sen snapshotin voi vaihtaa käyttöön. Live-tikku tulee siis olla aina ja sen tulee olla samaa versiota kuin se minkä snapshot palautetaan.
- snapshot:in otto on nopeaa ja se otetaan aina normaalin toiminnan aikana. Luulisin muuten ettei snapshotissa kopioda juuri mitään vaan kun alkuperäistä muutetaan niin osoittimia siirrellään ensimmäisellä muutoskerralla.
- snapshot/backup-valmisohjelmia on jo lukemattomia toinen toistaan parempia, mutta snapshot-skriptisi joudut tekemään itse sillä yksin et oo mittään ja ainoastaan monimuotoisuus auttaa ryhmää; kaikilla tulee olla omantyyppisensä viritys.
« Viimeksi muokattu: 10.12.14 - klo:12.06 kirjoittanut petteriIII »