Skip to main content

Kloniranje diska na Linux sistemu

Kako sem uspešno kloniral disk na katerem je zmankovalo prostora na nov/večji disk:

Priklopil sem nov disk (novi) kot Primary Slave, kar v linuxu pomeni hdb. Potem sem na novem disku naredil enako število particij kot na starem (originalni članek: http://www.linuxplanet.com/linuxplanet/tutorials/4232/3/)

# fdisk /dev/hdb

Naredil sem nove primarne particije z ukazom “n”. Vse particije so imele v osnovi “format” Linux, razen swap, ki sem ga naknadno spremenil s “t”, v tip 82. Na koncu sem posnel z “w”. Potem sem formatiral vse particije kot ext3:

# mkfs -t ext2 -j /dev/hdb* // kjer je * številka particije

Potem sem ustvaril v /mnt mape z imeni particij (hdb1 ,hdb2,…):

# mkdir /mnt/hdb* // kjer je * številka particije

in nanje pripel particije:

# mount /dev/hdb* /mnt/hdb* // kjer je * številka particije

Z ukazom rsync sem presnel vse podatke posamezne stare particije na nove (rsync -avHx /source/mount/point/ /destination/mount/point/). Vedeti moraš kam je katera stara particija pripeta (/, /home/ var…):

# rsync -avHx / /mnt/hdb1
# rsync -avHx /home /mnt/hdb2 ……

Potem sem particje odpel:

# umount /mnt/hdb* // kjer je * številka particije

in jim dodelil enaka imena (label), kot jih imajo na starem disku (/, /home, /tmp…):

# e2label /dev/hdb1 /
# e2label /dev/hdb2 /home ….

Z ukazom sem naredil swap particjo uporabno:

# mkswap /dev/hdb* // kjer je * številka particije

Sedaj je bilo potrebno samo še naložiti MBR oz. GRUB zaganjalnik. Uporabil sem FC4 Rescue CD in iz njega naložil sistem (sistem se je naložil iz CD-ja ob zagonu računalnika). Napisal sem sledeče (http://fedoranews.org/contributors/bob_kashani/grub/):

# chroot /mnt/sysimage
# grub-install /dev/hda

Na koncu pritisneš še dvakrat Ctrl+D in sistem se bo naložil.

Amanda install na FC8; na dodatni disk

V tem primeru bomo nastavili backup na 14 “kaset”, kar pomeni backup za 14 dni. Po 14 dneh se backup ponovno začne s 1. “kaseto” in se ta tudi prepiše. Backup se bo izvajal na poseben disk (/dev/hdc), ki je mapiran kot /backup: Inštaliramo pakete:

yum install amanda amanda-client amanda-server (+ vse dependency)

V /etc/xinetd.d/amanda vklopimo (disable = no) in dodamo vrstico:

– server_args = -auth=bsd amdump amindexd amidxtaped

Izvedemo restart xinetd:

$/etc/init.d/xinetd restart

V /etc/amanda/DailySet1/amanda.conf nastavimo naslednje nastavitve:

# These are the options that differ from examples/amanda.conf

dumpcycle 14 days
#runspercycle # defaults to 1 per day
tapecycle 14 tapes

runtapes 1
tpchanger “chg-multi”
changerfile “/etc/amanda/DailySet1/changer.conf”
# Comment out tapedev and changerdev

tapetype HARD-DISK
labelstr “^DailySet1[0-9][0-9]*$”

define tapetype HARD-DISK {
comment “Hard disk instead of tape”
length 4000 mbytes # Simulates end of tape on hard disk (a 4 GB disk here)
}

define dumptype hard-disk-dump {
global
comment “Back up to hard disk instead of tape – using dump”
holdingdisk no
index yes
priority high
auth “bsd”
}

define dumptype hard-disk-tar {
hard-disk-dump
comment “Back up to hard disk instead of tape – using tar”
program “GNUTAR”
auth “bsd”
}

Če ne želimo incrimental backupa lahko naredimo:

define dumptype hard-disk-tar {
hard-disk-dump
comment “Back up to hard disk instead of tape – using tar”
program “GNUTAR”
options compress-fast, index
priority high
dumpcycle 0
maxcycle 0
skip-incr yes # emphasize we only want full dumps
strategy noinc # also reduce time to do estimates
auth “bsd”
}

Ustvarimo datoteko /etc/amanda/DailySet1/changer.conf in v njej popravimo poti do “kaset” na (novem) backup disku:

multieject 0
gravity 0
needeject 0
ejectdelay 0

statefile /var/lib/amanda/DailySet1/changer-status

firstslot 1
lastslot 14

slot 1 file:/backup/tape01
slot 2 file:/backup/tape02
slot 3 file:/backup/tape03
slot 4 file:/backup/tape04
slot 5 file:/backup/tape05
slot 6 file:/backup/tape06
slot 7 file:/backup/tape07
slot 8 file:/backup/tape08
slot 9 file:/backup/tape09
slot 10 file:/backup/tape10
slot 11 file:/backup/tape11
slot 12 file:/backup/tape12
slot 13 file:/backup/tape13
slot 14 file:/backup/tape14

V /etc/amanda/DailySet1/disklist dodamo vse direktorije, ki jih želimo backupati. Oblika zapisa je sledeča:

localhost /etc hard-disk-dump
localhost /etc hard-disk-tar

hard-disk-dump in hard-disk-tar smo definirali zgoraj v amanda.conf in je vrsta zapisa backupa; v prvem primeru se izvede z obliko dump, v drugem pa s tar. Localhost mora biti FQDN (fully-qualify-domain aka long host name). To ime ugotovimo s sledečim ukazom:

$hostname –fqdn

primer odgovora:

tone.domena

Lahko je tudi drugače, najbolje da preverimo v /etc/hosts.

Torej zapisi izgledajo takole:

tone.domena /etc hard-disk-tar
tone.domena /var/lib/mysql hard-disk-tar
….

V /var/lib/amanda/.amandahosts vpišemo FQDN hostname:

tone.domena root amindexd amidxtaped
tone.domena amanda amdump

V amanda-client.conf popravimo vrstici oz. argument amandahost:

index_server “tone.domena”
tape_server “tone.domena”

Če delamo backup iz drugih mašin (unix/win) moramo narediti še sledeče:

– setsebool -P amanda_disable_trans 1 (izklopimo SeLinux zaščito)
– kreiramo datoteko /etc/amandapass
– vanj vpišemo pot do mape (share-a), ki jo želimo varnostno kopirat in pa uporabniško ime in geslo (če je potrebno tudi workgroupe). Primer:

//ime_mašine/ime_mape_za_kopirat uporabniško_ime%geslo WORKGROUPE

Zapis v /etc/amanda/DailySet1/disklist je sledeč (primer):

tone.domena.si //ime_mašine/ime_mape_za_kopirat hard-disk-tar

Nato kreiramo direktorije za “kasete”:

$mkdir /backup/tape01
$mkdir /backup/tape01/data

$mkdir /backup/tape14
$mkdir /backup/tape14/data

In dodelimo uporabnika amando in skupino disk (uporabnik in skupina sta avtomatsko kreirana pri inštalaciji paketov rpm) z chmod 770 na te direktorije.

$chown -R amanda.disk /backup
$chmod -R 770 /backup

Kreiramo prazno datoteko /etc/amanda/DailySet1/tapelist

Potem še označimo “kasete”. Prijaviti se moramo kot uporabnik amanda:

$su amanda
$amlabel DailySet1 DailySet101 slot 1

$amlabel DailySet1 DailySet114 slot 14
exit

Z ukazom:

$su amanda
$amcheck -c DailySet1

preverimo, če se server lahko poveže s klientom:

Amanda Backup Client Hosts Check
——————————–
Client check: 1 host checked in 0.115 seconds, 0 problems found

(brought to you by Amanda 2.4.5)

Če ne najde hosta je skorajgotovo problem v napačnem zapisu hosta mašine:

Amanda Backup Client Hosts Check
——————————–
ERROR: tone.domena: [addr xx.xx.xxx.xxx: hostname lookup failed]
Client check: 1 host checked in 0.018 seconds, 1 problem found

(brought to you by Amanda 2.4.5)

ali v napačnih pravicah datoteke .amandahosts (mora biti 600):

Amanda Backup Client Hosts Check
——————————–
NAK : access as amanda not allowed from amanda@domena.si /var/lib/amanda/.amandahosts: incorrect permissions; file must be accessible only by its owner

Sedaj se samo še zapiše backup naloga v crontab (primer) – uporabnik mora biti amanda:

0 16 * * 1-5 /usr/sbin/amcheck -m DailySet1
45 0 * * 2-6 /usr/sbin/amdump DailySet1

Še navodila kako pridobimo podatke nazaj (recover) z programom amrecover:

$amrecover DailySet1
$setdate (opcija)
$sethost tone.domena.si
$setdisk /home/www
$cd dir/do/datoteke (uporabiš lahko ls)
$add datoteka_za_obnovit
$list (da ugotoviš na kateri “kaseti” je datoteka)
$settape host:file:/home/backup/tapeXX (kot host vpiši tone.domena.si, če pa ne deluje pa localhost)
$extract
$quit