Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: GentooForum.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

02.06.2011, 11:35

Grub2 in Software Raid1 einrichten > /sbin/grub-probe: error: no such disk.

Hallo,

ich bin mir aktuell auf einem kleinen Atom ein Gentoo am installieren. Die "Besonderheit" daran ist, dass ich mir ein SoftwareRAID eingerichtet hab:

Das System besitzt 2 1TB Festplatten (sda / sdb)

via RescueSysCd hab ich mein System wie folgt vorbereitet:

1. mittels fdisk 2 identische Partitiontables auf den Geräten angelegt:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00021bf5

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048     2099199     1048576   82  Linux swap / Solaris
/dev/sda2   *     2099200   104859647    51380224   fd  Linux raid autodetect
/dev/sda3       104859648  1953525167   924332760   fd  Linux raid autodetect


Quellcode

1
2
3
4
5
6
7
8
9
10
11
Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0004f273

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     2099199     1048576   82  Linux swap / Solaris
/dev/sdb2   *     2099200   104859647    51380224   fd  Linux raid autodetect
/dev/sdb3       104859648  1953525167   924332760   fd  Linux raid autodetect


sd*1 == swap
sd*2 == Gentoo System komplett
sd*3 == "Datenlager"

2. mknod verwendet

Quellcode

1
2
mknod /dev/md2 b 9 2
mknod /dev/md3 b 9 3


3. RAID1 Verbund erstellt

Quellcode

1
2
mdadm --create /dev/md2 --level=1 --raid-devices=2 /dev/sda2 /dev/sdb2
mdadm --create /dev/md3 --level=1 --raid-devices=2 /dev/sda3 /dev/sdb3


Dabei bekam ich je den Hinweis:

Quellcode

1
2
3
4
5
mdadm: Note: this array has metadata at the start and
    may not be suitable as a boot device.  If you plan to
    store '/boot' on this device please ensure that
    your boot-loader understands md/v1.x metadata, or use
    --metadata=0.90


Laut einem wiki versteht aber mein bevorzugter Grub2 v1.x metadata. Von daher sollte das ok sein.

4. Auf md2 und md3 hab ich dann je ein ext4 FS erstellt.

5. Die swap Partitionen hab ich mit gleicher Priorität bereitgestellt

Quellcode

1
2
livecd ~ # mkswap /dev/sda1 && mkswap /dev/sdb1
livecd ~ # swapon -p 1 /dev/sda1 && swapon -p 1 /dev/sdb1


6. Mittels chroot auf's zukünftig frische System gesetzt und mit der "Basisinstallation" fortgesetzt

fstab:

Quellcode

1
2
3
4
5
6
7
# <fs>                  <mountpoint>    <type>          <opts>          <dump/pass>

# NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.
/dev/md2          /                       ext4  noatime         0 1
/dev/md3          /storagebox        ext4  defaults        0 2
/dev/sda1         none                    swap  sw,pri=1        0 0
/dev/sdb1         none                    swap  sw,pri=1        0 0


7. Nach Kernel kompilieren, benötigte Pakete emergen (inkl. Grub1.99_rc1), diverse Config Files anpassen, wollte ich nun mit Grub2 die Config schreiben lassen:

Und da kommen wir zu meinem Problem:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
grub-mkconfig
Generating grub.cfg ...
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  load_env
fi
set default="0"
if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}

function load_video {
  insmod vbe
  insmod vga
  insmod video_bochs
  insmod video_cirrus
}

/sbin/grub-probe: error: no such disk.

/sbin/grub-probe: error: no such disk.

( mir ist klar, dass ich erst mit Anhang -o /boot/grub/grub.cfg die Config schreibe)

Dementsprechend sagt ein:

Quellcode

1
2
3
4
dhcppc5 linux # grub-install /dev/md2 
/sbin/grub-probe: error: no such disk.
Auto-detection of a filesystem of /dev/md2 failed.
Please report this together with the output of "/sbin/grub-probe --device-map="/boot/grub/device.map" --target=fs -v /boot/grub" to <bug-grub@gnu.org>


:?: Es ist doch richtig, dass ich ab nun sda*/sdb* links liegen lasse (außer die swap's) und die zugehörigen /dev/md2 und /dev/md3 verwende, oder? Also das ich konkret /dev/md2 angebe, weil sich dort die /boot Partition befindet ?(

Unter /boot liegt der frische Kernel:

Quellcode

1
2
3
4
dhcppc5 linux # ls /boot/ -l
total 3964
drwxr-xr-x 3 root root    4096 Jun  2 13:03 grub
-rw-r--r-- 1 root root 4052816 Jun  2 12:44 kernel-2.6.39-gentoo


Jetzt hoffe ich einfach mal, dass jemand das schonmal gemacht hat und mir helfen kann :)

Wünsche euch allen einen schönen Feiertag!

Chris
DE4 rocks! http://kde.org

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Chris81T« (11.06.2011, 23:17)


2

02.06.2011, 12:32

Hi Chris

Hmm., ich würde versuchen GRUB nicht aus der chroot Umgebung aus einzurichten sondern aus dem frisch installierten laufenden System heraus. (dort sollten die Devices dann ja bekannt sein?!)
Um das neu installierte System zu booten nutze zb eine GRUB Diskette, oder die Super Grub2 Disk

Viel Erfolg

3

02.06.2011, 13:15

Hi Josef!

Okay, ich werde es gleich mal mit der SuperGrub2 Disk probieren. In nem Screenshot des Projektes war schön zu sehen, dass man da einen Raid Support aktivieren kann. Eventuell ist schon das was mir eigentlich fehlt.
Na ja, ich probier erst mal mein System damit zu starten (und hoffe, dass es auch reibungslos hochfährt 8) )

Ich werde berichten, wenn ich es gelöst bekomme oder auch nochmal euch um Mithilfe bitten ;)
DE4 rocks! http://kde.org

4

02.06.2011, 19:30

Leider bin ich mit der Super Grub2 Disk nicht weitergekommen.

Meine Hoffnung lag zwar bei dem Aktivieren des Raid Support's, aber es wird nichts gefunden:
- Detect any OS
- Detect any GRUB2 configuration file (grub.cfg)
- Detect any GRUB2 installation (even if mbr is overwritten)
- Detect loop bootable isos (in /boot-isos or /boot/boot-isos/)
...
- List devices/partitions

Letzteres zeigt mir zwar meine Partitionen der festplatten an, aber es wird je ein Unknown-Filesystem angegeben.

Habe eben via SystemRescCd das System hochgefahren.

Was mir aufgefallen ist:
/dev/md2 heißt nun /dev/md126
/dev/md3 heißt nun /dev/md127

Warum ?(

Trotzdem kann ich mich weiterhin problemlos nach mounten der Partitionen via chroot auf das frische System begeben. Aber auch nach der Umbenennung der /dev/md's lässt sich mittels grub nichts konfigurieren.

Leider find ich nichts passendes zu dem besagten Raid Support für Grub2 (außer auf der Super Grub2 Disk Website).

Was ich mich auch frage: Welcher MBR soll denn nun letztendlich beschrieben werden? Von sda oder von sdb?

Ich hoffe echt, dass jemand noch ne Idee hat. Mir gehen die langsam aus...
DE4 rocks! http://kde.org

5

03.06.2011, 12:50

Habe eben via SystemRescCd das System hochgefahren.

Was mir aufgefallen ist:
/dev/md2 heißt nun /dev/md126
/dev/md3 heißt nun /dev/md127

Warum ?(
Im Nachbarforum gab es dazu vor ein paar Wochen einen Thread, schau doch mal ob dir die Infos dort weiterhelfen - siehe
[gelöst] RAID6 taucht nach Reboot als /dev/md127 auf
und
[solved] Kernel, RAID and mdadm woes (initrd)

Was ich mich auch frage: Welcher MBR soll denn nun letztendlich beschrieben werden? Von sda oder von sdb?

Ich denke du kannst dir eine Platte aussuchen.. ;) denn es sind bei einem SW-RAID 1 ja beide Platten/Partitionen identisch, und die benötigten Daten somit auf beiden Platten/Partitionen vorhanden.
Ich würde im BIOS die sda Platte als boot Device einstellen, dann ist aus GRUB (GRUB Legacy) Sicht die Platte bzw dein /boot/ Verzeichnis, wo die GRUB Stages und das zu startende Kernel-Image liegen
(in der grub.conf)

Quellcode

1
root (hd0,1)
(also dein /dev/sda2)
und den MBR installiertst du dann in

Quellcode

1
(hd0)

Das könntest du aber auch mit beiden Platten machen.

Ich habe aber leider keine Erfahrung wie man bei GRUB-2 die grub.cfg (grub.conf) passend einrichtet...

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »josef.95« (03.06.2011, 12:58)


6

05.06.2011, 14:16

So, ich habe mich am WE intensiver in das Thema Software Raid eingelesen. Werde nun eine Sicherung des aktuellen Systems machen und den SW-Raid von vorne einrichten. U.a. ist es nicht schlecht, nach dem erzeugen des Raid's unter /proc/mdstat zu schauen, wann diese mit der Synchronisation fertig sind bevor man mit dem Erzeugen der Dateisysteme beginnt.

Ich werde die nächste Woche schauen, dass ich es zum Laufen bekomme und dann hier berichten.

PS: Ich gehe aber auch von aus, dass ne eigene Initrd benötigt wird. Denn die Metadaten v0.9 unterstützen das autodetect. Das macht Version1.2 so nicht mehr. Das ist aber auch gewollt ( Hab's am Freitag gelesen, find den Artikel grad net, sonst würd ich auch den Grund hier nennen )

---
Quellen:
Installing Gentoo SW-Raid
SATA Raid Boot Recipe
DE4 rocks! http://kde.org

7

11.06.2011, 23:17

Leider bin ich nicht zum Ziel gekommen.

Da mir die Zeit zu knapp wird, hab ich mir eine Alternative überlegt.

Ich habe mir drei identische Partitionen auf den 2 sata's angelegt.

Quellcode

1
2
3
4
sda/b1 swap (durch gleiche Prio -> stripped mode)
sda2 /
sdb2 /usr/portage
sda/b3 --> md/storage --> RAID1 Verbund (Datenlager)


Nach dem Anlegen des Raid-Verbunds nach /dev/md/storage (Das Sys erzeugt einen symbolischen Link nach (zb bei mir) /dev/md127) habe ich erst abgewartet, bis der Raid Verbund abgeglichen ist.

Quellcode

1
watch -n .1 cat /proc/mdstat


Danach hab ich das Filesystem erzeugt, mdadm in den boot-level gelegt und damit nach /etc/mdadm.conf den Array Verbund angegeben.

Quellcode

1
mdadm --detail --scan >> /etc/mdadm.conf


Somit ist nun das System außerhalb vom Raid Verbund, was mich so nicht stört. Falls wirklich eine Platte kaputt gehen soll, in meinem Fall die sda, muss/kann ich mir mit einem Live System weiterhelfen.
Vorteil daran war nun, dass ich erst das System eingerichtet hab, mdadm emerged hab und dann auf dem richtigen System (nicht auf einem Live System) den Raid1 Verbund angelegt hab. So ist auch der korrekte Hostname und Co verwendet worden.

Damit ist dieser Thread erledigt...
DE4 rocks! http://kde.org