boot degraded raid1-ről

Fórumok

Hi!

Debian Squeeze-t telepítettem, soft raid1-re tettem a /boot-ot. Partíciók típusa fd, eszköz neve md2. Grub telepítése: grub-install /dev/md2. Szépen indul is vele a rendszer. Gondoltam letesztelem, bootol-e degraded módban is? Az egyik vinyóról igen, a másikról nem. Ott eljut addig, hogy kiírja a booting és a welcome feliratot, aztán néhány másodperc múlva újraindul a gép. Hogyan vehetném rá a rendszert, hogy erről a vinyóról is bootoljon?

Hozzászólások

elindítod a grub ot majd:

device (hd0) /dev/sdb
root (hd0,0)
setup (hd0)
quit

Ubuntu 10.04, Thinkpad x61s

User Error. :DDD
Bocs, nálam mindig működött/működik. Mondjuk logikai /dev/mdX-re soha nem szoktam "mbr"-t rakni, azt inkább a fizikai eszközre teszem... /dev/sdX|hdX-ekre. Oda, ahol be is van állítva a boot flag. És igen, ezek a partíciók egy softraid (tükör)tömb részei a boot után. (/boot-ot eddigi életem során csak tükör raidre raktam (vagy partícióra :D ), más raidlevellel nem próbálkoztam.)

A fenti rutinom alapján (ami nem hibátlan és támadhatatlan, viszont nekem elég) tippeltem a megoldásra, Nálad nyilván tök más a helyzet. :(

+1

Boot from the DVD,
mount md1 and md0(a sorszámot te tudod)
chroot to md1,
run "grub-install /dev/sda",
"grub-install /dev/sdb",
"update-grub",
"update-initramfs -u -k $(uname -r)"
exit, and try rebooting into your install.

ezek után ha nem megy, akkor már legalább grub prompt-ot fogsz
kapni és a fentit be tudod írni.
innen

Squeezy(e): grub-pc 1.98+20100804-14 (szerk.: persze squeeze, csak béna vagyok. :D )


/etc/default/grub:
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.

GRUB_DEFAULT=0
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="elevator=deadline"
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
GRUB_DISABLE_LINUX_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

update-grub futtatása

grub menüt KELL kapnod boot előtt, 10 másodpecig vár, majd bootol.

Ellenőrizd le hogy a partíciók, amikről bootolni kívánsz, aktívak-é. (fdisk -l, és csillagos a bootolható partíció. A /boot tömb mindkét partíciójának csillagosnak kell lennie.)

dpkg-reconfigure grub-pc

Amikor még ép volt a raid akkor mindkét merevlemezre telepítetted a rendszerbetöltőt (grub) ?
Ha igen akkor minden gond nélkül lehet egy (bármelyik) merevlemezről rendszert indítani.

--
maszili

A rendszerbetöltőt nem a raid tömbre telepíted hanem a merevlemezre. (Az alaplap csak annyit tud, hogy melyik merevlemezről indítsa a rendszert. Fogalma nincs a szoftveres raid tömbről /md0/)

A gyári Debian telepítő készlet csak az egyik merevlemezre rakja fel a rendszerbetöltőt. Ezért ha az megy tönkre akkor a rendszert pl. egy live-cd segítségével lehet elindítani. Ezt a szituációt megelőzendő a szoftveres raid esetén minden merevlemezre utólag kézzel kell telepíteni a rendszerbetöltőt. Így a grub menüben kiválasztható, hogy melyik megmaradt merevlemezről indítsa a rendszert.

--
maszili

Ha sw raid1-em van es telepitem az adott mdX -re a grubot, akkor miert is nem kerul ra mindket diskre, ahogy logikus lenne? Bar lehet tevedek, de imho ramegy az mindkettore.
En fel szoktam venni ugyanazt a kernelt ketszet, 1-1 diskre allitva a rootot, illetve fallback 1-et beloni menu.lstben (grub.cfgben, ahogy tetszik).

Csak ötletelek: a grub rámegy, de az MBR nem a tömb része, hanem a "vasé"... BIOS -> first boot device -> load MBR -> onnantól meg már okoskodik a loader.

Nekem az a tapasztalatom, hogy ha minden diszk MBR-jébe beteszem a grubot (lilo-t, smb-t, akármit), akkor az első lemez halálakor másik diszk lesz az első, és frakón bootol a rendszer matatás nélkül, lelkesen lecsap a spare-eszközökre, és sipákol, hogy "van egy hulla! Fújj..!"...

Ezzel csak az a gondom, hogy már akkor is kiírta a welcome feliratot a_grub_, amikor még csak /dev/md2-re installáltam.
Megtaláltam, mi volt a gond. Nagyon égő: a boot flag hiányzott arról a hdd-ről, amelyikről nem bootolt. Aztán, hogy a grub-install /dev/sdd kellett-e a működéshez, vagy csak ez, nem tudom.

Szerintem a boot flag-el már régóta nem foglalkozik senki.

A Grub része az MBR-be írt rendszerbetöltő is. Tehát mint ahogy már többször is leírtam (mások is előttem) a szoftveres raid tömb /dev/mdX _nem_ tartalmazza az MBR-t hiszen egy partícíóra épül a szoftveres raid, az MBR (a grub rendszerbetöltő része) meg a partíción kívül esik.

Ezért hiába "telepíted a grubot a /dev/mdX" -re annak semmi köze a rendszer betöltéséhez. A grubot a merevlemezre (pl. /dev/sdX) kell telepíteni nem a raid tömbre (pl. /dev/mdX).

--
maszili

boot flag:

info innen
Step 14. A critical step. This will be the /boot partition. It is the first partition on the disk so we want it bootable.

a fentiek szerint kell. Olyan tömböm már volt, amin
nem volt beállítva a partíció típusa linux raid auto-re(sd(ab)),
de boot flag nélküli még nem. De kipróbálom majd.