Merevlemezre történő mentés
Ehhez úgynevezett virtuális szalagos egységet kell létrehoznunk. Menjünk végig ennek a folyamatnak a lépésein.
Fentebb már létrehoztunk egy /backup nevű könyvtárat, hogy
ebbe mountoljuk a mentések tárolására szolgáló lemezegységet. A
fájlrendszerek általában rosszul viselik, ha a telítettség
meghaladja a 90%-ot, ezért ajánlott a következő ,,képletet''
figyelembe venni a szükséges diszkterület kiszámításához:
Például egy 20GB-os merevlemez esetén ez a következőket
jelenti:
13#13 GB14#14 GB15#15 Tehát a
következő lehetőségeink vannak:
Létre kell hozni egy tapetype definíciót a merevlemezhez. Az alábbi egy 3GB-os ,,szalag''-nak megfelelő egységet határoz meg:
define tapetype HARD-DISK {
comment "Mentes merevlemezre"
length 3072 mbytes
}
Nem kötelező használni a speed opciót, ugyanis az Amanda nem használja ezt. A filemark opció használata sem kötelező, alapértelmezetten 1KB-os értéket tételez fel.
Mivel merevlemez esetén meglehetősen nehézkes lenne cserélgetni a
diszkeket, ezért célszerű úgy megoldani, hogy az Amanda
automatikusan váltogassa a mentéshez használt könyvtárakat (mint
szalagos meghajtó esetén a szalagokat). Ehhez a csomagban lévő
(a /usr/lib/amanda könyvtárban helyet foglaló)
chg-disk szkriptet használjuk.
Lássuk, hogy mi is kell egy diszkre történő mentés esetén az
amanda.conf fájlunkba.
org "Napi diszkre mentes"
mailto "atkosa@akarmi.intra"
usetimestamps
dumpuser "backup"
inparallel 4
dumporder "BTBTBTBT"
taperalgo first
displayunit "k"
netusage 600 Kbps
dumpcycle 1 weeks
runspercycle 5
tapecycle 5 tapes
bumpsize 20 MB
bumppercent 20
bumpdays 1
bumpmult 4
etimeout 300
dtimeout 1800
ctimeout 30
tapebufs 20
runtapes 1
tapedev "file:/backup/napi_backup"
rawtapedev "file:/backup/napi_backup"
changerdev "/dev/null"
tpchanger "chg-disk"
changerfile "/etc/amanda/napi_backup/changer"
maxdumpsize -1
tapetype HARD-DISK
labelstr "^NAPIBACKUP[0-9][0-9]*$"
amrecover_do_fsf yes
amrecover_check_label yes
amrecover_changer "file:/backup/napi_backup"
autoflush no
infofile "/var/lib/amanda/napi_backup/curinfo"
logdir "/var/log/amanda/napi_backup/log"
indexdir "/var/lib/amanda/napi_backup/index"
define tapetype HARD-DISK {
comment "Mentes diszkre"
length 3072 mbytes
}
define dumptype global {
comment "Global definitions"
holdingdisk never
auth "ssh"
ssh_keys "/var/backups/.ssh/id_rsa_amdump"
}
define dumptype teljes_mentes {
global
program "GNUTAR"
comment "Teljes mentes tar-ral"
compress none
index
exclude list "/etc/amanda/exclude.gtar"
priority high
dumpcycle 0
}
Merevlemezre történő mentés esetén nem érdemes átmeneti (holding) területet megadni. Ugyanis először oda hozná létre a mentést az Amanda és onnan másolná át a szalagként funkcionáló könyvtárba. Ezáltal egy mentés kétszer foglalná a helyet a merevlemezen, valamint felesleges terhelést okozna a diszknek maga a másolás (hiszen elsőre is oda hozná létre a mentést).
És a konfigurációs állományhoz tartozó magyarázatok13.1:
- org
- Az ide beírt adat fog megjelenni az e-mail-ek tárgy
mezőjében (subject), amelyeket az
amcheckés azamdumpfog küldeni. - mailto
- Az itt megadott e-mail címre fognak érkezni az
e-mail-ek. Felsorolhatunk több címet is, szóközökkel
elválasztva.
- usetimestamps
- Ezen opciót akkor kell használnunk, ha egy
nap több mentést is szeretnénk készíteni. Használatakor ugyanis
nem csak az év, hónap és nap kerül bele a mentés ,,címkéjébe'',
hanem az óra, perc és másodperc is.
- dumpuser
- Ennek a felhasználónak a nevében fognak futni az
amcheckés azamdumpprocesszek. - inparallel
- Azt szabályozza, hogy hány mentés futhat
párhuzamosan (maximum 63 állítható be).
- netusage
- KB/másodpercben megadott érték, amely a hálózat
maximális terhelését adja meg.
- dumpcycle
- Egy mentési ciklus alatti napok száma.
- tapecycle
- A mentési körforgásban használt szalagok száma.
- etimeout
- Ennyi másodpercet kap a fájlrendszer becslésére.
- dtimeout
- Ennyi másodpercet vár mielőtt a mentést
megszakítottnak tekinti.
- ctimeout
- Maximum ennyi másodpercet vár az
amchecka mentendő kliensre. - runtapes
- A szalagok száma, hogy mennyit használhat az
amdumpa futása közben. - tapedev
- A mentésre használt eszköz megnevezése, fontos,
hogy ,,norewinding'' eszköz nevét kell itt megadni. Ugyanis
Linux alatt többféleképpen is meg lehet szólítani a szalagos
meghajtót. Tehát: a
/dev/st0az az ,,univerzális'' (mindentudó) meghajtónév, a/dev/nst0pedig a ,,norewinding'' eszköz neve. Mentéskor a/dev/nst0, visszaállításkor pedig a/dev/st0eszköznevet kell használnunk. Ez utóbbi használatára itt láthatunk példát. - tapetype
- Itt határozzuk meg, hogy melyik később definiált
meghajtót szeretnénk használni.
- labelstr
- A labelstr sorba azt kell beírni, hogy hogyan
akarjuk nevezni a szalagjainkat. Ez abban lesz segítségünkre,
hogy csak a következő szalagra fog írni az Amanda, nem fogja
felülírni az éppen lementett anyagainkat.
- infofile
- Az adatbázis tárolására szolgáló könyvtárak
helyének beállítása.
- logdir
- A mentésekről szóló logfájlok tárolására szolgáló
könyvtár beállítása.
- indexdir
- A mentésekben történő kereséseket segítő
indexállományok tárolására szolgáló könyvtár beállítása. Nem
minden mentési stratégia hoz létre indexállományokat.
- define tapetype
- A mentőegység adatainak meghatározása.
Ebből többet is definiálhatunk, de a neveknek egyedieknek kell
lenniük.
- define dumptype
- A mentési stratégia meghatározása. Ebből többet is definiálhatunk, de a neveknek egyedieknek kell lenniük. Ezek a definíciók egymásba is ágyazhatóak, amelyet a global definíció mutat be.
Ha az összes konfigurációs opciót látni szeretnénk, akkor adjuk ki az alábbi parancsot (a teljes kimenetet nem idézem be, mert elég hosszú):
# su - backup $ amadmin napi_backup config | less
Ezután létre kell hoznunk a szalagokat mintázó könyvtárakat, amelyekbe a mentések fognak kerülni.
# mkdir /backup/napi_backup # cd /backup/napi_backup # touch info # for i in `seq 5` ; do mkdir slot$i ; done # ln -s slot1 data # chown -R backup:backup /backup/napi_backup # chmod -R 750 /backup/napi_backup
Még fel kell címkéznünk a ,,szalagokat'', hogy az Amanda is tudjon róluk. Ezt már backup userként kell végrehajtanunk (csakúgy, mint igazi szalagok esetén).
# su - backup $ /usr/sbin/amlabel napi_backup NAPIBACKUP01 slot 1 labeling tape in slot 1 (file:/backup/napi_backup): rewinding, reading label, not an amanda tape (Read 0 bytes) rewinding, writing label NAPIBACKUP01, checking label, done. $ /usr/sbin/amlabel napi_backup NAPIBACKUP02 slot 2 labeling tape in slot 2 (file:/backup/napi_backup): rewinding, reading label, not an amanda tape (Read 0 bytes) rewinding, writing label NAPIBACKUP02, checking label, done. $ /usr/sbin/amlabel napi_backup NAPIBACKUP03 slot 3 labeling tape in slot 3 (file:/backup/napi_backup): rewinding, reading label, not an amanda tape (Read 0 bytes) rewinding, writing label NAPIBACKUP03, checking label, done. $ /usr/sbin/amlabel napi_backup NAPIBACKUP04 slot 4 labeling tape in slot 4 (file:/backup/napi_backup): rewinding, reading label, not an amanda tape (Read 0 bytes) rewinding, writing label NAPIBACKUP04, checking label, done. $ /usr/sbin/amlabel napi_backup NAPIBACKUP05 slot 5 labeling tape in slot 5 (file:/backup/napi_backup): rewinding, reading label, not an amanda tape (Read 0 bytes) rewinding, writing label NAPIBACKUP05, checking label, done.
Lehetőségünk van a ,,szalagok'' cserélgetésére is:
# cd /etc/amanda/napi_backup # /usr/lib/amanda/chg-disk -current 5 file:/backup/napi_backup # /usr/lib/amanda/chg-disk -next 1 file:/backup/napi_backup
A címkézés után az ötödik ,,szalag'' van a ,,meghajtóban'' (mint a fentebbi példában látható), esetleg érdemes lehet átállítani a nekünk szükséges számú ,,szalagra''.
Teszteljük le a virtuális meghajtónkat:
# su - backup $ ammt -f file:/backup/napi_backup/ status file:/backup/napi_backup/ status: ONLINE
Ha reseteljük a virtuális meghajtónkat, akkor az első ,,szalag'' töltődik be.
# su - backup $ amtape napi_backup reset amtape: changer is reset, slot 1 is loaded.
Az amcheck (backup felhasználóként történő) futtatásakor a
következőhöz hasonló üzenetet kapunk.
# su - backup $ /usr/sbin/amcheck napi_backup Amanda Tape Server Host Check ----------------------------- slot 1: read label `NAPIBACKUP01', date `X' NOTE: skipping tape-writable test Tape NAPIBACKUP01 label ok WARNING: tapecycle (5) <= runspercycle (5). NOTE: host info dir /var/lib/amanda/napi_backup/curinfo/dns does not exist NOTE: it will be created on the next run. NOTE: index dir /var/lib/amanda/napi_backup/index/dns does not exist NOTE: it will be created on the next run. Server check took 1.138 seconds Amanda Backup Client Hosts Check -------------------------------- Client check: 1 host checked in 0.458 seconds, 0 problems found (brought to you by Amanda 2.5.1p1)
Láthatjuk, hogy melyik szalagra fog történni a következő mentés.
A WARNING mindössze arra figyelmeztet bennünket, hogy
nincs tartalék ..szalagunk'' (hiba esetére), de mivel
merevlemezre mentünk, felesleges lenne többet definiálni a
használtnál (hiszen ha nem tudja használni, akkor a helyette
használni kívánt sem működne, révén ugyanarról a diszkről van
szó). A NOTE megjegyzések arról tájékoztatnak, hogy az
újonnan felvett géphez még nem létezik a curinfo és az
index könyvtár.
Ha szerepel egy Host key verification failed. sor az
amcheck üzenetében, akkor a backup felhasználó
known_hosts fájljában nem jó kulcs szerepel (vagy
egyáltalán nem szerepel kulcs). Ekkor
az itt
látható parancsot kell kiadnunk a megfelelő gép nevével.
Sikeres mentés esetén egy ehhez hasonló e-mail érkezik az
amdump programtól:
From: backup <backup@backup.akarmi.intra>
To: atkosa@akarmi.intra
Subject: Napi diszkre mentes AMANDA MAIL REPORT FOR April 27, 2007
These dumps were to tape NAPIBACKUP01.
The next tape Amanda expects to use is: a new tape.
The next new tape already labelled is: NAPIBACKUP02.
STATISTICS:
Total Full Incr.
-------- -------- --------
Estimate Time (hrs:min) 0:00
Run Time (hrs:min) 0:00
Dump Time (hrs:min) 0:00 0:00 0:00
Output Size (meg) 1.3 1.3 0.0
Original Size (meg) 1.2 1.2 0.0
Avg Compressed Size (%) -- -- --
Filesystems Dumped 1 1 0
Avg Dump Rate (k/s) 301.7 301.7 --
Tape Time (hrs:min) 0:00 0:00 0:00
Tape Size (meg) 1.3 1.3 0.0
Tape Used (%) 0.1 0.1 0.0
Filesystems Taped 1 1 0
Chunks Taped 0 0 0
Avg Tp Write Rate (k/s) 275.9 275.9 --
USAGE BY TAPE:
Label Time Size % Nb Nc
NAPIBACKUP01 0:00 1312K 0.1 1 0
^L
NOTES:
planner: tapecycle (5) <= runspercycle (5)
planner: Adding new disk dns:/etc.
taper: tape NAPIBACKUP01 kb 1312 fm 1 [OK]
^L
DUMP SUMMARY:
DUMPER STATS TAPER STATS
HOSTNAME DISK L ORIG-KB OUT-KB COMP% MMM:SS KB/s MMM:SS KB/s
-------------------------- ------------------------------------- -------------
dns /etc 0 1250 1312 -- 0:04 287.4 0:05 275.9
(brought to you by Amanda version 2.5.1p1)
Miután lefuttattuk az amdump programot (backup
felhasználóként), használhatjuk az alábbi parancsot (is) a mentés
ellenőrzésére:
# su - backup $ amadmin napi_backup find date host disk lv tape or file file part status 2007-04-27 21:54:09 dns /etc 0 NAPIBACKUP03 1 -- OK
Ami még érdekes (és hasznosnak tűnő) volt, hogy a length paramétert gond nélkül tudtam növelni két mentés között (tehát nem mentés közben!), semmilyen problémát nem jelentett az Amanda számára, szépen megértette, hogy a ,,szalag'' mostantól kezdve hosszabb.
Kosa Attila
2009-03-23