Zálohování Windows serverů /zkopírováno z fóra/

Je mnoho způsobů, jak zálohovat současné verze Windows Serverů (tj. řekněme Windows Server 2008 – 2012 R2) – chtěl bych zde shrnout hlavně pár způsobů, která sám v praxi používám a nevyžadují žádné další investice, kromě času stráveného s konfigurací. Většinou se jedná o kombinace různých nástrojů a i samotné způsoby zálohování mezi sebou kombinuji, kvůli redundanci a většímu úspěchu při nápravě ztráty dat (recovery disaster).

Několik obecných zásad při zálohování:

  1. Zálohujte hned jak pro vás začnou být data důležitá a zálohy pravidelně kontrolujte. Ve většině případů nestačí zálohování pouze nakonfigurovat a nechat svému osudu. Téměř každý server je živé, neustále se měnící prostředí a někdy i ztráta dat za posledních pár minut může znamenat značné škody. Proto přizpůsobte zálohování hlavně těmto potřebám. Vhodný způsob kontroly je nechat si zasílat e-mail (například powershell na to má hezkou funkci Send-MailMessage), nebo v rozsáhlejších sítích, příjde vhod sledování průběhu záloh přes Nagios/Icinga, atp. K nejčastějším důvodům zastavení zálohování je vyčerpání kapacity úložiště pro zálohy, nebo změna prostředí (změna uživatelského hesla, názvu serveru, názvu sdíleného disku, změna souborových práv a jiné).
  2. Z hlediska bezpečnosti je vždy vhodné používat alespoň jeden způsob zálohování “pull” metodou (tzn. že iniciujeme zálohu z jiného než zálohovaného stroje a zpravidla na něj data i ukládáme), aby server neměl přístup k vlastním zálohám. V dnešní době, kdy se začaly objevovat různé ransomwary (které často nenávratně zašifrují všechna data na která dosáhnou – takže i ta na síti), nelze spoléhat na to, že stačí zálohu nakopírovat někam do sdílené složky. Pokud přesto používáte pouze “push” metodu, zapněte na cílovém serveru minámálně shadow copy, nebo vytvářejte lokální kopii zálohy ještě jiným způsobem.
  3. Používejte verzování záloh a pokud to jde, nespoléhejte se pouze na inkremetální/diferenciální zálohy. Alespoň jednou za čas je dobré vytvořit úplnou zálohu. Může se totiž stát, že první záloha bude nějakým způsobem poškozená a nakonec o data stejně příjdete. Na pomalejších sítích to je poměrně velký luxus, ale i tak by vás to němělo odradit od toho, abyste jednou za čas připojili alespoň externí disk a data překopírovali.
  4. Nezapomeňte na offline zálohy, jako na poslední stupeň zálohování. Je stále spousta možností, jak offline zálohy dělat – externí disk, velkokapacitní DVD či jiná optická média, magnetické pásky, atd. I starší záloha může zachránit mnoho, když už nezbývá nic jiného.
  5. Pokud zálohujete víc serverů – veďte si dokumentaci. Stačí obyčejná tabulka, do které si zapíšete odkud, kam se zálohují jaká data, kde a v kolik hodin se záloha iniciuje a hlavně jakým způsobem záloha probíhá. Tím získáte krásný přehled a předejdete situacím, kdy sami zapomenete, jak zálohování probíhá, nebo že po Vás ve firmě časem zbyde nefunkční zálohování a s tím spojené problémy, které mohou končit nenávratnou ztrátou dat.
  6. Předcházejte aktivně ztrátám dat. Nakupujte do serverů disky z různých sérií, používejte RAID, který bude dostatečně tolerantní na chyby způsobené hardwarem, kontrolujte pravidelně stav RAID, nebo si rovnou nechte zasílat upozornění o chybách. Kontrolujte disky přes S.M.A.R.T.

Způsoby, kterými můžete Windows Servery zálohovat (nejlepší je, jak jsem výše zmínil, používat jejich kombinace):

  1. Windows Server Backup (dříve úžasný ntbackup):
    Je vhodný pro úplné i diferenciální zálohování, zálohy se vedle vlastních meta dat ukládají do VHD disků (virtuálních disků) a lze je v základu pohodlně konfigurovat nebo z nich obnovovat data. Vše je klikací, intuitivní a jsou zde i logy, na které můžete napojit například skript, který Vám zašle e-mail při chybě. Na druhou stranu přichází problém, když si chcete upravit časy zálohování, nebo vytvořit víc zálohování pomocí Windows Server Backup na jednom serveru. Pak je nutné si pohrát s Plánovačem událostí (kde jsou zálohy pod Windows -> Backup) anebo vytovřit si vlastní událost s voláním programu wbadmin.exe s vlastními parametry. Nejvhodnější je ukládat data do iSCSI oddílu (případně lokálně do oddílu na samostatném harddisku), u kterého je podporováno verzování. Počet uchovávaných verzí je pak závislý na velikosti oddílu.
  2. Robocopy:
    Konzolová utilita, kterou najdete v každém novějším Windows Serveru. Umí vytvářet úplné zálohy i přes SMB a její předností je určitě i to, že si dobře rozumí s NTFS – například umí pracovat se souborovými “flagy”. Osobně ji moc nepoužívám, ale může se hodit.
  3. Rsync:
    Není to sice nástroj, který najdete v základu Windows Serveru, nedoinstalujete ho ani přes funkce – musíte ho stáhnout a nainstavat. Rsync (respektive cwRsync) je fajn, umožňuje vytvářet úplné i diferenciální zálohy. Pokud si vše správně naskriptujete, získáte tím jednoduchý, ale účinný zálohovací mechanismus. Při přenosu dat po síti rsync umožňuje využít komprimační mechanismus, podporuje přenos přes ssh i vlastní rsync protokol (v tom případě je nutné zapnout na některém ze serverů rsync server – osvědčil se mi především DeltaCopy, který v sobě má i rsync klienta, který navíc umí vytvářet plánované úlohy). V některých případech je ale potřeba si základní instalaci DeltaCopy poměrně složitým způsobem zaktualizovat, aby podporovala kódování UTF-8 (prokletý jest český člověk:).
  4. Rdiff-Backup:
    Opět utilita, kterou ve Windows Serveru nenajdete, ale není problém ji stáhnout a doinstalovat. Je naprogramovaná v Pythonu, ale existuje i nativní binárka pro Windows. Na Rdiff-Backup jsem narazil již před mnoha léty a už tenkrát jsem z něj byl nadšený a dal bych ruku do ohně za to, že za ty roky je už dobře odladěný a stabilní. V principu funguje podobně, jako rsync, protože používá jeho knihovnu librsync. Jeho hlavními výhodami je, že umí verzovat a s SMB UNC cestami (např. \\server\zaloha) si poradí snad ještě líp, než rsync – alespoň tedy v PowerShellu (slyšel jsem o problémech se soubory většími než 2GB, ale to se mi zatím nepotvrdilo). Mimo to (a mimo další věci) umí Rdiff-Backup zálohy ukládat i přes vzdálený SSH server.
  5. Areca a další
    Tento skromný přehled bych uzavřel softwarem Areca, který toho umí také hodně a má navíc grafické udělátko (GUI) na konfiguraci zálohování. Umí vytvářet úplné, inkrementální i diferenciální zálohy (mimo to i tzv. delta zálohy, což jsou zálohy pouze změněných částí souborů), podporuje šifrování, verzování, atd. Mě na něm osobně vadí jeho menší nepřehlednost, ale věřím že má své příznivce a že mu jde přijít na chuť.
    A Arecou to samozřejmě nekončí, jsou další zajímavé softwary na zálohování (nejen) Windows Serverů. Zmínil bych zde například software Bacula, který je ale poměrně robustní a na Windows běží pouze jeho klientská část (pokud se nic nezměnilo), nebo BackupPC, který by bylo vhodné nasazovat také spíše do rozsáhlejších sítí.

O zálohování serverů by se toho dalo napsat ještě mnohem víc, jednotlivá témata by se dala rozvinout, způsoby zálohování zdokonalit. Proto nechávám tuto diskusi otevřenou pro veřejnost, abyste mohli sdílet své zkušennosti…