Portál AbcLinuxu, 11. května 2025 06:52

Dotaz: Kompletní záloha disku

12.3.2008 23:47 happymaster23 | skóre: 9
Kompletní záloha disku
Přečteno: 2754×
Odpovědět | Admin
Zdravím,

řeším problém jak pravidelně provádět zálohu SW RAIDu 1 na další disk. Pravidelně půjde vyřešit pomocí Cronu a na samotnou zálohu by se mohl hodit dd, tedy u mě konkrétně
dd if=/dev/md0 of=/dev/hda conv=noerror
Na celém řešení je elegantní to, že disk nemusí být namontovaný a dokonce ani nemusí být zformátovaný, protože se na něj přenese (vyjma MBR - to je mimo md) 1:1 kopie pole, takže už bude stačit přidat stejný zavaděč jaký mají jednotky v md a z takové zálohy se dá rovnou bootovat. Nevýhoda tohoto typu zálohy je, že kopíruje i prázdné místo, což je těžce neefektivní a proto hledám jiný způsob, který by byl maximálně elegantní a kopíroval obsah pole takovým způsobem, aby to co je v poli bylo i v záloze (tedy včetně práv, atd...) a taková záloha tedy byla přesným imagem toho co je v poli.

Díky za odpovědi
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

13.3.2008 00:21 Messa | skóre: 39 | blog: Messa
Rozbalit Rozbalit vše Re: Kompletní záloha disku
Odpovědět | | Sbalit | Link | Blokovat | Admin
rdiff-backup - a budeš to mít i inkrementálně :-)

Případně obyčejný tar.

AFAIK zálohování na úrovni filesystému bude bezpečnější. Při "zálohování" disku pomocí dd trvá nějakou dobu, než se dostaneš od začátku do konce, a když se s diskem aktivně pracuje, může být "záloha" celkem rozhozená. Navíc když pracuješ s diskem prostě jako s blokovým zařízením, kde je volné místo se asi prostě nijak nedozvíš (bez ošklivých triků).
13.3.2008 00:24 Messa | skóre: 39 | blog: Messa
Rozbalit Rozbalit vše Re: Kompletní záloha disku
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ještě něco - když tu zálohu uděláš takhle, tak tam pak už žádný zavaděč stejně nepřidáš (bez poškození dat) a bootovat z toho nepůjde.
13.3.2008 07:44 happymaster23 | skóre: 9
Rozbalit Rozbalit vše Re: Kompletní záloha disku
Díky, máš pravdu, že dd je nepoužitelný... To co říkáš vyzkouším, ale ještě mě napadla jedna věc - cp. Nemá náhodou nějaké flagy, které by se o to postaraly? Já jsem si všiml například --archive a --backup, ale nějak tak si nejsem jistý jak fungují a nemám čas to zkoušet...

Díky za odpověďi
13.3.2008 09:58 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Kompletní záloha disku
--archive by mohlo stačit, obsahuje i --preserve a co to zachovává je v man cp | grep -A 3 -- --preserve když to tedy nemáte čas číst celý :D Ale jinak v časové tísni bych moc nevymýšlel a použil bych rsync, je k tomu určený příkladů je všude mraky.
13.3.2008 11:13 Petr Holík
Rozbalit Rozbalit vše Re: Kompletní záloha disku
Dobry den,

pokud s daty v prubehu zalohy pracujete, a chcete mit skutecne konzistentni zalohu k urcitemu datu. Doporucuji nad MD polem udelat LVM, ktere ma funkce pro tvorbu SnapShotu, ktere jse pro zalohovani idealni.

BTW: pokud pisete ze pouzivate SW raid 1 tak neni problem do pole pridat dalsi disk a data mit soucasne na 3 discich a nemusiste nic resit. Teoreticky tim i zvysite rychlost cteni( mirne na ukor zapisu).
13.3.2008 12:48 Messa | skóre: 39 | blog: Messa
Rozbalit Rozbalit vše Re: Kompletní záloha disku
ad BTW: pro jistotu přidám další btw :-) Ale neřeší to to volné místo.
13.3.2008 13:06 happymaster23 | skóre: 9
Rozbalit Rozbalit vše Re: Kompletní záloha disku
Přidat ten disk do RAIDu nechci, protože celý vtip je v tom, že chci vytvářet pravidelné (denní) zálohy, které mě budou chránit před vlastní blbostí a nebo před nějakým totálním rozpadem md...

Nuže jsem nad tím uvažoval a nejlepší bude asi ten rdiff-backup (jediná škoda je, že ho CentOS nemá v repozitářích, tak si stáhnu RPM pro RHEL a mělo by to fungovat). Jak jsem tak pročítal dokumentaci, tak celý vtip spočívá v příkazu rdiff-backup "zdroj" "cíl" a neběží jako démon, takže se musí tento příkaz přidat do Cronu. Taky doufám, že se v záloze projevuje i to, když se soubor ve zdroji smaže.

...jsem si říkal, že toto (spolu s omezením SSH přístupu z jedné IP)bude to nejjednodušší a největší hrůzu jsem měl z rozchození RAIDu, no opak je pravdou.
13.3.2008 14:06 happymaster23 | skóre: 9
Rozbalit Rozbalit vše Re: Kompletní záloha disku
No tak to je nádhera ;) Já jsem vymýšlel různé fantasmagorie a přitom rdiff-backup je Elegatní řešení s velkým E. Funguje naprosto svkěle a zálohuje jenom to, co se změnilo, takže záloha je extrémně rychlá a může se provádět i ve dne... Kde to má schované metadata?

Na jeden problém jsem nicméně narazil. Vzhledem k tomu, že chci zálohovat celý / tak je problém v tom, že ta přimontovaná záloha se začne sama ve smyčce zálohovat a skončí to tak, že dojde volné místo. Dá se nějak jednoduše nějakým parametrem ze zálohování vyjmout právě ten adresář kam se ta záloha ukládá a nebo budu muset do Cronu otrocky vypsat všechny adresáře v / vyjma toho záložního?

Díky moc za rady
13.3.2008 15:38 Messa | skóre: 39 | blog: Messa
Rozbalit Rozbalit vše Re: Kompletní záloha disku
Myslím, že to půjde. V man stránce jsou popsány možnosti pro vyjmutí určitých souborů ze zálohování. A metadata se ukládají v "kořenovém" adresáři zálohy, poznáte ho podle názvu (teď přesně nevím jak se jmenuje). V té záloze raději nic neměňte, všechny změny (např. smazání starých "inkrementů") provádějte přes rdiff-backup. BTW mám takový pocit, že soubory, které jste smazal, se v záloze dokonce i zkomprimují :-)
13.3.2008 16:36 happymaster23 | skóre: 9
Rozbalit Rozbalit vše Re: Kompletní záloha disku
Takže už to mám! Mocný příkaz vypadá takto:
rdiff-backup --force --exclude /proc --exclude /data / /data
Force se tam dává jenom při prvotním tvoření zálohy, potom už ne. /proc se musí přidat proto, protože je to jednak zbytečné zálohovat a taky protože záloha vyhodí hodně chyb a dostane se do nějaké smyčky, ze které se už nedostane.

Takže do takové zálohy už stačí přidat (prázdný?) adresář /proc a přidat zavaděč a dá se bootovat, ne? ;)

BTW spoustu errorů to vyhodí u adresáře /sys (záloha se sice zpomalí, ale nesekne a pokračuje), takže moje otázka následuje - k čemu vlastně ten /sys je? Co kdybych ho taky vyjmul ze zálohování?

BTW2: Adresář, kde se ukládají metadata se jmenuje rdiff-backup-data a je v rootu zálohy...
13.3.2008 16:59 Messa | skóre: 39 | blog: Messa
Rozbalit Rozbalit vše Re: Kompletní záloha disku
/sys je něco jako /proc, také virtuální filesystém tvořený kernelem a je zbytečné ho zálohovat. Vlastně všechno, co je v /proc a co se netýká nějakého konkrétního procesu, by mělo být "správně" v /sys (AFAIK; existují různé standardy, doporučení a názory ohledně hiearchie fs).
13.3.2008 20:38 happymaster23 | skóre: 9
Rozbalit Rozbalit vše Re: Kompletní záloha disku
Díky za odpověď,

nuže jsem do crontab přidal:
00 4 * * * root rdiff-backup --exclude /proc --exclude /data --exclude /sys / /data
Tedy aby ve čtyři hodiny ráno spustil tento příkaz, přenastavil jsem čas na 3:55 (2:55 v BIOSu) a čekal... ...no nic se bohužel nestalo...

Nevíte, kde by mohla být chybka? ;)

Ještě potřebuji jednu věc - aby se disk před zálohou přimontoval a po záloze zase pěkně odmontoval (aby se předešlo nepěkným následkům např. takového rm -rf / :D (je to sice pravděpodobnost jedna ku miliardě, ale co kdybych měl nějakou chvilkovou slabost :D). Napadlo mě tedy to uložit do nějakého souboru (pracovně mu říkejme třeba backup.sh) kde by se to provedlo jako dávka - je to možné a nebo je to složitější?

Díky moc
13.3.2008 21:05 Jan Šimák | skóre: 37 | Hradec Králové
Rozbalit Rozbalit vše Re: Kompletní záloha disku
Např takto:
mount .... && rdiff-backup ... && umount ...
13.3.2008 21:06 Messa | skóre: 39 | blog: Messa
Rozbalit Rozbalit vše Re: Kompletní záloha disku
Do dávky to uložit samozřejmě můžete. Nebo to snad půjde napsat i do toho crontabu:
0 4 * * * root mount /dev/co /data && rdiff-backup ... && umount /data
Nevím co používáte za cron (a i kdybych to věděl tak bych stejně neuměl poradit o moc víc). Možná musíte po editaci crontabu spustit nějaký příkaz nebo vám cron možná ani neběží... (Nevím, jen se snažím tipovat.)
14.3.2008 20:19 happymaster23 | skóre: 9
Rozbalit Rozbalit vše Re: Kompletní záloha disku
Děkuji moc,

vše šlape jako hodinky!

Do /etc/crontab jsem přidal následující:
00 3 * * * root mount /dev/md2 /data && rdiff-backup --exclude /proc --exclude /sys --exclude /data / /data && umount /dev/md2
(zatím vše jenom testuji, takže názvy jednotek nejsou definitivní - abyste se neptali proč ten backup adresář bude na md ;) )

Celý vtip a problém Cronu je ten, že se musí spustit crontab /etc/crontab aby se změny zapsaly.

Takže vše funguje tak jak má, tak jak jsem si to představoval ve svých růžových snech!

Ještě jednou vám všem děkuji. To je obrovská zbraň GNU/Linuxu, obrovské množství lidí schopných a kompetentních pomoct! ;)
14.3.2008 21:35 Ash | skóre: 53
Rozbalit Rozbalit vše Re: Kompletní záloha disku
Zkuste crontab -e, mohlo by to spustit editaci crontab $EDITORem a po uložení aplikovat změny.
13.3.2008 19:42 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: Kompletní záloha disku
Pokud je celý systém na jednom filesystému (kromě /proc, /sys), měl by stačit parametr --exclude-other-filesystems.
13.3.2008 20:10 happymaster23 | skóre: 9
Rozbalit Rozbalit vše Re: Kompletní záloha disku
Díky za odpověď,

to je zajímavé řešení, ovšem právě kamenem úrazu je to, že je tam ještě ten druhý filesystem, kde jsou data...
13.3.2008 21:01 Jan Šimák | skóre: 37 | Hradec Králové
Rozbalit Rozbalit vše Re: Kompletní záloha disku
Dalším takovým filesystémem/adresářem je ještě /dev
13.3.2008 21:11 Messa | skóre: 39 | blog: Messa
Rozbalit Rozbalit vše Re: Kompletní záloha disku
To je někdy pravda, ale IMHO při obnovování systému bych adresář /dev spíš chtěl mít než nemít :-)
michich avatar 13.3.2008 14:13 michich | skóre: 51 | blog: ohrivane_parky
Rozbalit Rozbalit vše Re: Kompletní záloha disku
rdiff-backup (jediná škoda je, že ho CentOS nemá v repozitářích, tak si stáhnu RPM pro RHEL a mělo by to fungovat).
V CentOS to není, protože to není v Red Hat Enterprise Linuxu. Ale je to v EPEL.
13.3.2008 20:11 happymaster23 | skóre: 9
Rozbalit Rozbalit vše Re: Kompletní záloha disku
Díky moc za link na ten EPEL, hnedka jsem si ten repozitář přidal do yumu... To vyřešilo jedinou věc, co mi na CentOS vadila - omezený výběr balíčků. Ještě jednou díky za tip!
13.3.2008 18:34 diverman | skóre: 32 | blog: život s tučňáčkem
Rozbalit Rozbalit vše Re: Kompletní záloha disku
taktez se primlouvam za LVM, se snapshoty lze pracovat jako s blokovym zarizenim, nebo mountovat jako ro nebo i rw
deb http://ftp.cz.debian.org/debian jessie main contrib non-free
13.3.2008 20:17 happymaster23 | skóre: 9
Rozbalit Rozbalit vše Re: Kompletní záloha disku
No ten rdiff-backup už mám odladěný a vzhledem k tomu, že mě fakt tlačí čas a to ještě musím vyřešit přihlašování a potom všecko nainstalovat načisto (momentálně totiž běžím na takových postarších testovacích discích, protože bych nerad při "testech výpadku disku v RAIDu *" :D zabil nové WD RE2 :D) a tak už na další experimenty nemám čas. Ale díky za tip.

* Testem se myslí odpojení napájení disku za chodu :D
13.3.2008 21:31 Jiří (BoodOk) Kadeřávek | skóre: 19 | blog: BoodOk | Brno
Rozbalit Rozbalit vše Re: Kompletní záloha disku
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jak se rdiff-backup popere s hardlinky?
Věda má v sobě určitou zpupnost, že čím dokonalejší techniku vyvineme, čím více se dozvíme, tím lepší budou naše životy.
13.3.2008 21:41 Messa | skóre: 39 | blog: Messa
Rozbalit Rozbalit vše Re: Kompletní záloha disku
Popere. V mirror_metadata si u relevantních souborů uvádí počet hardlinků i inode a i velikost zálohy odpovídá.
15.3.2008 08:38 Kroko | skóre: 22
Rozbalit Rozbalit vše Re: Kompletní záloha disku
Odpovědět | | Sbalit | Link | Blokovat | Admin
jak to vypadá s obnovou pak? já dělám zálohovaní pomocí vlastních skriptů a tar
http://kroko.evesnight.net

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.