Dobrý den,
potřeboval bych zálohovat běžící server přes ssh, ale nevím jak na to.
doma na lokále disky zálohuji pres dd v jednouživatelském režimu do image ....
Jenže na serveru běží databáze, lze tedy udělat kompletní zálohu disku např. /dev/sda bez toho, aniž bych musel server odstavit ?
Nemám s tím zkušenost, ale selský rozum říká, že pokud aplikace zapisují na disk, možnosti se liší podle toho jaká data chceš mít v záloze v konzistentním stavu.
1) chceš-li mít všechna zálohovaná data a stavy služeb v konzistentním stavu a služby neumožňují za běhu vytvářet snapshoty, případně nepoužívají nějaké vlastní journalovací metody, je nutné služby korektně vypnout a nejlépe korektně vypnout celý server a zálohu provést třeba z live distribuce nebo připojit vše readonly, tak aby po čas zálohy nedocházelo ke změně dat. Tedy server odstavit.
2) chceš-li mít zálohovaný souborový systém konzistentní (aby journal odpovídal datům na disku), ale nezáleží ti na stavu aplikací, tj. jako kdyby jsi počítač natvrdo vypnul, stačí vytvořit snapshot souborového systému (podporuje-li to) a zálohovat snapshot. Případně zjistit jestli jednotlivé aplikace (třeba ta databáze) nepodporují vytváření snapshotů a zkombinovat zálohu snapshotu souborového systému se zálohami snaphostů aplikací. Myslím, že tohle řešení většinou stačí.
Pokud nelze vytvořit snapshot souborového systému a musíš skutečně vytvořit kompletní zálohu, tak kromě vypnutí serveru, je alternativou všechny služby zapisující na disk zmrazit pomocí freezer subsystému cgroups, potom sync, provést zálohu a potom služby rozmrazit. Služby vypadnou tak jako tak, ale ušetříš si restart serveru. Nebo zmrazovat služby postupně - vždy jednu službu zmrazit, sync, záloha jejích dat, rozmrazit.
Děkuji za odpovědi, vyzkouším
Mám VPS a u dřívějšího poskytovatele se dal jednoduše zazálohovat server pře webovou administraci a následně obnovit, u nynějšího tuto službu bohužel postrádám ... :-(