[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Softraid - grundsätzliche Frage



Moin beisammen,

jetzt hab ich mal wieder eine Testreihe durchgeführt. Hier die
Erkenntnisse, die ich gewonnen habe:


Martin Steigerwald, Freitag, 20. Juli 2012: 

> >   drinhängt, egal ob als sdb oder als sda.
> 
> Ich hätte gerne mal fdisk -l für sda und sdb und cat /proc/mdstat.
> 
> Kann nicht sagen, ob es was bringt, aber ich möchte jetzt wirklich erst
> nochmal genau Dein Setup sehen.

Kriegst Du - hier die Partitionierung [¹], hier das Raid [²]. Und wenn
wir schon dabei sind - hier df -hT [³].



> Naja, hab ich doch gezeigt. Das core.img liegt als Datei in /boot/grub
> und dessen Inhalt muss halt irgendwo hinter dem MBR wieder auftauchen.
> Ich hab hier nur halt einen Teil überprüft.
> 
> Es könnte auch weiter hinten noch kaputt sein. Mit dem Wissen, wo es
> genau anfängt und wie lange es ist, ließe es sich mit dd in eine Datei
> speichern und diese dann mit /boot/grub/core.img vergleichen.

Sorry, das hatte ich nicht genau genug gelesen. Aber jetzt habe ich das
nochmal überprüft (jetzt kenne ich dd, xxd, diff und cmp genau ;) )


Im Einzelnen:

- Direkt nach einer Installation einer Minimal-Squeeze liegt core.img
  auf sda, beginnend mit dem 513. Byte, insgesamt 27270 Bytes lang.
  Auf sdb liegt core.img nicht, die Bytes 513-27782 stimmen nicht mit
  core.img überein, und zwar schon nach dem 2. Byte.

- ein dpkg-reconfigure grub-pc führt dazu, daß die Bytes 513-27782 von
  sda und sdb übereinstimmen, und diese stimmen wiederum mit der
  core.img überein.

- anders als in einem früheren Beitrag geschrieben stimmen aber sowohl
  direkt nach einer Neuinstallation, als auch nach einem anschließenden
  dpkg-reconfigure grub-pc die ersten 440 Bytes von sda und sdb nicht
  überein. Der Abschnitt für den Bootloader differiert also.

  Daraufhin habe ich gemacht

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

  Ergebnis:

  # cmp /dev/sda /dev/sdb
  /dev/sda /dev/sdb differieren: Byte 33281, Zeile 98.

  Also sind Bootloader, Partitionstabelle, core.img und noch weitere
  5499 Bytes nunmehr identisch.

  Trotzdem bootet die Kiste nicht von der urspr. sdb, der Effekt ist wie
  immer: ununterbrochene Neustarts. Hänge ich stattdessen die urspr. sda
  wieder rein (egal an welchen Port, also so wie ursprünglich
  installiert, oder vertauscht), dann startet Kiste und RAID ganz
  normal.


Festzuhalten ist also: Der Bootloader-Abschnitt im MBR auf beiden Platten
unterscheidet sich vor und auch nach einem dpkg-reconfigure grub-pc, und
übrigens auch nach einem grub-install /dev/sda bzw. sdb. Das core.img
aber kann auf diese Weise auf sdb untergebracht werden. Auf sda ab Byte
513 landet das core.img dagegen nach der Installation von selbst.

Der Grund, warum die Kiste nicht starten will, muß also irgendwo weiter
hinten ab Byte 33281 liegen. Da wiederum kenne ich mich nicht genau
genug aus, keine Ahnung, was dort abgelegt ist.





> Aber an sich sollte das ja tun, es sei denn Du hast da noch Windows
> drauf und eine Software die unter Kopierschutz versteht, hinter MBR und
> vor 1. Partition ein paar Daten reinzumalen und damit GRUB zu
> überschreiben. Das dürfte aber hier auch nicht der Fall sein.

Nein, das ist nicht der Fall. Die Platten haben Windows noch nie
gesehen.



Tja, es bleibt festzuhalten: ich verstehe schlicht nicht, was eine Kiste
zum starten braucht. MBR + core.img stimmen überein, weiter hinten
sollten die Platten wg. RAID ebenfalls übereinstimmen, und doch
unterscheiden sie sich auf eine für den Start relevante Weise.


Freue mich über jede Erhellung.

Gruß+schönen Sonntag,
Andre






[1]
# fdisk -l /dev/sda

Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000d52c6

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1          25      194560   fd  Linux raid
autodetect
Partition 1 does not end on cylinder boundary.
/dev/sda2              25         268     1952768   fd  Linux raid
autodetect
Partition 2 does not end on cylinder boundary.


# fdisk -l /dev/sdb

Disk /dev/sdb: 320.1 GB, 320071851520 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0002508c

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1          25      194560   fd  Linux raid
autodetect
Partition 1 does not end on cylinder boundary.
/dev/sdb2              25         268     1952768   fd  Linux raid
autodetect
Partition 2 does not end on cylinder boundary.



[2]
# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sda2[0] sdb2[1]
      1951732 blocks super 1.2 [2/2] [UU]

md0 : active raid1 sda1[0] sdb1[1]
      194548 blocks super 1.2 [2/2] [UU]

unused devices: <none>



[3]
# df -hT
Dateisystem   Typ     Size  Used Avail Use% Eingehängt auf
/dev/mapper/vg-vg--root
              ext3    1,9G  684M  1,1G  39% /
tmpfs        tmpfs   1002M     0 1002M   0% /lib/init/rw
udev         tmpfs    996M  168K  996M   1% /dev
tmpfs        tmpfs   1002M     0 1002M   0% /dev/shm
/dev/md0      ext3    184M   22M  153M  13% /boot


-- 
Andre Tann


Reply to: