HTML

Bagoj úr blogja

Kíváncsi Bagoj befigyel a Linux belsejébe, illetve különféle Linux terjesztéseket próbál ki. Ha jó napja van, scriptet ír Neked.

Friss topikok

Adatok mentése Partimage segítségével

2008.10.06. 14:33 bagoj ur

2. Teljes partíciók tartalmának mentése (első rész)

1. Első lépésként szedjük le a system rescue cd-t és írjuk ki egy korongra. Az első jó hír most fog érni bennünket: Az ezen található Partimage verzió le fogja tudni menteni az MBR-ünket is, így vissza tudja állítani majd a Grub rendszerbetöltőt.

2. Mentsük el a partíciós táblánk szöveges formáját! Ebből vissza fogjuk tudni majd állítani úgy körülbelülre a partíciókat.

Egy mount parancs kiírja, hogy is hívják a merevlemezünket ezen a héten:

/dev/sda1 on / type ext3 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
/sys on /sys type sysfs (rw,noexec,nosuid,nodev)
varrun on /var/run type tmpfs (rw,noexec,nosuid,nodev,mode=0755)
varlock on /var/lock type tmpfs (rw,noexec,nosuid,nodev,mode=1777)
udev on /dev type tmpfs (rw,mode=0755)
devshm on /dev/shm type tmpfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda2 on /var type ext3 (rw,noatime)
securityfs on /sys/kernel/security type securityfs (rw)
Nagyszerű, ami a lényeg itt, hogy /dev/sda a vinyó, ezen a /dev/sda1 a "/", és /dev/sda2 a "/var". Nézzük a partíciós táblát:

bagoj@mycogen:~$ sudo fdisk -l /dev/sda
/dev/sda lemez: 250.0 GB, 250059350016 bájt
255 fej, 63 szektor, 30401 cilinder
Egység: cilinderek 16065 * 512 = 8225280 bájt
Lemezazonosító: 0x3954d97b

  Eszköz Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        3659    29390886   83  Linux
/dev/sda2            3660       30284   213865312+  83  Linux
/dev/sda3           30285       30401      939802+  82  Linux swap / Solaris
Ezt tegyük el fájlba és ne felejtsük el elmenteni! :-) sudo fdisk -l /dev/sda > particiok.txt

Megjegyzés: Itt majd páran javasolják, hogy lehet alkalmazni a dd if=/dev/sda of=particiok.dump bs=512 count=1 parancsot, de nekem valahogy nem sikerült ebből a partíciós tábla visszaállítása. Mellesleg ez az extended partíciókat nem is menti, ahhoz az sfdisk -d /dev/sda > extended_particiok.dump parancs kéne. Így hát inkább bízom a szöveges fájlban...

Ennek ellenére, ha valaki a vázolt két paranccsal mentette a partíciós tábláját, álljon itt a visszaállítás módszere is:

 dd if=particiok.dump of=/dev/hda
 sfdisk /dev/hda < extended_particiok.dump

3. Ezek után bootoljunk be a System Rescure CD-vel!

Amint az látható, ez egy testreszabott Gentoo Linux live cd. Az indulás után röviddel (sima enter a legelső menün, a billentyűkiosztásnál 18 és enter (azaz magyar kiosztás)) root parancssort kapunk, egy oldalnyi szöveges súgóval. Pont ez a kedvencem! Igazi férfimunka! :-)

Gyorsan kalapáljunk egy hálózatot: az ifconfig eth0 up; dhclient3 parancsok futtatásával DHCP-n máris kaptunk egy IP-címet. Ha esetleg nincs DHCP szerver kéznél, az ifconfig eth0 <IP-cím> netmask <netmask> parancs, illetve a route add default gw <gateway> parancs segít (a hálózati paramétereit nyilván mindenki tudja, aki nem az ne hálózatra mentsen!). Ezek után parancssorból fellőttem a mentőszoftvert: partimage. A karaktergrafikus felületen a szokásos le-fel, tab gombokkal tudunk közlekedni.

A képernyő tetején mindenféle fura nevű ram1, ram2, ... ram15 nevű partíciókat látunk, ezzel nem kell törődni. Ott vannak viszont alatta a mieink! Nekem sda1 (ntfs), sda2 (swap) és sda3 (ext3fs). Az ugye világos, hogy ha nem hálózatra és nem egyből DVD-re mentünk (azaz egy saját partícióra), akkor legalább egy partíciót nem tudunk elmenteni, valamint azon a partíción kell lennie elég helynek a mentéshez. Egyszerre csak egy partíciót tudunk kijelölni (amin a "fénygerenda" áll), illetve meg tudjuk adni, hogy mi legyen annak az image fájlnak a neve, amire mentjük a partíciót. Első okosság: Hogyan adjuk meg azt a partíciót, amire menteni akarunk? Hát, azt úgy hogy előbb fel kell csatolni, persze kézzel. Nem egy nagy buktató, ALT+F2-vel kérünk egy terminált, készítünk egy helyet a felcsatolásnak, majd fel is csatoljuk. Nekem van még egy partícióm, a /dev/sda5, én erre fogok menteni. Tehát most ezt gépelem be az ALT+F2 után:

mkdir /mnt/mentesek; mount /dev/sda5 /mnt/mentesek

A felcsatolásnak simán kell mennie, utána visszaváltok ALT+F1-gyel a partimage felületére és begépelem az "Image file to create/use" részbe teljes elérési úttal az image fájl nevét. Például ez nekem /mnt/mentesek/linugz.image lesz ha az sda3-at mentem, és /mnt/mentesek/windows.image, hogyha a /dev/sda1-en lévő ntfs partíciót menteném.

Megjegyzés: Ha van egy Windows gép a hálózatban megosztással, és oda mentenénk, akkor az előbb vázolt módszert kell szintén alkalmazni, az alábbi különbséggel:

mkdir /mnt/samba; mount -t smbfs //192.168.0.1/Temp /mnt/samba

Az "Action to be done" álljon a "Save partition into a new image file" álláson, szerver nevet pedig nem adok meg, tehát F5-tel mehetünk is tovább a második képernyőre.

A következő képernyőn választható a tömörítés módja (hagyjuk Gzip-en! Ennek oka az, hogy a 0.6.7-es verzióban egy hiba miatt a Bzip2-vel tömörített image-be nem tudja elmenteni az MBR-t). A "Check partition before saving" mindig egy hasznos dolog, hiszen ha hibás a partíciónk, itt az idő hogy meg tudjuk, ezért csak ellenőrizze bátran. Az "Image split mode" mindig jó, ha az "Into files whose size is....2037"-en áll, ekkor 2Gb-os darabokat fog gyártani ami DVD-re kiírható és minden oprendszer alatt lehet másolni is. Más szóval a második képernyőn én mindent úgy hagytam, ahogy volt. :-)

A harmadik képernyőn egy leírást adhatunk meg, én ide mindig beírom a dátumot és a partíció azonosítóját (esetünkben /dev/sda3), így mindig tudom, hol volt. Akinek több gépe van, itt megadhatja azt is, hogy ez most melyik gépe.

Az OK után elkezd dolgozni a kicsike, úgyhogy én épp nekiláttam egy krémtúró elfogyasztásának, amikor még egy ablakot feldobott, annak a partíciónak az adataival, amelyre a mentés készül. Simán nyomtam egy OK-t és foglalkoztam tovább a krémtúróval... "sajnos" sok időm nem volt, 5:35 alatt lementette az 1,1Gb-os partíciómat, majd visszalépett parancssorba. Az előbb elmondottakat lehet alkalmazni a többi partícióra is.

Kérdés: Na és hol lehet egyből DVD-re írni a partíció adatait?
Válasz: A Partimage önmagában nem képes CD-t vagy DVD-t írni, ehhez picit hegeszteni kell. Semmi nagy kaland, itt leírtam: DVD+RW packet writing.

Adatok visszaállításának menete

1. Bootoljunk be a SystemRescueCD-nkkel.

3. Csatoljuk fel azt a partíciót (esetleg DVD-t), amin az elmentett image fájl van.

3. Indítsuk el a partimage parancsot. Válasszuk ki felül azt a partíciót, amit vissza akarunk állítani. Válasszuk az "Action to be done" részen a "Restore partition from an image file" lehetőséget. Írjuk be az "Image file to create/use" részen az image fájl nevét teljes elérési úttal. (A mentéskor a split miatt egy ".000", ".001" kerül a fájl végére. A ".000"-t is be kell írni.) Választható opciók, hogy csak szimulálja a visszaállítást, illetve hogy nullákkal töltse fel a nem használt helyeket (a partíción, amire visszaállítunk, nyilván minden törölve lesz).

A visszaállítás 5:04 alatt sikerült is. Ne felejtsük el az MBR (azaz az abban lévő rendszerbetöltő és az elsődleges partíciós tábla) visszaállítását sem! Indítsuk el még egyszer a partimage-et, és a "Restore an MBR from the imagefile"-t válasszuk, majd újra ugyanazt az image-et. Az F5 után válasszuk ki, hogy hova akarjuk az MBR-t visszaállítani és kész is. FONTOS, hogy ha az MBR visszaállításakor valami hiba történik, akkor a szívás dedikált esete forog fenn: mindent elveszthetünk a merevlemezről! Én szóltam.

Mivel az MBR csesztetése mindig kockázatos, én azt szoktam csinálni, hogy a mentés 2-es lépésében elmentett fájlt odarakom az image mellé, és szépen megcsinálom kézzel a partíciókat, illetve a grubot kézzel telepítem az MBR-be. Erről is fogok írni nemsoká'.

Remélem, senki nem szontyolodott el, hogy ez bonyolult lenne. Nem az, de sok minden apróságot kell hozzá megtanulni. Ha egyszer sikerült bejáratni, akkor viszont nagyon gyorsan menni fog, egyszerűnek fog tűnni, plusz arcoskodhatunk is a UNIX tudásunkkal. :-)

3 komment

Címkék: gentoo parancssor livecd

A bejegyzés trackback címe:

https://bagojur.blog.hu/api/trackback/id/tr45697675

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

kaladida 2010.03.30. 12:43:13

Szép napot bagojur!
Szívesen kipróbálnám a leírt módszert. A System resuce Cd-t megírtam, (nekem az 1.1.7 töltődött le)
rendesen bootolt is. A partimage program is elindult (0.6.7-es verzió). De nem sikerült becsatolnom azt a particiót, amire menteni akarok. Konkrétan egy laptopról van szó, 2 ntfs (Rendszer, Adatok) és egy Linuxos particióval. De sem a mount, sem az ajánlott ntfs-3g /dev/sda5 /mnt/ment paranccsal nem sikerül. Bad mount point /mnt/ment: No such file ...

kaladida 2010.03.30. 12:55:24

Bocsánat! megvan a hiba, az mnt elől lemaradt a '/'

bagoj ur 2010.03.30. 12:59:14

@kaladida: Na ez egyszerű, ha a mount pointot nem találja akkor vagy nem hoztad létre a könyvtárat, vagy nem jól hivatkoztad meg.
süti beállítások módosítása