TCH (statz) | #1, Főfasz (10466) |
3001 | #22ae | ^ | Idézet | Wed, 26 Dec 2012 23:07:52 +01 |
78.92.*.* | *.pool.t-online.hu |
Sokat agyaltam azon, hogy miképpen lenne érdemes redundásan tárolni a cuccaimat két egyforma winyó és különböző szoftveres és/vagy hardveres raid módok segítségével, de végül mindet elvetettem, mert ellentétben a raiddel, a közvetlen backuppal lementett adatokhoz közvetlenül is hozzá lehet férni, azonfelül a raid ugyanannyit terheli mind a két diszket, míg a közvetlen backup csak backup idején terheli a szekunder tárolót - igaz akkor nagyon (normál backupnál). Hátránya persze az, hogy nem instant biztonsági mentés, hanem időzített, vagyis ha két mentés között döglik meg a primer tároló, akkor a kettő közötti változások elvesznek. Továbbá, míg a raid megoldás nem vesz igénybe semennyi időt - lévén párhuzamosan történik - addig a direkt backup - az adatmennyiségtől függően - nagyon sokáig tarthat. Ezenfelül a szekunder tárolónak sem tesz jót, hogy minden backupnál az egész tartalmat újra és újra ráírják. Persze sokszor kell ezt eljátszani, hogy gajramenjen, de akkor is. Viszont ha nem egyszerűen másolgatunk, hanem szinkronizálunk, akkor az említett három hátrányból csak egyetlen marad meg: az időszakos mentések közötti elhalás lehetősége - a többi csak az első szinkronizáláskor lép fel, többet nem - és ezt az egyetlen hátrányt pedig viszonylagosan ellensúlyozni lehet a sűrű lefuttatással. A közvetlen könyvtárstruktúra szinkronizáláshoz találták ki az rsync-et. Ennek a cuccnak a segítségével faék egyszerűséggel csinálhatunk tükröt bármelyik könyvtárról vagy akár egy egész meghajtóról. Íme a faék: #!/bin/bash mkdir /media/sync0 2>/dev/null mkdir /media/sync1 2>/dev/null mkdir /tmp/sybak 2>/dev/null for i in 1 2 3 4 5 6 7 do mount /dev/sda$i /media/sync0 mount /dev/sdb$i /media/sync1 rsync -va --delete /media/sync0/ /media/sync1/ >/tmp/sybak/sda$i\_$(date +"%Y_%m_%d_%H_%M_%S").log umount /media/sync0 umount /media/sync1 doneEz egy kevéssé szofisztikált, viszont egyszerű és működő megoldás arra, hogy az sda kijelölt partícióinak tartalmát (felsorolva a for klauzában) átmásoljuk az sdb partícióira. Értelemszerűen a folyamat feltételezi hogy a két lemez partíciólistája megegyezik, továbbá, hogy a célmeghajtón elférnek a forrásadatok. Az rsync minden mást elvégez helyettünk. Ezt persze lehetne még fejleszteni, pl. a két lemez eszközazonosítóját paraméterben átadni, azután pedig kinyerni a forrásról az ext3-as partíciók listáját, majd végigmenni rajtuk; de szerintem ez több hibalehetőséggel járna, mint amennyi időt nyer vele az ember, lévén ezt a szkriptet csak egyszer kell átírni, amikor az ember beállítja a partíciólistát és az eszközazonosítókat, utána ugyanúgy csak lefuttatni kell. Kivéve persze, ha menetközben módosul valami, de akkor is csak egy pillanat átírni. De ha valaki másképp gondolja, akkor szóljon. Kudos && respect Andrew Tridgellnek és Paul Mackerrasnak, továbbá kurwa anyját bilgécnek. |