Áttekintés
Környezet beállítása
Biztonsági mentések
Automatizálás
Felújítás
Áttekintés
Míg a Vultr rendelkezik biztonsági mentési rendszerrel a teljes rendszerképekhez, ez blokkszinten működik, és megköveteli, hogy a biztonsági másolatot visszaállítsák egy virtuális gépre, mielőtt az adatok visszaállíthatók volna. Ezenkívül a biztonsági másolatok csak rövid ideig tárolódnak, és nem nyújtanak valódi növekményes biztonsági mentési megoldást.
Enter Duplicity – A Duplicity a legendás rsync-re épül, és lehetővé teszi növekményes biztonsági mentések tárolását, valamint a nyugalmi adatok titkosítását a GPG-n keresztül. Posix-kompatibilis, és csak a deltákat továbbítja a biztonsági mentések között, így csökkenti a teljes sávszélesség-igényt.
Környezet beállítása
Terminológia
- Forrásgazda – Szerver, amelynek adatairól biztonsági másolat készül. Ennek az oktatóanyagnak az IP-címe: 10.1.10.1
- Biztonsági mentési gazdagép – Célszerver a biztonsági mentésekhez. Ennek az oktatóanyagnak az IP-címe: 10.1.10.2
- /backupdir – Az oktatóanyagban biztonsági mentésekhez használt forráskönyvtár a forrásgazdagépen. Ezt módosíthatja, hogy megfeleljen a környezetének.
- /destdir – A biztonsági mentéshez használt célkönyvtár ebben az oktatóanyagban. Ezt módosíthatja, hogy megfeleljen a környezetének.
- Teljes biztonsági mentés – A forrásadatkészlet teljes másolata.
- Növekményes biztonsági mentés – Az utolsó biztonsági mentés óta végrehajtott összes módosítás másolata.
A Duplicity telepítése
Ubuntu 14.04:
sudo apt-get update
sudo apt-get install duplicity python-paramiko
CentOS (EPEL szükséges):
sudo yum install duplicity python-paramiko
Ubuntu 12.04/Debian 7:
sudo apt-get update
sudo apt-get install ncftp python-paramiko python-pycryptopp lftp python-boto python-dev librsync-dev
wget https://launchpad.net/duplicity/0.7-series/0.7.02/+download/duplicity-0.7.02.tar.gz
tar xzvf duplicity*
cd duplicity*
sudo python setup.py install
Forrásból kell telepítenünk, mivel a Debian 7 és Ubuntu 12.04 Duplicity csomagja a háttér SSH-könyvtár változása miatt meghibásodott.
Ellenőrizze még egyszer, hogy a Duplicity telepítve van-e a következő futtatásával:
duplicity -v
A következő kimenetet kell visszaadnia (a verzió eltérő lehet):
duplicity 0.6.18
Kulcs nélküli hitelesítés beállítása SSH-hoz
A következő lépés az SSH tanúsítványalapú hitelesítésének beállítása a biztonsági mentési gazdagép és a forrásgazda között. Ez lehetővé teszi a forráskiszolgáló számára, hogy jelmondat beírása nélkül SSH-t küldjön a biztonsági mentési gazdagépre. A Vultrnak van egy nagyszerű cikke, amely elmagyarázza, hogyan kell ezt megtenni: Hogyan generálhatok SSH-kulcsokat .
Biztonsági mentések
Az első (teljes) biztonsági mentés futtatása
Futtassunk teljes biztonsági mentést! Ez elküldi az adatok teljes másolatát a forráskiszolgálóról a célállomásra.
duplicity full -v --no-encryption --include="/sourcedir/" --exclude="**" / ssh://user@backupserver:22/destdir/
További mappákat is hozzáadhat több --include="[dir]"kimutatás megadásával.
A --no-encryptionmeghatározza, hogy az adatokat nem kell titkosítani a célhelyen. Az adatok az SSH-alagúton való áthaladás során titkosítva lesznek.
Az --exclude="**" /opció egy trükk, hogy mindenről biztonsági másolatot készítsen, ami csak a belefoglaló listán található (és semmi más).
Növekményes biztonsági mentés futtatása
A növekményes biztonsági mentés futtatása nagyon egyszerű - csak módosítsa a fulljelzőt incrementalzászlóra.
duplicity incremental -v --no-encryption --include="/sourcedir/" --exclude="**" / ssh://user@backupserver:22/destdir/
Automatizálás
Írjon automatizált szkripteket
Ha ezeket a parancsokat minden alkalommal le kell futtatni, amikor biztonsági másolatra van szükségünk, az egy húzás – mi lenne, ha lenne egy szkriptünk, amely ezt kezelné?
Teljes biztonsági másolat szkript
Futtassa a parancsot.
nano /usr/local/bin/backup-full
Adja hozzá a következő tartalmat.
#!/bin/bash
duplicity full -v --no-encryption --include="/sourcedir/" --exclude="**" / ssh://user@backupserver:22/destdir/
Növekményes biztonsági mentési szkript
nano /usr/local/bin/backup-incremental
Adja hozzá a következő tartalmat.
#!/bin/bash
duplicity incremental -v --no-encryption --include="/sourcedir/" --exclude="**" / ssh://user@backupserver:22/destdir/
Tedd futtathatóvá a szkripteket
A szkriptek futtathatóvá tételéhez futtassa a következő parancsot.
chmod +x /usr/local/bin/backup-*
Most már végrehajthat biztonsági mentést futtatással backup-fullés backup-incrementala rendszerhéjon belülről. Elég jó!
Cron beállítása
Tegyük automatikussá a biztonsági mentéseket! Ha beállítjuk a cron-t a fenti szkriptek meghatározott időpontokban történő futtatására, akkor gondoskodhatunk arról, hogy a biztonsági mentések rendszeres időközönként történjenek.
Futtassa a következő parancsot.
crontab -e
Adja hozzá a következőt a fájl aljához.
10 01 * * 1,2,3,4,5,6 backup-incremental
10 01 * * 7 backup-full
Ez minden vasárnap 1:10-kor egy teljes biztonsági mentést fog futtatni, és minden második nap 1:10-kor növekményes biztonsági mentést is végrehajt.
Felújítás
Godzilla elpusztította Seattle-t, és vissza kell tudnunk szerezni az adatokat a New York-i tartalék VPS-ről!
duplicity --no-encryption --file-to-restore / ssh://user@backupserver:22/destdir/
Ha vissza kell állítanunk a 3 nappal ezelőtti adatokat:
duplicity --no-encryption -t 3D --file-to-restore / ssh://user@backupserver:22/destdir/
Az -t 3Dopció egy három nappal ezelőtti biztonsági másolat visszaállítását jelenti. Hasonló lehetőségek, mint -t 1M(egy hónappal ezelőtt) vagy -t 5H(5 órával ezelőtt), szintén működnek.