Fórum Root.cz

Hlavní témata => Server => Téma založeno: fotka 18. 05. 2014, 12:06:18

Název: Kopírování dat z běžícího serveru
Přispěvatel: fotka 18. 05. 2014, 12:06:18
Server umístěný v cizině, s množícími se vadnými sektory (SMART hodnota, tzv "Offline_Uncorrectable"), na serveru jen jeden disk, žádný RAID. Jak se dá postupovat aby bylo dosaženo co nejnižšího výpadku a data byla překopírována na nový disk?
Název: Re:Mohou být všechna data nakopírována na jiný disk za běhu serveru?
Přispěvatel: Lol Phirae 18. 05. 2014, 12:25:26
Server umístěný v cizině, na serveru jen jeden disk, žádný RAID.

To je ale opravdu chytré řešení...  ;D
Název: Re:Mohou být všechna data nakopírována na jiný disk za běhu serveru?
Přispěvatel: student 18. 05. 2014, 12:49:03
Ked tam mate LVM, tak je kopirovanie vsetkych dat mozne (LVM snapshot a potom z neho); inak hrozi problem s rozbitymi suborami, ktore sa prave pridavali.

Ale ked su tie data len na 1 disku, tak snad ide o nieco docasne a to by bolo asi jednoduchsie spocitat znova.
Název: Re:Mohou být všechna data nakopírována na jiný disk za běhu serveru?
Přispěvatel: peter 18. 05. 2014, 15:12:41
Ty pracuješ v HR ? Inak si neviem vysvetliť dlhodobý prístup k práci typu štátna sféra, a náplň práce aj s zodpovednosťou zo súkromnej sféry. Neverím, že si tak prehľadný troll. Aké máš teraz voľné pozície a za koľko?
Název: Re:Mohou být všechna data nakopírována na jiný disk za běhu serveru?
Přispěvatel: Mirek Prýmek 18. 05. 2014, 15:19:14
Ked tam mate LVM, tak je kopirovanie vsetkych dat mozne (LVM snapshot a potom z neho); inak hrozi problem s rozbitymi suborami, ktore sa prave pridavali.
Bacha na to, ani snapshot nezaručuje konzistenci dat. Některé jednodušší databáze nezaručují konzistenci dat na disku v každém okamžiku.

Takže buď:
1. přenést snapshot
2. zdrojový server vypnout
3. zazálohovat _korektně_ všechna data z náchylných databází
4. obnovit databáze na cílovém serveru

Nebo udělat podobnou operaci rsyncem:
1. rsyncnout celý server
2. vypnout na zdrojovém serveru všechny služby
3. ještě jednou rsyncnout

Ale hlavně: zapsat si za uši, že server s jedním diskem není server.
Název: Re:Mohou být všechna data nakopírována na jiný disk za běhu serveru?
Přispěvatel: Sten 18. 05. 2014, 16:38:00
Server s vadnými sektory
co nejnižšího výpadku

Precondition failed.

Jakmile je tam jen jediný disk, který odchází, OKAMŽITĚ se musí server vypnout. Každé další používání dost razantně zvyšuje pravděpodobnost, že odejdou další a další data, až nakonec odejde něco důležitého a nedostanete z toho už vůbec nic.
Název: Re:Mohou být všechna data nakopírována na jiný disk za běhu serveru?
Přispěvatel: vana-hb 18. 05. 2014, 17:22:26
Předně bych řekl že vědomně používat počítač kde se "množí" vadné sektory je něco k čemu neexistuje neofenzivní komentář.

A druhá věc je, že bych o tom co chceš dělat asi nepůjde. Ono áleží co je to za počítač a co vlastně dělá, ale pokud to má jeden disk a necháváš to v chodu s vadným diskem tak to nebude nic důležitého. Tak že máš několik možností:
1. nechat nějakou místní počítačovou firmu ať ten disk oghostují a vymění a třeba to půjde i když i při úspěšném pokusu tě může čekat pozdější nekonzistence dat.
2. dojet tam a na místě vyměnit disk to znovu nainstalovat s čímž budeš trávit čas na místě.
3. postavit nový pc, nainstalovat ho doma a tam ho jen dovést (poslat) a jen zapojit.
Název: Re:Mohou být všechna data nakopírována na jiný disk za běhu serveru?
Přispěvatel: JardaP . 18. 05. 2014, 20:10:34
Server s vadnými sektory
co nejnižšího výpadku

Precondition failed.

Jakmile je tam jen jediný disk, který odchází, OKAMŽITĚ se musí server vypnout. Každé další používání dost razantně zvyšuje pravděpodobnost, že odejdou další a další data, až nakonec odejde něco důležitého a nedostanete z toho už vůbec nic.

To je blbost. Po zastaveni ten disk uz take nemusi najet. Nejlepe zastavit aplikace, rsyncnout do zalohy. A pak eventuelne rebootnout do live distra a udelat dd, pokud to ten disk jeste zkousne.
Název: Re:Mohou být všechna data nakopírována na jiný disk za běhu serveru?
Přispěvatel: student 18. 05. 2014, 20:20:03
Ked tam mate LVM, tak je kopirovanie vsetkych dat mozne (LVM snapshot a potom z neho); inak hrozi problem s rozbitymi suborami, ktore sa prave pridavali.
Bacha na to, ani snapshot nezaručuje konzistenci dat. Některé jednodušší databáze nezaručují konzistenci dat na disku v každém okamžiku.
To ano; zabudol som, ze je na to treba podmnozina ACID.

Ale tak mimochodom - taka DB neprezije tvrdy vypadok prudu a je dobra leda tak ako docasne ulozisko. Kto to ma, nech sa mu oblukom vyhnem?
Viem o tom, ze taka databaza-nedatabaza redis ma moznost syncovat len raz za niekolko sekund, ale to syncnute by uz malo prezit...
Název: Re:Mohou být všechna data nakopírována na jiný disk za běhu serveru?
Přispěvatel: Lol Phirae 18. 05. 2014, 21:34:09
Ale tak mimochodom - taka DB neprezije tvrdy vypadok prudu a je dobra leda tak ako docasne ulozisko. Kto to ma, nech sa mu oblukom vyhnem?

Bože bože... server s jedním diskem a navrch bez UPS?  ::)

To je blbost. Po zastaveni ten disk uz take nemusi najet.

Přesně. Viděl jsem již mnohokrát, i u disků, které žádné vady ve S.M.A.R.Tu najevo nedávaly.
Název: Re:Mohou být všechna data nakopírována na jiný disk za běhu serveru?
Přispěvatel: Mirek Prýmek 18. 05. 2014, 22:00:07
Ale tak mimochodom - taka DB neprezije tvrdy vypadok prudu a je dobra leda tak ako docasne ulozisko. Kto to ma, nech sa mu oblukom vyhnem?
Vicemene vsechny aplikace pouzivajici takovety male embedded databaze - pokud se nemylim, tak treba BDB, takze napr. ldap s timhle backendem. A nezachranit zrovna ldap by mohlo byt dost nemile prekvapeni...
Název: Re:Mohou být všechna data nakopírována na jiný disk za běhu serveru?
Přispěvatel: student 18. 05. 2014, 22:47:48
Ale tak mimochodom - taka DB neprezije tvrdy vypadok prudu a je dobra leda tak ako docasne ulozisko. Kto to ma, nech sa mu oblukom vyhnem?
Vicemene vsechny aplikace pouzivajici takovety male embedded databaze - pokud se nemylim, tak treba BDB, takze napr. ldap s timhle backendem. A nezachranit zrovna ldap by mohlo byt dost nemile prekvapeni...
Fuj, to vypada dost zle - narychlo som si nasiel, ze SQLite je ACID, takze tu snad problem nie je.
A v BDB sa oprava podla http://doc.gnu-darwin.org/transapp/recovery.html zda byt rozumna - kedze su tam zvlast log subory, tak by to mohlo fungovat. Ale neveril by som tomu.

Bože bože... server s jedním diskem a navrch bez UPS?  ::)
Nie nutne - mne sa za nieco ako 8 rokov v serverovni uz 3x stalo, ze UPS nepomohlo / nestacilo. Islo sice o chyby personalu serverovne a chybu, ze nenabehol diesel-agregat, ale stratit kvoli chybe v dodavke elektriny celu databazu sa mi zda byt v principe tak zle, ze by som takemu programu velmi neveril.
Název: Re:Mohou být všechna data nakopírována na jiný disk za běhu serveru?
Přispěvatel: Mirek Prýmek 18. 05. 2014, 23:14:20
Ale neveril by som tomu.
No prave.

ale stratit kvoli chybe v dodavke elektriny celu databazu sa mi zda byt v principe tak zle, ze by som takemu programu velmi neveril.
Tak od toho jsou zalohy zejo.
Název: Re:Mohou být všechna data nakopírována na jiný disk za běhu serveru?
Přispěvatel: student 19. 05. 2014, 00:49:10
ale stratit kvoli chybe v dodavke elektriny celu databazu sa mi zda byt v principe tak zle, ze by som takemu programu velmi neveril.
Tak od toho jsou zalohy zejo.
Tjn, mozno som predpokladal zlyhanie nejaky "zlym" sposobom. Ten najhorsi sposob je, ze sa o to aplikacia nestara, ono to nejaky cas (mesiac? Rok?) na pohlad funguje a potom napr. zalozenie uzivatela pouzije nejaky blby offset v DB, takze je DB FUBAR. Zaloha v takom pripade nemusi zachranit.

Zalohy si sice robim, ale velmi nerad ich obnovujem - typicky to znamena stratu novsich dat, dlhsi vypadok + je treba prist na to, kde je tam chyba a reagovat na to obnovou dat => z principu radovo dlhsia reakcna doba ako pri automatickom prehrani logov.
Název: Re:Mohou být všechna data nakopírována na jiný disk za běhu serveru?
Přispěvatel: Sten 19. 05. 2014, 00:53:25
Server s vadnými sektory
co nejnižšího výpadku

Precondition failed.

Jakmile je tam jen jediný disk, který odchází, OKAMŽITĚ se musí server vypnout. Každé další používání dost razantně zvyšuje pravděpodobnost, že odejdou další a další data, až nakonec odejde něco důležitého a nedostanete z toho už vůbec nic.

To je blbost. Po zastaveni ten disk uz take nemusi najet. Nejlepe zastavit aplikace, rsyncnout do zalohy. A pak eventuelne rebootnout do live distra a udelat dd, pokud to ten disk jeste zkousne.

To je otázka, ono to taky nemusí přežít vypínání těch aplikací, pokud budou hodně zapisovat. Ale point taken, takže asi nejrozumnější by bylo všechno vynuceně přepnout na read-only pomocí Magic SysRq:
Kód: [Vybrat]
echo u >/proc/sysrq-triggera potom ve stále běžícím systému to vykopírovat.
Název: Re:Mohou být všechna data nakopírována na jiný disk za běhu serveru?
Přispěvatel: Mirek Prýmek 19. 05. 2014, 06:16:09
Tjn, mozno som predpokladal zlyhanie nejaky "zlym" sposobom. Ten najhorsi sposob je, ze sa o to aplikacia nestara, ono to nejaky cas (mesiac? Rok?) na pohlad funguje a potom napr. zalozenie uzivatela pouzije nejaky blby offset v DB, takze je DB FUBAR. Zaloha v takom pripade nemusi zachranit.
Konkretne to bdb nekorektni data pozna hned pri otevirani. Nejaky silent corruption vlivem vadnych sektoru asi urcite ne, ale ten scenar s vykopirovanim zivych dat myslim ze jo (pokud vede k poskozeni).

Zalohy si sice robim, ale velmi nerad ich obnovujem - typicky to znamena stratu novsich dat, dlhsi vypadok + je treba prist na to, kde je tam chyba a reagovat na to obnovou dat => z principu radovo dlhsia reakcna doba ako pri automatickom prehrani logov.
To jo no. Ale taky jsme se bavili o scenari, kdy ma server RAID, vypadne napajeni a selze UPSka nebo agregat. Coz by se nemelo stavat ob den :)
Název: Re:Mohou být všechna data nakopírována na jiný disk za běhu serveru?
Přispěvatel: student 19. 05. 2014, 12:47:12
To jo no. Ale taky jsme se bavili o scenari, kdy ma server RAID, vypadne napajeni a selze UPSka nebo agregat. Coz by se nemelo stavat ob den :)
Tak to RAID nezmeni, takze to ani nemusi byt v podmienkach. A je tu este jeden dost vyrazny faktor - clovek. Mne uz sa stalo, ze technik omylom odpojil od napajania moj server namiesto "toho spravneho"... A ako tak rozmyslam, tak uzamykatelny rack tiez nemusi pomoct - rovnaka chyba sa da spravit aj u celeho racku.

A este podla Murphyho zakonov sa to sice nestava ob den, ale stane sa to, ked je na to najnevhodnejsia doba ;).
Název: Re:Mohou být všechna data nakopírována na jiný disk za běhu serveru?
Přispěvatel: Mirek Prýmek 19. 05. 2014, 14:03:56
Tak to RAID nezmeni, takze to ani nemusi byt v podmienkach.
Chtel jsem tim rict, ze serverer ma 3 urovne ochrany a vsechny selzou.