Csatasorban az új backup szerver

Egy ideje problémát okozott a rengeteg hosting-anyag mentése, főleg a méretek miatt. Leírom, én hogyan backupolok.

Először is a jó hír az, hogy egész gyorsan, egész olcsón összeraktam egy sima PC-t a mentések elkészítésére. A gép jelenleg ezekből áll:

- core2duo E8400, 3.0GHz, 6MB L1 cache - 2x1GB Corsair XMS2 RAM KIT - ASUS 5KPL-AM alaplap

Ezen lóg néhány lemez: - WD 320GB PATA (ez a rendszerlemez, mert itt nem olyan fontos, hogy extra gyors legyen, rendszer-lemezműveletek minimálisak ezen a meghajtón) - WD 500GB Blue PATA, ez most nincs használatban, és lehet, hogy nem is lesz, mert vannak nem túl biztató SMART értékek - WD 1TB Black SATA (ez az rsync tükör, bővebben lejjebb) - Seagate Constellation ES2 2TB SATA (ez pedig tárolja a napi mentéseket)

Az oprendszer - mi más lenne - 64 bites Debian linux.

A mentés menete, tematikája nálam több éve a következő:

A hosting szerverek SSH belépéssel rsync-kel küldik be naponta a frissítéseket a saját könyvtárukba, egy, a backup-szerveren felvett felhasználóval, kulcs alapú hitelesítéssel. Mivel azonban a jogkörök minden szerveren mások (de nagyon hasonlóak nálam), ezért a mentést a backup gépen mindenképp root-ként kell megcsinálni, hogy a kinti szerverek felhasználói, jogai megmaradjanak a backupban. Ehhez az rsync-et kiegészítettem az --rsync-path="sudo rsync" paraméterrel, ellenkező esetben minden tükrözött file a backup gép felhasználójának nevében jön létre.

Persze ehhez a sudo-t is be kell állítani. A backup gép felhasználója, így annak kulcsa minden mentett gépen megtalálható.

Ez a tükrözés menete, így gyakorlatilag az éles tartalmak mind megvannak itt naponta frissítve. Ez leginkább a weboldalakra, levelezésre igaz.

A backup gép ezekből készíti el a napi backupot tömörített, inkrementális mentéssel, ami azt jelenti, hogy egy héten egyszer készül master, azaz teljes backup, ezután a napi mentésbe csak azok a fileok kerülnek bele, ami nincs a masterben. Ebből tárolok én 14 napnyit.

Az adatbázisok mentése másképp készül, minden szerveren minden éjjel egy célscript lementi mindet egyenként, majd ezek is bekerülnek a backup gépre, szintén rsync segítségével. Ezekből 90 napnyi mentést tárolok.

Természetesen a mentések részletességét a configokkal, beállításokkal be lehet állítani, tehát lehet akár domainenként menteni, vagy ahogy szeretné az ember.

Mentésre backup-manager-t használok, ami gzip tar-ba archivál, a mysql-ek tar bzip-be kerülnek.

Hátrányok

- nagy hely kell ahhoz, hogy teljes rsync tükröket tároljunk, ugyanannyi, ami a hosting gépeken kell, ez nálam nagyjából most 700 GB - nagy tömörített fileok születnek helyenként (site-tól függően akár 8-15-20GB-os is, amiből egy-egy file-t előásni nem túl könnyű, s mivel itt nincs semmilyen mentési katalógus, elég pontosan tudni kell, hol található. Ámbár ez elég egyértelmű, amikor valaki visszaállítást kér.

Előnyök

- egy tükörrel mást is lehet kezdeni, például a weboldalakat víruskeresővel át lehet fésülni rendszeresen, így fellelhetőek fertőzések. Ez (is) egy nagy erőforrás-igényű művelet, ezért nagyon jó, hogy egy olyan gép csinálja, aminek máshoz épp nem kell nyúlnia - ha egyszer bent van egy tükör, akkor a szinkronizáció már nagyon gyorsan le tud futni, hiszen az rsync erőssége pontosan ez, érdemes kihasználni! - sok erőforrást megspórolunk az éles szervereknek azzal, hogy a tömörített mentéseket nem nekik kell elkészíteni, ami még akkor is jól jön, ha éjjel kerülne rá sor. Ekkora mennyiséget sok óra tömöríteni, arról nem beszélve, hogy a vírusscan sem két perc (egy erős szerveren ~400 GB, közel 500.000 file esetén, átlagos üzem mellett úgy 6-8 óra). - helyi szerverre samba-t téve, nagyon kényelmesen, megosztott mappákkal szemmel lehet tartani a mentéseket, hozzájuk lehet férni könnyen.

Nagyjából ennyi lenne, először csak a gépről akartam pár szót írni, de végül belemerültem. 🙂

 
Csatasorban az új backup szerver
0 szavazat, 0.00 átlagos pontszám (0%-ra értékelve)

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöljük.