/dev/sda MBR másolása /dev/sdb-re

 ( bitvadasz | 2008. április 18., péntek - 12:13 )

Miért is:
A /dev/sda-n működő rendszert tükröztem /dev/sdb-re,
vagyis az ennek megfelelő /dev/md1, /dev/md2, /dev/md3 stb.
féllábú raid1 partíciókra.

fstab (/dev/md3/etc-ben) átírás: sda -> md

grub/menu (/dev/md1-en):

kernel (hd1,0)/boot/bzImage root=/dev/md3 3
initrd (hd1,0)/boot/initrd

(jó ez így?)

a két disk így néz ki (extended részletezése nélkül):

# fdisk -ul

Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders, total 156301488 sectors
Units = sectors of 1 * 512 = 512 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1              63      530144      265041   83  Linux
/dev/sda2          530145     4723109     2096482+  82  Linux swap / Solaris
/dev/sda3   *     4723110     6297479      787185   83  Linux
/dev/sda4         6297480   156280319    74991420    5  Extended
...

Disk /dev/sdb: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders, total 156301488 sectors
Units = sectors of 1 * 512 = 512 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1              63      530144      265041   fd  Linux raid autodetect
/dev/sdb2          530145     4723109     2096482+  fd  Linux raid autodetect
/dev/sdb3   *     4723110     6297479      787185   fd  Linux raid autodetect
/dev/sdb4         6297480   156280319    74991420    5  Extended
...

Kérdés: mit, hogyan vegyek rá, hogy sda mbr-ja átmásolódjon sdb-re?

P.S.:
1. verzió: már csak ez hiányzik.

2. verzió: "már csak az hiányzik", hogy elölről kezdjem a telepítést.

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

dd if=/dev/sda of=/dev/sdb count=512 bs=1

Core2Duo T7100, 2.5G, Ubuntu 7.10, 2.6.22

na, akkor most "ugrom a vízbe".

:-)

"már csak ez hiányzott."

Lehet, hogy itt a baj: a /dev/md/14 paramétereik nem stimmelnek.
pedig másolás közben jó volt.
Talán az md raid eszközök száma korlátozott (mint például a loopdevice esetében).

Na, ismétlés a tudás jó édes anyja!

:-)

Sokkal elegansabb:

sfdisk -d /dev/sda | sfdisk /dev/sdb

Habar ugyanaz a gyarto, ugyanaz a tipus, es a kapacitas is, megis en ezt jobb megoldasnak tartom, mint a dd-t.

--
Minden a legnagyobb rendben csúszik ki a kezeim közül.

ezt is ki fogom próbálni, és csak utána változtatom át "féllábú" raid1-nek.
Most már megint előttem az egész hétvége (az előbb még mögöttem volt).

Pláne mivel az sfdisk a kiterjeszett partíciókat is átklónozza.
--
http://kac.duf.hu/~balage/blog

Tudom, és "linuxosabb" is,
csak azért nem ezt választottam,
mert eddig a /dev/md[1-x] raid tömböket alkottam meg először.

Ez a "|" az igazi? a tartalmat is átviszi?
mert eddig csak a kacsacsőrrel ">" ismertem a partíciós tábla másolásához:

sfdisk -d /dev/sda > part.tabla
sfdisk /dev/sdb < part.tabla

Jobb későn, mint annál is később.

Eddig jobb híján napi hajnali programozott lemeztükrözéssel tartottam életben az önbecsülésemet, de a héten csöngettek a bejárati ajtón - kinézek és látom, megjött az eszem.

Szóval nyerő eljárás (nálam, UHU 2.1):

1. Parted Magic LiveCD/USB bedug.

2. particionálás: (round to cylinders bekapcsolva)

kb így:

sda1   64M /boot ext3
sda2 2G    swap
sda3  512M / ext3
sda4 - extended

utána üres hely 8M (aztán lesz amennyi lesz, de az sda4-nek cilinderre passzítva van vége - és ez rendkívül fontos abban az egy esetben, amikor egyáltalán kéne ez a dolog)

sda5 10G /tmp reiserfs
sda6  2G /opt reiserfs
sda7  2G /var reiserfs
sda8  8G /usr reiserfs
sda9 amennyi maradt /home reiserfs

3. telepítés

Azért rakom azt a nyúlfarknyi /boot-ot az elejére, hogy később ne legyen gond, hogy hanyas cilinder, hanyas fej, hanyas szektor.

/var/tmp átirányítva /tmp/var-ba

4. manuális tükrözés

4.1. felosztás másolása

sfdisk -d /dev/sda > /valahova/particios.tabla
sfdisk /dev/sdb < /valahova/particios.tabla

(itt tűnik feleslegesnek az előbbi cilinderhez való igazítás, mert a való életben nem garantált, hogy még egyszer fizikailag ugyanolyan hdd-t kapunk)

4.2. MBR másolása

dd if=/dev/sda of=/dev/sdb bs=1 count=512

(ha ez nem itt a cfdisk előtt történik, az a szopás - nem az orális szex.)

4.3. az összes partíciót, beleértve a swapot is
át állítani linux raid autodetect-re (FD)

cfdisk /dev/sdb

[TIPUS],   [KIIRÁS],   [KILÉPÉS]

4.4. féllábú raid1 tömbök létrehozása

mdadm -C /dev/md1 -l 1 -n 2 /dev/sdb1 missing
mkfs.ext3 /dev/md1

mdadm -C /dev/md2 -l 1 -n 2 /dev/sdb2 missing
mkswap -c /dev/md2
...
...
mdadm -C /dev/md5 -l 1 -n 2 /dev/sdb5 missing
mkreiserfs /dev/md5
...

4.5. a tartalmak másolása

mkdir /mnt/md

ide szép sorban átmenetileg bemountolva /dev/md1 stb..

sda[1,3,5,6,7,8,9] átmásolása md[1,3,5,6,7,8,9]-be

én ezt cat-ot használva partíciónként hajtottam végre

Közben:
mikor sdb1 van bemountolva /mnt/md-be
akkor /mnt/md/grub/menu.list-ben
a default bejegyzés átírása:

title UHU-Linux konzol
kernel (hd0,0)/boot/bzImage root=/dev/md3 3
initrd (hd0,0)/boot/initrd

mikor sdb3 van bemountolva /mnt/md-be
akkor /mnt/md/etc/fstab-ban

sdb[x]-ek átírása md[x]-ekre

/dev/md1 /boot ext3 defaults 1 2
/dev/md2 swap swap defaults 0 0
/dev/md3 / ext3 defaults 1 1
/dev/md5 /tmp reiserfs defaults 1 2
/dev/md6 /opt reiserfs defaults 1 2
/dev/md7 /var reiserfs defaults 1 2
/dev/md8 /usr reiserfs defaults 1 2
/dev/md9 /home reiserfs defaults 1 2

nem pont ebben a sorrendben van az fstab-ban csak itt rendeztem sorba

5. kikapcs

mert hogy az /etc/bashrc-be beírtam az aliasok közé:

alias kikapcs='poweroff'

6. Brutál teszt

master-slave jumper csere mindkét disk-en
és csak az új raid1 disk fedugása IDE master-nak

(azért "IDÉ"-zek, mert a SATÁ-n lesz a raid5-ös /dev/md0-ás tömb)

és miután csodák nincsenek, elindul rendben minden

Itt hívom fel a figyelmet az MBR másolás és a cfdisk-es típusátállítás sorrendjének betartására, mert bármilyen nagyvonalúság eredménye később nagyon ki tudja hozni az ördögöt az emberből egy - itt teljesen felesleges - grub-install-os mellékutcában.

csak a rend kedvéért ellátogatunk
a /dev/disk/by-type/linux_raid_member könyvtárba,
és megcsodáljuk a @sda1, @sda2 ... @sda9 bejegyzéseket.

7. az eredeti "szülő" disket is feldugni slave-nek.

8. Hozzáadni a raid tömbökhöz ami jár nekik, szinkronizálás indul.

9. Minden nagyon gromek.

10. Egy percre elégedetten hátradűlünk a széken - lehetőleg a háttámla irányában.

A normális ember végignézve tavalyi irkálásait megállapítja, hogy akkor milyen hülye volt.

Tartok tőle, hogy jövőre is ez lesz.