Zálohovanie je proces vytvárania kópie dôležitých dát s cieľom obnovy v prípade straty, chyby alebo katastrofy. Zabezpečuje ochranu údajov pred nechcenými udalosťami a umožňuje obnovenie systému na predchádzajúci stav.
Duplicati: Duplicati je open-source nástroj na zálohovanie, ktorý poskytuje flexibilné možnosti zálohovania a obnovy. Tento software je multiplatformový a podporuje šifrovanie a kompresiu. Duplicati umožňuje zálohovať do rôznych typov úložísk, vrátane cloudových služieb ako Azure Storage.
Možnosti zálohovania pomocou Duplicati:
- Rôzne typy úložísk: Duplicati umožňuje zálohovanie na rôzne typy úložísk vrátane lokálnych diskov, sieťových úložísk a cloudových služieb.
- Šifrovanie: Poskytuje silné šifrovanie pre zabezpečenie citlivých údajov, ktoré môžu byť uložené v cloude.
- Kompresia: Podporuje kompresiu dát, čo znižuje veľkosť zálohových súborov a šetrí úložný priestor.
- Plánovanie záloh: Duplicati umožňuje nastavenie plánovaných úloh zálohovania, čo uľahčuje automatické pravidelné zálohovanie dát.
- Verzirovanie: Podporuje verzirovanie záloh, čo umožňuje obnoviť údaje z rôznych časových bodov.
- Integrácia s cloudovými službami: Duplicati je schopný zálohovať dáta do rôznych cloudových úložísk, vrátane Azure Storage, čím zabezpečuje flexibilitu a dostupnosť údajov.
Duplicati je populárny pre svoju otvorenosť a flexibilitu v nastaveniach, čo umožňuje používateľom prispôsobiť si svoje zálohovacie potreby podľa konkrétnych požiadaviek.
Návrh architektury:
Inštalácia Duplicati servera:
Inštalácia balíkov
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb https://download.mono-project.com/repo/ubuntu stable-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
sudo apt update
sudo apt install mono-devel gtk-sharp2 libappindicator0.1-cil libmono-2.0-1
sudo apt install apt-transport-https nano git-core software-properties-common dirmngr -y
Inštalácia Duplicati:
wget https://updates.duplicati.com/beta/duplicati_2.0.7.1-1_all.deb
apt install ./duplicati_2.0.7.1-1_all.deb
Štart aplikácia s operačným systémom:
sudo nano /etc/systemd/system/duplicati.service
[Unit]
Description=Duplicati web-server
After=network.target
[Service]
Nice=19
IOSchedulingClass=idle
EnvironmentFile=-/etc/default/duplicati
ExecStart=/usr/bin/duplicati-server $DAEMON_OPTS
Restart=always
[Install]
WantedBy=multi-user.target
Konfigurácia Duplicati:
sudo nano /etc/default/duplicat
# Defaults for duplicati initscript
# sourced by /etc/init.d/duplicati
# installed at /etc/default/duplicati by the maintainer scripts
#
# This is a POSIX shell fragment
#
# Additional options that are passed to the Daemon.
DAEMON_OPTS="--webservice-interface=any --webservice-port=8200 --portable-mode"
Aktivovanie systemd služby
sudo systemctl enable duplicati.service
sudo systemctl daemon-reload
sudo systemctl start duplicati.service
sudo systemctl status duplicati.service
Vytváranie záloh fileshare pomocou duplicati je možné rozdeliť do viacerých krokov:
Vytvorenie Nového Úložiska:
- Kliknite na “Add backup” (Pridať zálohu) na hlavnej stránke Duplicati.
Nastavenie Zálohovanej Adresárovej Štruktúry:
- Vyberte adresár alebo súbory, ktoré chcete zálohovať.
Nastavenie Cieľa Zálohy:
- Vyberte miesto, kam sa majú dáta zálohovať. Môže to byť cloudové úložisko (napríklad Google Drive, Dropbox) alebo lokálny disk.
Nastavenie Plánu Zálohovania:
- Vyberte časový plán pre automatické spúšťanie záloh (napr. denne, týždenne).
Nastavenie Šifrovania a Hesiel:
- Ak chcete zabezpečiť svoje dáta, môžete nastaviť šifrovanie a heslá.
Štart Zálohovania:
- Kliknite na tlačidlo “Save” alebo “Backup now” (Uložiť alebo Zálohovať teraz) a Duplicati začne proces zálohovania.
Nastavenie zálohovania:
Nastavenie kde sa majú dáta ukladať:
Definovanie čo sa má zálohovať:
Definovanie kedy sa má vykonať záloha:
Retencia záloh (známa aj ako uchovávacia doba) je časový rámec, počas ktorého sú zálohy udržiavané alebo archivované predtým, než sú vymazané alebo prepísané novými dátami. Je to dôležitý koncept v stratégii zálohovania, pretože ovplyvňuje, koľko starých verzií dát je dostupných na obnovenie.
Existujú dva hlavné typy retencie záloh:
- Záloha s plnou retenciou (Grandfather-Father-Son):
- Denne (Son): Zálohy sa robia každý deň, uchovávajú sa počas niekoľkých dní.
- Týždenne (Father): Jedna z každej týždňovej zálohy sa uchováva na dlhší čas (napríklad niekoľko týždňov).
- Mesačne (Grandfather): Jedna z každého mesiaca sa uchováva ešte dlhšie (napríklad niekoľko mesiacov alebo dokonca rokov).
- Lineárna retencia:
- Táto metóda znamená uchovávanie záloh počas pevne stanoveného časového obdobia, bez ohľadu na ich frekvenciu. Napríklad, môžete si nastaviť, aby sa každá záloha uchovávala počas posledných 7 dní, potom sa zmazala.
Príklad:
- Ak máte každodenné zálohy a nastavenú týždennú retenciu na 4 týždne a mesačnú retenciu na 6 mesiacov:
- Posledné 4 každodenné zálohy zostanú uložené.
- Posledné 4 týždenné zálohy zostanú uložené.
- Posledné 6 mesačných záloh zostanú uložené.
Tento prístup k retencii záloh umožňuje užívateľom obnoviť dáta z rôznych časových období a chráni pred stratou dát z dôvodu náhlej zlyhania alebo iných problémov. Je dôležité starostlivo plánovať a prispôsobiť retenciu záloh podľa špecifických potrieb organizácie alebo jednotlivca.
Finálne nastavenie:
Pripojenie Fileshare:
sudo mkdir /mnt/inv
if [ ! -d "/etc/smbcredentials" ]; then
sudo mkdir /etc/smbcredentials
fi
if [ ! -f "/etc/smbcredentials/dev.cred" ]; then
sudo bash -c 'echo "username=dev" >> /etc/smbcredentials/dev.cred'
sudo bash -c 'echo "password=CV42tfo1Qi+rxdB6BkeyKI6sti0LmNmgDWMbeQVr2vtkV+AStcJGrQw==" >> /etc/smbcredentials/dev.cred'
fi
sudo chmod 600 /etc/smbcredentials/dev.cred
sudo bash -c 'echo "//dev.file.core.windows.net/inv /mnt/inv cifs nofail,credentials=/etc/smbcredentials/dev.cred,dir_mode=0777,file_mode=0777,serverino,nosharesock,actimeo=30,ro" >> /etc/fstab'
sudo mount -t cifs //dev.file.core.windows.net/inv /mnt/inv -o credentials=/etc/smbcredentials/dev.cred,dir_mode=0777,file_mode=0777,serverino,nosharesock,actimeo=30
Pri zálohovaní je možné spustiť vytvorený script, ktorý pred vykonaním zálohy pripojí dané úložisko a po skončení zálohy úložisko odpojí.
Pri spustení skriptu pred zálohovaním (predzálohovací skript) a po zálohovaní (pozálohovací skript) ide o spúšťanie špecifických skriptov alebo príkazov pred a po vykonaní procesu zálohovania. Tieto skripty môžu byť použité na prispôsobenie a automatizáciu rôznych úloh v súvislosti so zálohovaním dát. Tu sú niektoré možnosti, ako môžu byť tieto skripty využité:
Predzálohovací skript:
- Príprava prostredia:
- Nastavenie prostredia pred zálohovaním, napríklad vytvorenie potrebných adresárov alebo nastavenie premenných prostredia.
- Vymazanie starých záloh:
- Automatické vymazanie starých záloh alebo ich častí pred novým zálohovaním na uvoľnenie miesta alebo zlepšenie efektívnosti zálohovania.
- Overenie dostupnosti zdrojových dát:
- Skript môže zabezpečiť, že všetky potrebné zdrojové dáta sú k dispozícii a sú v správnom stave pred spustením procesu zálohovania.
Pozálohovací skript:
- Overenie úspešnosti zálohy:
- Skript môže skontrolovať úspešnosť zálohovania a vyhodiť upozornenie alebo zaznamenať správu v prípade neúspechu.
- Spracovanie logov:
- Analýza logov zálohovania a zaznamenanie informácií o zálohe, čo môže byť užitočné pre budúce auditovanie alebo sledovanie zmien.
- Upozornenia a oznámenia:
- Posielanie upozornení alebo oznámení o úspešnom alebo neúspešnom zálohovaní, aby boli správy o stave záloh dostupné správcom systému.
- Archivácia a kompresia záloh:
- Skript môže vykonať archiváciu alebo kompresiu záloh, čo môže šetriť miesto na úložisku a zlepšiť rýchlosť prenosu dát.
Používanie predzálohovacích a pozálohovacích skriptov poskytuje možnosť prispôsobenia a automatizácie zálohovacích procesov na základe konkrétnych požiadaviek alebo podnikateľských pravidiel. Tieto skripty môžu byť implementované vo viacerých jazykoch, ako sú Bash, PowerShell, Python atď., v závislosti od preferencií a prostredia.
Odborník na kybernetickú bezpečnosť, správu Azure Cloud a VMware onprem. Využíva technológie, ako Checkmk a MRTG, na monitorovanie siete a zvyšovanie efektívnosti a bezpečnosti IT infraštruktúry. Kontakt: hasin(at)mhite.sk