Mandag den 22. august 2005 11:15 skrev Jonas Smedegaard:
 Forresten - er der nogen der kender den mest
> korrekte måde at tage rå kopi af en hel harddisk? Er det blot at bruge
> "dd if=/dev/hda of=/dev/hde" eller du'r det kun at kopiere MBR med over
> hvis diskene er fuldstændigt identiske (samme cylindre og sår'n)? Bør
> jeg bruge flere options - f.eks bs=512 eller sår'n?
>
> (stod forleden med situationen at jeg var usikker ved gen-aktivering af
> 200GB RAID+LVM-data)

Cylindre ikke betyder fysiske cylindre, men er en ren 
softwaremæssig opdeling af harddisken der så vidt jeg ved i realiteten er 
uden betydning for linux - bortset fra ved partitionering - og er en arv fra 
windows. Eks:

fdisk -l /dev/hdc

Disk /dev/hdc: 122.9 GB, 122942324736 bytes
16 heads, 63 sectors/track, 238216 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes

Det er ret klart at der ikke er 238216 fysiske cylindre. Jeg mener at det 
forholder sig således: Cylindrenes størrelse skal være et multiplum af 512 
bytes (1024 kan også forekomme). Linux vælger cylinderstørrelsen 1008 styks 
512 bytes fordi de 1008 giver bedst udnyttelse af hd. Hvis du synes det var 
sjov, kunne du godt bruge f.eks. 947 i stedet for 1008. Det ville bare give 
lidt dårligere udnyttelse af pladsen på hd.). Dvs. du kan kopiere hd med:

dd if=/dev/hdc of=/dev/hdx bs=512 count=238216*1008

(hvor du selvfølgelig har udregnet count). Du kan også bruge:

dd if=/dev/hdc of=/dev/hdx bs=512*1008 count=238216

Dvs. (uanset antallet af fysiske cylindre) kan du dd fra /dev/hdc til /dev/hdx 
hvis hdx er større end hdc. Du vil næppe få samme størrelse sofware-cylindre 
som fdisk ville have givet dig, men det gør ikke noget, selvom fdisk brokker 
sig. (Så vidt jeg husker, er cfdisk ligeglad.)


Men hvorfor ikke partitionere /dev/hde, mounte partitionerne og 
kopiere/opdatere indholdet med f.eks.

  cp -aux /mnt/hda1 /mnt/hde1

? 

Flemming

Besvar via email