ot NikDaPhreak(8-02-2007)

reiting (27)   [ dobre ]  [ zle ]

Printer Friendly Variant za otpechatvane

Zdraveite,

tova e purvata mi statiia za linux-bg.org i se nadiavam kato me osvirkvate, da ne prekaliavate s domatite i iaitsata, che toku vizh se otkazha da pisha ;-)

Utochnenie: Izpolzvaiki ideite ot tazi statiia mozhete volno ili nevolno da prichinite vredi na informatsiiata si, na sebe si ili na treti litsa. Predostavenata informatsiia raboti za men, na moite mashini, no otkazvam da nosia otgovornost za deistviiata na drugi hora, dori te da sa provokirani ot tekst, napisan ot men. S drugi dumi ako izpolzvaiki tazi statiia Vi izgori tostera, ili iztriete GPS dannite za navigatsiia i padnat 5-6 samoleta, vinata e iztsialo Vasha.

Taka. Sled kato si izmih rutsete i moga da pisha spokoino gluposti, shte zapochna s niakoi po-seriozni aspekti na problema Backup.

Mnogo shiroko razprostraneni sa 2 neverni gledni tochki:


1.Na men backup mi ne trebe! Qze sum sysadmin (zamenete s L337 ako iskate)

2.Nie polzvame RAID! Dannite ni sa na sigurno miasto!

Prekrasni tvurdeniia, de da imaha niakakvo pokritie... Svetut shteshe da e prekrasen!

V realniia sviat obache neshtata ne se sluchvat kakto na nas ni se iska. Danni mozhem da zagubim po 2 ednakvo bolezneni nachina – da se povredi tvurd disk (ako imame kusmet shte sa pone 2 ednovremenno, sluchvalo mi se e v RAID5 s 4 diska v ramkite na 6-7 chasa - 2 zhertvi) ili da se schupi failovata sistema. I za dvata varianta ima realen shans i po dvata nachina sum gubil danni. Edinstvenoto smisleno reshenie e adekvaten backup.

Sushtestvuvat mnogo varianti na mnogo proizvoditeli za komersialni i bezplatni resheniia. Problemut e, che vsichki po-seriozni resheniia iziskvat pone edin backup survur. Iziskvat i burza vruzka kum survura i kakvo li oshte ne. Vsichko tova e trudno postizhimo za malki proekti, kudeto taka ili inache ima edin edinstven survur.

TSelta na dneshnoto mi pisanie ne e da otreka tseliia tozi softuer, a da pokazha edno elegantno i purgavo reshenie, koeto naprimer v usloviiata na survur pod naem niakude po sveta mozhe da dade dosta guvkavost pri realiziraneto na backups.

Za realiziraneto na moeto predlozhenie e neobhodim survur s dostatuchno miasto za suzdavane i suhranenie na arhivi lokalno. Sled kato budat suzdadeni, kopiiata ot informatsiiata mogat da se vuzstanoviat dori s Midnight Commander ot direktoriiata, v koiato se suhraniavat, da budat kopirani prez Internet ili lokalnata mrezha na drug kompyutur i sled tova da budat arhivirani ili na lenta ili na CD/DVD.

Malko teoriia – nai-burziiat nachin za kopirane na danni e ot edin tvurd disk na sushtiia ili na drug disk v ramkite na edna i sushta mashina. (Ako polzvate po-burzi tehnologii po-dobre napravo se zahvashtaite s Bacula – dosta seriozno FOSS reshenie.) Razbira se kopiraneto na vsichki failove vseki den shte iziade mnogo burzo svobodnoto miasto. Tuk na pomosht idvat hard links. S dve dumi tova sa failove, koito adresirat edno i sushto fizichesko miasto na tvurdiia disk. Ili inache kazano dannite na diska imat dve ili poveche imena vuv failovata sistema. Za razlika ot soft links / symbolic links koito samo sochat kum imeto na faila, koito sudurzha informatsiiata, v sluchaia imame dva napulno nezavisimi faila, socheshti kum edni i sushti danni.

Da oburnem teoriiata v edin prakticheski primer:

/etc/exports e fail, koito ne se promenia chesto. Ako suzdadem papka /backups i v neia suzdavame vseki den po edna papka, naprimer day1/ day2/ day3/ i t.n. i kopirame /etc/exports v tezi papki, sled 10 dni shte imame 10 ednakvi kopiia na faila, plyus originala, koito taka ili inache ne se e promenil. Ako vmesto da kopirame vseki den tozi fail, nie suzdavame po edin nov hard link kum fizicheskoto miasto na tvurdiia disk, koeto tozi fail zaema, sled 10 dni shte imame 10 faila, koito shte zaemat miasto kolkoto 1 fail, no shte sa dostupni v 10 razlichni direktorii.

Sled kato veche imame ideia kak da spestim miasto za failove, koito ne se promeniat, neka otbelezha, che ako sega promenia niakoi ot 10te faila, suzdadeni kato hard links, shte promenia vsichki failove.

Sledvashtata stupka e da pretsenim kakvo mozhe i kakvo triabva da se arhivira? Vnimatelno triabva da pretsenite koia informatsiia ot survura shte mozhete da vuzstanovite s preinstalatsiia, koia informatsiia ne e nuzhna (direktoriia /tmp naprimer) i koia informatsiia triabva da bude zapazena na vsiaka tsena, tui kato vuzstanoviavaneto i e ili mnogo trudoemko ili mnogo skupo ili prakticheski nevuzmozhno.

Vzimaiki pod vnimanie vsichko tova, mozhem da suzdadem sravnitelno burzo i lesno arhiv na tseliia survur po sledniia nachin:

mkdir /backups

Ako shte polzvame otdelen tvurd disk, naprimer /dev/hdc1: mount /dev/hdc1 /backups


mkdir /backups/`date +%Y%m%d`/

rsync -ap --exclude=/backups --exclude=/proc --exclude=/tmp –exclude /var/log /* /backups/`date +%Y%m%d`/

Taka poluchavame kopie na vsichki direktorii osven /proc, /tmp, /var/log i /backups. Razbira se mozhete da dobavite po zhelanie oshte direktorii, koito da se izklyuchvat ot arhiva ili da pazite samo /home/* vmesto /*. Dokolko ima smisul da se paziat /usr, /bin, /sbin, /boot, /opt i drugi direktorii sus statichno sudurzhanie, vuzstanovimo pri preinstalatsiia, ostaviam na vseki da pretseni sam za sebe si.

Dobre, napulnihme diska s oshte edno kopie na vsichko, koeto sme smetnali za nuzhno. Sledvashtata stupka e da nakarame mashinkata da kopira samo neshtata, koito sa novi i da ne zaema oshte diskovo prostranstvo s nepromeneni failove. Kato znaem ideiata na hard links ne e trudno da go realizirame:

0. Za da mozhem da testvame, triabva da imame arhiv ot predishniia den. Nai-prostiia nachin da go suzdadem e:

mv backups/`date +%Y%m%d`/ /backups/`date -d$(( `date +%Y%m%d` - 1 )) +%Y%m%d`/

Razbira se ako veche ima arhiv ot predishniia den, gornata komanda ne e nuzhno da se izpulniava.

1. Suzdavame papka za aktualniia backup i kopirame sudurzhanieto na papkata s backup ot predniia den:

cp -al /backups/`date -d$(( `date +%Y%m%d` - 1 )) +%Y%m%d`/* /backups/`date +%Y%m%d`/

Gorniiat red suzdava samo hard links bez da kopira fizicheski dannite.

2. Kopirame promenite:

rsync -ap --delete --exclude=/backups --exclude=/proc --exclude=/tmp /* /backups/`date +%Y%m%d`/

Za da sme sigurni, che vsichko e kopirano i niama otvoreni failove e hubavo da sprem uslugite, koito imat navika da keshirat v pametta, vmesto da pishat po diska, kakto i da izpulnim komandata sync predi da kopirame promenite. Osobeno vnimanie oburnete na bazite danni. Za da rabotiat burzo, vsichki bazi danni paziat mnogo informatsiia v kesh v operativnata pamet i ia zapisvat kogato ima vuzmozhnost. Niakoi bazi danni idvat sus sobstveni skriptove za backup, drugi triabva da budat spreni, za da ne zagubite danni.

Sled kato ste testvali vsichko mozhete da zapishete komandite v bash script, koito da dobavite v crontab. Ne zabraviaite da proverite na sledvashtiia den dali vsichko e izpulneno bez greshka. Nai-nepriiatnata iznenada e zabludata, che imate kopie ot vsichko vazhno i kopieto se okazhe razvaleno.

Taka suzdadenite kopiia mogat da se paziat na survura dokato se zapulni tsialoto svobodno miasto ili dokato se izcherpat svobodnite inodes. Za da ne se sluchi tova e neobhodimo vseki den da se iztriva nai-staroto kopie, ako e po-staro ot da rechem 10 dni. Za tselta v skripta mozhete da izpolzvate slednata komanda:

rm -rf /backups/`date -d$(( `date +%Y%m%d` - 10 )) +%Y%m%d`

Do tuk dobre. Sega ostava da sinhronizirame kopiiata na survura s tezi na druga mashina, po vuzmozhnost na drugo fizichesko miasto.

Ako vse oshte niamame otdelna direktoriia za arhivi na vtorata mashina, suzdavame takava. Ako shte suhraniavame arhivite ot poveche mashini, mozhem da suzdadem /backups/REMOTE, kudeto REMOTE e ili IP adresa ili imeto na otdalechenata mashina, chiito arhivirani danni shte suhraniavame.

rsync -apH --exclude=/backups --exclude=/proc --exclude=/tmp REMOTE:/* /backups/REMOTE/`date +%Y%m%d`/

Preporuchvam Vi da izpulnite purvo komandata:

cp -al /backups/REMOTE/`date -d$(( `date +%Y%m%d` - 1 )) +%Y%m%d`/* /backups/REMOTE/`date +%Y%m%d`/

za da suzdadete povecheto hard links na lokalnata mashina i da namalite kolichestvoto danni, koito rsync triabva da prehvurli.

V gornite komandi otnovo triabva da zamenim REMOTE s IP adresa ili imeto na otdalechenata mashina, chiito arhivi shte suhraniavame.

Sled kato veche imame kopie na dannite ot otdalechenata, ne e losho da zapishem po-vazhnite na CD, DVD ili lenta.

Predimstva na taka predlozheniia metod:

1. Dannite mogat da se vuzstanoviat mnogo lesno i burzo, pri nuzhda dori ot gramoten Linux potrebitel.

2. Ako vizhdate failovete, to arhivut nai-veroiatno e vuzstanovim. V tozi red na misli kolko chesto proveriavate lentite ili CD / DVD dali vsichko e zapisano kakto triabva?

3. Minimalno vreme za suzdavane na kopieto vurhu survura, koeto svezhda do minimum vremeto, prez koeto opredeleni uslugi na survura triabva da sa spreni (za da niama schupeni failove) i suotvetno niama da sa dostupni.

4. Ne se nalaga izpolzvaneto na po-slozhen softuer i na dopulnitelen survur, koito da upravliava arhiviraneto na danni.

Kapani, ulovki i drugi nepriiatni iznenadi, s koito mozhete da se sbluskate, polzvaiki tozi metod za arhivirane na danni:

1. Ne zabraviaite, che pri tova reshenie shte triabva mnogo miasto na tvurdiia disk. Ako shte suzdavate kopie na sushtiia disk i svobodnoto diskovo prostranstvo e po-malko ot 60% po-dobre ne se zahvashtaite. SHTe prepulnite diska mnogo burzo i shte ostanete razocharovani.

2. Schupeni bazi danni. Povecheto SQL survuri polzvat kesh v operativnata pamet, za da optimizirat skorostta na chetene i pisane ot i v bazata danni. Za arhivirane na bazite danni polzvaite softuernite resheniia, preporuchani ot suzdatelite na suotvetnata baza danni ili spiraite bazata danni predi da suzdadete arhiv na neinite failove po goreopisaniia nachin.

3. Problem mozhe da se poiavi i ako ste izpolzvali mnogo inodes – adresi na failove. Problem mozhe da se poiavi ako pazite backup v produlzhenie na 10 dni i ste izpolzvali poveche ot 9% (100%/(10dni+originalni danni)=100%/11=9,09%) ot inodes na diska, pri kopirane na sushtiia disk ili niamate pone 10 puti poveche svobodni inodes na dopulnitelniia disk, koito polzvate.

4. Ne prekaliavate s informatsiiata, koiato arhivirate. Niama smisul da kopirate po mrezhata ili prez Internet izpulnimite failove, koito se instalirat pri preinstalatsiia na sistemata. Ako se nalozhi da vuzstanoviavate danni ot razstoianie, to tezi failove veche shte sa instalirani.

5. Ne zabraviaite, che vsichki komandi v tazi statiia triabva da se izpisvat na edin red ili da se izpolzva „“ za prenasiane na komandata na nov red.

I edna hitrost za tezi, koito imat poveche opit s Linux – ima variant da se polzvat atributi na faila i da se polzva Copy On Write za da se spesti oshte miasto pri suzdavaneto na purviia backup i da se izbegne sluchainoto unishtozhavane na vsichki kopiia pri promiana na edno. V tazi situatsiia suzdaite purvoto kopie s cp -al vmesto rsync.



<< | Pravene na arhivi po "lesniia nachin" >>