Egy ideje bevezettük a lehetőséget, hogy pillanatképeket készítsen egy meghajtóról. Ez egy nagyon hasznos funkció, amely lehetővé teszi a meghajtó állapotának gyors és hatékony mentését akár éles rendszereken is.
A ZFS-nek köszönhetően az automatikus pillanatképek csak a deltát fogják elfoglalni a jelenlegi állapot és a pillanatkép készítésének időpontja között. Ez azt jelenti, hogy ha az eredeti meghajtó 15 GB-os volt, és a pillanatkép és a jelenlegi állapot között csak 1 MB adat változott, akkor a pillanatkép mérete 1 MB lesz. Ha újabb megabájtot ír a lemezre, a pillanatkép újabb megabájttal nő.
A rendszer másik szépsége, hogy bármelyik pillanatkép előléptethető (klónozható) teljes lemezmeghajtóvá. Ez azt jelenti, hogy létrehozhat egy független másolatot, amely csatlakoztatható egy szerverhez, akár egy teljesen más tárolórendszeren is. Mint ilyen, ez képezi az alapját egy tárolókezelési stratégiának (a munkaterheléstől függően).
Figyelmeztetés
Bár az időszakos pillanatképek használata része lehet a biztonsági mentési stratégiájának, nem bölcs dolog kizárólag a pillanatképekre hagyatkozni egyedüli stratégiaként.
Számos olyan helyzet is van, amikor ezek a pillanatképek nem fognak működni, például egy futó adatbázis-szerverről történő pillanatkép-készítéskor. A pillanatkép funkció továbbra is hasznos lehet leállított adatbázis-szervereken (egy adott időpontra való visszaállítás létrehozásához), de ismételten: nem szabad, hogy ez legyen az egyetlen biztonsági mentési stratégiája.
Automatikus pillanatképek létrehozása
A Python library használatával a pillanatképek automatizálása nagyon egyszerű. Mivel azonban a CloudSigma hitelesítési adatokat azon a rendszeren kell tárolnunk, amely elindítja a pillanatképeket, határozottan eltanácsoljuk attól, hogy az éles szolgáltatások hitelesítési adatait nem biztonságos módon tegye közzé. Ha ezt például egy felhőszerveren szeretné futtatni, kérjük, győződjön meg arról, hogy az le van választva az infrastruktúra többi részétől (például a hálózati házirendek funkciónk használatával), és teljesen le van zárva.
Miután telepítette a Python könyvtárat, az alábbiak szerint töltheti le és futtathatja a szkriptet:
[bash light=”true”] $ wget https://raw.githubusercontent.com/cloudsigma/pycloudsigma/master/samples/snapshot.py$ python snapshot.py drive-uuid my-snapshot
[/bash]
snapshot.py két argumentumot fogad:
- A meghajtó UUID-ja, amelyről pillanatképet szeretne készíteni
- Egy barátságos név a pillanatképnek
Miután manuálisan létrehozott egy pillanatképet, és ellenőrizte, hogy működik (ezt a meghajtó ‘snapshot’ szakasza alatt láthatja), most már automatizálhatjuk ezt.
Az ilyen feladatok futtatásának legalkalmasabb és leginkább szabványosított módja a crontab használata (feltételezve, hogy Linuxot vagy Mac OS X-et használ).
Ugyanazzal a felhasználóval, amellyel a fenti pillanatképet létrehozta, futtassa a következőt:
[bash light=”true”]
$ crontab -e
[/bash]
Ha minden éjjel hajnali 1-kor szeretne pillanatképet készíteni, adja hozzá a következő sort:
|
1 |
0 1 * * * python /path/to/snapshot.py drive-uuid my-snapshot >> $HOME/snapshot.log 2>&1 |
Azt is észre fogja venni, hogy a szkript a szkriptet futtató felhasználó saját könyvtárában lévő snapshot.log nevű fájlba fog naplózni.
Pillanatképek automatikus törlése
Mivel a pillanatképek mérete idővel növekszik, valószínűleg egy idő után törölni szeretné őket. A probléma megoldására létrehoztunk egy másik szkriptet, amely ezt elvégzi Ön helyett. A szkript neve snapshot_purge.py és két argumentumot fogad:
- A meghajtó UUID-ja
- Hány napra visszamenőleg szeretné megőrizni a pillanatképeket
Például, ha 30 napnyi pillanatképet szeretne megtartani, egyszerűen futtassa a következőt:
[bash light=”true”]
$ wget https://raw.githubusercontent.com/cloudsigma/pycloudsigma/master/samples/snapshot_purge.py
$ python snapshot_purge.py drive-uuid 30
[/bash]
Természetesen ezt is automatizálhatja. Ha például a 30 napnál régebbi pillanatképeket szeretné törölni, a következőket adhatja hozzá a crontabhoz (amely hajnali 1:30-kor fog futni):
|
1 |
30 1 * * * python /path/to/snapshot_purge.py meghajtó-uuid 30 >> $HOME/snapshot_purge.log 2>&1 |
Összegzés
Ez minden, emberek. Ezzel a két szkripttel automatizálhatja a meghajtó-pillanatképeket. Ha több meghajtóról kell pillanatképet készítenie, egyszerűen adjon hozzá további snapshot.py sorokat a crontabjához különböző UUID-kkal.
Természetesen ezzel még csak a felszínét kapargatjuk annak, amit a pillanatképekkel tehetünk, de remélem, hogy ez egy gyors gyorstalpalóként szolgál a pillanatképek használatához a tárolókezelési rutinokban.
Ha kifinomultabb adatmegőrzési igényei vannak, remélhetőleg újra felhasználhatja a fenti szkriptek kódjának egy részét.
Hozzászólások
Még nincsenek hozzászólások. Legyen Ön az első.