Portál AbcLinuxu, 23. dubna 2024 08:02


Dotaz: preneseni obrazu HDD na druhy

10.10.2003 12:37 Jarda
preneseni obrazu HDD na druhy
Přečteno: 369×
Odpovědět | Admin
Ahoj vsichni, mam dotaz existuje nejaky program pro linux abych prenesl obraz sveho HDD, ktery je na hda na hdb. A budu moci z toho hdd(kopie), az ho prehodim na ksande na misto hda normalne bootovat? Mam pocit ze by to mel byt program dd ale kdyby pokud mozno me nekdo napsal celou syntaxi, mam na tom disku data o ktere bych nechtel prijit a zaroven nechci preinstalovavat system.

Diky Jarda
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

10.10.2003 12:59 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše preneseni obrazu HDD na druhy
Odpovědět | | Sbalit | Link | Blokovat | Admin
Abys mohl jen tak přenést obraz disku, musejí být oba identické (a v tom případě bude fungovat i obyčejný cat /dev/hda >/dev/hdb). V Linuxu není problém zkopírovat systém prostě cp -a, takže to obvykle ani k ničemu nepotřebuješ (jen při cp -a nekopíruj /proc). Jestli jsi to dobře přenesl, to nejlépe zjisíš tak, že ten druhý disk prostě někam přimountuješ a podíváš se (v případě, že to budeš normálně kopírovat, ho musíš připojit stejně, abys to zkopíroval), paranoidně můžeš třeba srovnat obsah diff -r...
10.10.2003 13:06 Pavel Jurcik | skóre: 9 | Hradec Králové
Rozbalit Rozbalit vše preneseni obrazu HDD na druhy
Odpovědět | | Sbalit | Link | Blokovat | Admin
Podivej se odpovim ti jednoduse vstupni parametr v originalni hadr. treba /dev/hda vystupni parametr je druhy /dev/hdb treba. Syntaxe je tusim dd if=/dev/hda of=/dev/hdb Skuz pouzit man dd nebo dd --help. Jednou veci si nejsem ale jistej a to jestli musis mit stejne velky disky. Predpokladam ze cilovej nesmi bejt rozhodne mensi, pak by asi nastal mensi problem. Kazdopadne kamos mi psal navod na neco podobneho tak so budes potrebovat tak pouzij Ahoj Pajo, psal jsem jednomu kamaradovi manual jak naklonovat Linux (sinux) z jednoho disku na dalsi. Mozna by se ti taky z toho mohlo neco hodit, koukni se na prilohy (dole) Vojta =========== V prvni casti serialu si povime, jak se udela kopie pevneho disku na druhy pevny disk a jak se na novem disku zmeni zakladni konfiguracni udaje. ---------------------------------------------------------------------------- Postup je rozdelen na kroky cislovane 1, 2, ... Nez neco provedes, precti si _cely_ krok az do konce. 0. Predpokladejme nainstalovany pocitac, ktery se jmenuje 'zdroj'. Necht je to treba soucasna lucie. V nem je jeden pevny disk pripojeny jako /dev/ide/host0/bus0/target0, zkracene /dev/hda. [Podrobneji: viz priloha A] 1. Pripoj druhy, novy disk jako /dev/hdc (secondary master). 2. Je druhy (/dev/hdc) disk presne stejne kapacity (pocet bloku, viz priloha B), jako ten prvni? Jestli ano, muzeme udelat tvrdou kopii se vdim vsudy, i s tabulkou rozdeleni disku, vsemi oddily, MBR a swapem. To pomoci prikazu shell# dd if=/dev/hda of=/dev/hdc (*** POZOR: Spustet s rozmyslem! Toto zacna okamzite zapisovat na .dev.hdc bez ptani a vse prepisuje ***) Bude to trvat dlouho, nebot se disk kopiruje opravdu cely, i s prazdnym mistem. Protoze dd neukazuje, kolik uz ma hotovo. Pro odhad by bylo dobre zmerit si rychlost cteni obou tech disku: shell# hdparm -t /dev/hda shell# hdparm -t /dev/hdc [Dale pokracuj bodem 5 a hned potom 8; 3,4,6,7 preskoc] 3. Je druhy (/dev/hdc) disk presne stejne kapacity (pocet bloku, viz priloha B), jako ten prvni? Jestli ne, bude to slozitejsi: 4. Formatovani a rozdeleni noveho disku shell# cfdisk /dev/hdc Disk rozdel zhruba takto: | Name Flags Part TypeFS Type [Label] Size (MB) | ----------------------------------------------------------------- | hdc1 Boot Primary Linux ext3 8000.01 | hdc2 Primary Linux swap 455.20 Od zacatku jeden velky oddil (hdc1) tak aby zbylo cca 500MB na druhy oddil (hdc2), kteryzto bude swap. U prvniho nastav 'Boot' a typ 'Linux ext3' (kdyz to fdisk nebude umet, nastav ext2 - to nevadi) a u druheho nastav typ 'Linux swap' Pote je treba oba oddily zformatovat. shell# mkfs.ext3 /dev/hdc1 (*** POZOR! Nepta se to; je hdc1 opravdu to spravne? Jak si zformatujes neco jineho, jsi v riti! ***) shell# mkswap /dev/hdc2 ( Vytvori swap. To je bezpecne, protoze pokud na onom hdc2 neni prirazen typ 'Linux swap', tak to neformatuje ) 5. Napojeni noveho disku Vytvor si prazdny adresar /cil (na stavajicim disku) shell# mkdir /cil A namountuj do neho nove zformatovany novy disk (hdc1) shell# mount /dev/hdc1 /cil 6. Kopirovani vlastniho Linuxu Protoze v Linuxu nemame a: b: c: jako v dosu, ale jine disky jsou v podadresarich toho prvniho, tak rozhodne nelze 'oznacit vsecko' a pak to kopirovat. Tedy s rozvahou: co kopirovat a co ne: A bin A boot N cil N dev A etc N home (pozn. 1) A install A lib N lost+found N mnt N mnt2 N mnt3 A opt N proc A root A sbin A tmp A usr A var ( A: ano, N: ne ) Prikaz pro kopirovani tedy bude tento: shell# cd / shell# cp -a -v bin lib usr sbin var boot etc install opt root tmp /cil Pak bude dobre presvedcit se o volnem miste na discich shell# df -h A nakonec vytvorit prazdne adresare na cilovem disku pro mountovani dalsich veci: shell# cd /cil shell# mkdir proc dev home mnt mnt2 mnt3 (poznamka 1): /home by se v normalnim Linuxu kopirovalo, ale u nas je /home sdileny se serveru pres NFS. Takze se nekopiruje, jen se vytvori prazdny adresar. [Co se kam mountuje je pri bootu specifikuje soubor /etc/fstab. Popis - viz manual: man fstab] 7. Instalace lila - aby novy disk bootoval Zedituj soubor /cil/etc/lilo.conf a zmen v nem polozky: bylo bude -------------------------------+------------------------ boot=/dev/hda boot=/dev/ide/host0/bus1/target0/lun0/disc (zde nejde uvest zkracene /dev/hdc) lilo.conf pak uloz a spust: shell# lilo -r /cil Pokud napise neco jako |Added l * |Added l-old |Added l-exp tak je to v poradku. Jinak koukej do /cil/etc/lilo.conf, co je tem jeste potreba zmenit. 8. Upravy konfigurace na novem disku Jmeno pocitace a konfigurace site je v etc/init.d/netconfig. V pripade noveho disku je to tedy /cil/etc/init.d/netconfig. V nem provedeme zmeny: HOSTNAME="novejmeno.praha.marbo.cz" DEVICE[0]="eth0" # device name IPADDR[0]="10.0.0." # IP address. NETMASK[0]="255.255.255.0" # netmask NETWORK[0]="10.0.0.0" # network address BROADCAST[0]="10.0.0.255" # broadcast address GATEWAY[0]="10.0.0.1" # default gateway address 9. Je-li treba pridat noveho uzivatele, tak na novem pocitaci ho vytvoris: shell# useradd kdosi A nastavis mu heslo shell# passwd kdosi Pak je potreba stejneho uzivatele se stejnym heslem pridat na serveru pomoci adduser: shell# adduser User to add (^C to quit): kdosi Full Name: Novy Uzivatel Min. Password Change Days [0]: Max. Password Change Days [90]: 0 Password Warning Days [14]: Days after Password Expiry for Account Locking [14]: useradd jen vytvari uzivatele, kdezto adduser i jeho /home adresar. --- konec --- Priloha A: Oznaceni IDE disku v Linuxu ************************************** Disk fyzicky Special device Special device pripojen na: file v devfs: (pozn. 1) file postaru: -----------------+----------------------------------------------+------------- primary master /dev/ide/host0/bus0/target0/lun0/disc /dev/hda 1. partition /dev/ide/host0/bus0/target0/lun0/part1 /dev/hda1 2. partition /dev/ide/host0/bus0/target0/lun0/part2 /dev/hda2 primary slave /dev/ide/host0/bus0/target1/lun0/disc /dev/hdb 1. partition /dev/ide/host0/bus0/target1/lun0/part1 /dev/hdb1 2. partition /dev/ide/host0/bus0/target1/lun0/part2 /dev/hdb2 secondary master /dev/ide/host0/bus1/target0/lun0/disc /dev/hdc secondary slave /dev/ide/host0/bus1/target1/lun0/disc /dev/hdd 3. radic master /dev/ide/host0/bus2/target0/lun0/disc /dev/hde 3. radic slave /dev/ide/host0/bus2/target1/lun0/disc /dev/hdf .. a tak dale (pozn. 1) V pripade, ze mame nove 2.4 a novejsi jadra se zaponutim devfs, tak obsah adresare /dev neni staticky na disku. Ten je tam pouze prazdny, stejne jako /proc, a vsechny polozku jsou tam namountovany jako virtualni disk, ktery nam 'podstrkuje' jadro. Stejne jako /proc. To je videt, kdyz se podivame do tabulky namountovanych filesystemu, tak tam mj. uvidime: shell# cat /proc/mounts none /dev devfs rw 0 0 none /proc proc rw 0 0 Aby zustala zachovana kompatibilita s drivejsimi linuxy, existuje devfsd. Daemon, ktery vytvari v /dev symbolicke odkazy tak, jak jsem byli drive zvykli. Pak tedy muzeme pouzivat obvyhle "mount /dev/hdb2 /mnt/cosi" namisto "mount /dev/ide/host0/bus0/target1/lun0/part2 /mnt/cosi". Pokud nic jako /dev/hdx nevidime, tak nebezi devfs Daemon. Toz ho spustme, napisme shell# /sbin/devfsd A pak, pokud se podarilo, uvidime nase strare hda, hdb, ... jako odkay. Nechaji se prehledne vylistovat takto: shell# ls -l /dev/hd[abcd] shell# ls -l /dev/hd[abcd][0-9]* Priloha B: Jak jadro rozpoznava disky a oddily na nich ****************************************************** V souboru /proc/partitions je prehled o tom, co si jadro aktualne mysli o pripojenych discich. Cisla major a minor jsou cisla spacialniho blokoveho zarizeni, nechme to byt jako prilis interni vec linuxu. Zajima nas ale sloupecek #blocks: To je pocet bloku o velikosti 1 kB (1024 B). Podivejme se na priklad: shell# cat /proc/partitions major minor #blocks name 9 0 78148096 md/0 22 64 78150744 ide/host0/bus1/target1/lun0/disc 22 65 78148161 ide/host0/bus1/target1/lun0/part1 3 0 8257032 ide/host0/bus0/target0/lun0/disc 3 1 7812472 ide/host0/bus0/target0/lun0/part1 3 2 444528 ide/host0/bus0/target0/lun0/part2 3 64 78150744 ide/host0/bus0/target1/lun0/disc 3 65 78148161 ide/host0/bus0/target1/lun0/part1 3,0 je prvni disk, cili primary/master, o velikosti 8257032 1kilobajtovych bloku, cili 8063 MB. 3,1 a 3,2 jsou dva oddily na tom disku o velikostech 7629 a 434 MB. | Co je to za oddliy zjistime kouknutim do fdisku: | | shell# fdisk -l ide/host0/bus0/target0/lun0/disc | Device Boot Start End Blocks Id System | /dev/..../part1 * 1 15501 7812472+ 83 Linux | /dev/..../part2 15502 16383 444528 82 Linux swap 3,64 a 22,64 jsou dva uplne stejne disky o kapacite 76 316 MB a na kazdem z nich je pouze jeden oddil (3,65 a 22,65). 9,0 je /dev/md/0, coz je softwarovy RAID. Ze je to RAID-1 (zrcadleni) a ze je tvoren na onech dvou stejnych discich, se dosvime v souboru /proc/mdstat: shell# cat /proc/mdstat Personalities : [linear] [raid0] [raid1] [raid5] [multipath] read_ahead 1024 sectors md0 : active raid1 ide/host0/bus1/target1/lun0/part1[1] ide/host0/bus0/target1/lun0/part1[0] 78148096 blocks [2/2] [UU]

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.