Raid programowy, instalacja gruba po awarii dysku
: 20 października 2009, 16:28
Napisałem do Was bo pomału zaczyna brakować mi pomysłów na rozwiązanie mojego problemu.
Jakiś czas temu uruchomiłem sobie serwer, w nim dwa dyski które miały pracować jako raid lustrzany.
Zrobiłem w tym celu tablicę przy użyciu ,,fake raida'' na płycie głównej oraz wykorzystałem LVM? Podczas instalacji Debiana za pomocą, którego utworzyłem w Linusie partycję, która zawierała te dwa dyski (mirror), z tego co pamiętam powieliłem te dwa zadania dlatego, że Linux nie widział tego rozwiązania proponowanego przez ,,fake-raid'' płyty głównej.
System się zainstalował, wszystko było w porządku do momentu kiedy awarii uległ jeden z dysków.
Raid dosowy oczywiście zgłasza krytyczny błąd i prosi o wymianę dysku oraz odbudowę układu.
System niestety przestał się uruchamiać, prawdopodobnie dlatego, że Linux nie współpracuje z ,,fake raidem''?
Wymieniłem ten dysk, ustawiłem odbudowę tablicy w biosie, restartuję z nadzieją na to że ruszy, a tu niestety.
Problem taki sam jak w momencie awarii:
Mam coś takiego:
Po zamontowaniu przez: lub /dev/sdb1 mam takie same dyski wiec jakby odbudowa faktycznie odtworzyła obrazy tylko program rozruchowy był na tym dysku, który uległ awarii?
Chciałem zainstalować gruba z livecd za pomocą tej metody:
Proszę o wskazówki.
/etc/fstab:
/boot/grub/device.map:
/boot/grub/menu.lst
Jakiś czas temu uruchomiłem sobie serwer, w nim dwa dyski które miały pracować jako raid lustrzany.
Zrobiłem w tym celu tablicę przy użyciu ,,fake raida'' na płycie głównej oraz wykorzystałem LVM? Podczas instalacji Debiana za pomocą, którego utworzyłem w Linusie partycję, która zawierała te dwa dyski (mirror), z tego co pamiętam powieliłem te dwa zadania dlatego, że Linux nie widział tego rozwiązania proponowanego przez ,,fake-raid'' płyty głównej.
System się zainstalował, wszystko było w porządku do momentu kiedy awarii uległ jeden z dysków.
Raid dosowy oczywiście zgłasza krytyczny błąd i prosi o wymianę dysku oraz odbudowę układu.
System niestety przestał się uruchamiać, prawdopodobnie dlatego, że Linux nie współpracuje z ,,fake raidem''?
Wymieniłem ten dysk, ustawiłem odbudowę tablicy w biosie, restartuję z nadzieją na to że ruszy, a tu niestety.
Problem taki sam jak w momencie awarii:
Kod: Zaznacz cały
Grub Error: 21
Kod: Zaznacz cały
debian:/home/user# fdisk -l
Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00036957
Device Boot Start End Blocks Id System
/dev/sda1 1 13981 112302351 fd Linux raid autodetect
/dev/sda2 13982 14593 4915890 fd Linux raid autodetect
Disk /dev/sdb: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00036957
Device Boot Start End Blocks Id System
/dev/sdb1 1 13981 112302351 fd Linux raid autodetect
/dev/sdb2 13982 14593 4915890 fd Linux raid autodetect
Kod: Zaznacz cały
mount -t ext3 /dev/sda1
Chciałem zainstalować gruba z livecd za pomocą tej metody:
Ale w momencie wydania polecenia:Instalacja GRUBa w MBR za pomocą LiveCD Autor: Adamo8
Odpalamy jakiś LiveCD np. Knoppix, Ubuntu Live, Debian LiveCD itp.
- Jeśli nie pamiętamy jakie właściwie mamy partycje na dysku (numeracja i system plików) to po odpaleniu systemu z płytki możemy to sprawdzić graficznym programem qparted lub wydając w terminalu polecenie (jako root!):- Jako root wydajemy kolejno (oczywiście musisz wpisać zamiast hda7 swoją partycję):Kod: Zaznacz cały
fdisk -l
- Powinieneś zobaczyć taki wpis:Kod: Zaznacz cały
mkdir /mnt/root mount -t ext3 /dev/hda7 /mnt/root mount -t proc none /mnt/root/proc mount -o bind /dev /mnt/root/dev chroot /mnt/root /bin/bash grub
Jeśli tak to jest w porządku.Kod: Zaznacz cały
grub>
- Wpisujemy dalej:Pokaże nam co zostało znalezione.Kod: Zaznacz cały
find /boot/grub/stage1
- Jedziemy dalej (też podaj swój dysk i partycję):Po restarcie powinniśmy mieć Gruba zainstalowanego i dostęp do systemu. Jeżeli tak nie będzie, upewnij się, że dobrze robisz i spróbuj ponownie. Jeżeli znowu się nie uda, spróbuj innego sposobu.Kod: Zaznacz cały
root (hd0,6) setup (hd0)
Kod: Zaznacz cały
debian:/home/user# mount -t proc none /mnt/root/proc
mount: Stale NFS file handle
debian:/home/user# mount -o bind /dev /mnt/root/dev/
debian:/home/user# chroot /mnt/root/ /bin/bash
chroot: cannot run command `/bin/bash': No such file or directory
/etc/fstab:
Kod: Zaznacz cały
# /etc/fstab: static file system information.
#
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
/dev/md2 / ext3 defaults,errors=remount-ro 0 1
/dev/md3 none swap sw 0 0
/dev/md4 /home ext2 defaults 0 2
/dev/hda /media/cdrom0 udf,iso9660 user,noauto 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto 0 0
Kod: Zaznacz cały
(hd0) /dev/sda
(hd1) /dev/sdb
(hd2) /dev/sdc
(hd3) /dev/sdd
Kod: Zaznacz cały
# menu.lst - See: grub(8), info grub, update-grub(8)
# grub-install(8), grub-floppy(8),
# grub-md5-crypt, /usr/share/doc/grub
# and /usr/share/doc/grub-doc/.
## default num
# Set the default entry to the entry number NUM. Numbering starts from 0, and
# the entry number 0 is the default if the command is not used.
#
# You can specify 'saved' instead of a number. In this case, the default entry
# is the entry saved with the command 'savedefault'.
# WARNING: If you are using dmraid do not change this entry to 'saved' or your
# array will desync and will not let you boot your system.
default 0
## timeout sec
# Set a timeout, in SEC seconds, before automatically booting the default entry
# (normally the first entry defined).
timeout 5
# Pretty colours
color cyan/blue white/blue
## password ['--md5'] passwd
# If used in the first section of a menu file, disable all interactive editing
# control (menu entry editor and command-line) and entries protected by the
# command 'lock'
# e.g. password topsecret
# password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
# password topsecret
#
# examples
#
# title Windows 95/98/NT/2000
# root (hd0,0)
# makeactive
# chainloader +1
#
# title Linux
# root (hd0,1)
# kernel /vmlinuz root=/dev/hda2 ro
#
#
# Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST
### BEGIN AUTOMAGIC KERNELS LIST
## lines between the AUTOMAGIC KERNELS LIST markers will be modified
## by the debian update-grub script except for the default options below
## DO NOT UNCOMMENT THEM, Just edit them to your needs
## ## Start Default Options ##
## default kernel options
## default kernel options for automagic boot options
## If you want special options for specific kernels use kopt_x_y_z
## where x.y.z is kernel version. Minor versions can be omitted.
## e.g. kopt=root=/dev/hda1 ro
## kopt_2_6_8=root=/dev/hdc1 ro
## kopt_2_6_8_2_686=root=/dev/hdc2 ro
# kopt=root=/dev/md2 ro quiet
## default grub root device
## e.g. groot=(hd0,0)
# groot=(hd3,0)
## should update-grub create alternative automagic boot options
## e.g. alternative=true
## alternative=false
# alternative=true
## should update-grub lock alternative automagic boot options
## e.g. lockalternative=true
## lockalternative=false
# lockalternative=false
## additional options to use with the default boot option, but not with the
## alternatives
## e.g. defoptions=vga=791 resume=/dev/hda5
# defoptions=
## should update-grub lock old automagic boot options
## e.g. lockold=false
## lockold=true
# lockold=false
## Xen hypervisor options to use with the default Xen boot option
# xenhopt=
## Xen Linux kernel options to use with the default Xen boot option
# xenkopt=console=tty0
## altoption boot targets option
## multiple altoptions lines are allowed
## e.g. altoptions=(extra menu suffix) extra boot options
## altoptions=(single-user) single
# altoptions=(single-user mode) single
## controls how many kernels should be put into the menu.lst
## only counts the first occurence of a kernel, not the
## alternative kernel options
## e.g. howmany=all
## howmany=7
# howmany=all
## should update-grub create memtest86 boot option
## e.g. memtest86=true
## memtest86=false
# memtest86=true
## should update-grub adjust the value of the default booted system
## can be true or false
# updatedefaultentry=false
## ## End Default Options ##
title Debian GNU/Linux, kernel 2.6.21-2-686
root (hd3,0)
kernel /boot/vmlinuz-2.6.21-2-686 root=/dev/md2 ro quiet
initrd /boot/initrd.img-2.6.21-2-686
savedefault
title Debian GNU/Linux, kernel 2.6.21-2-686 (single-user mode)
root (hd3,0)
kernel /boot/vmlinuz-2.6.21-2-686 root=/dev/md2 ro quiet single
initrd /boot/initrd.img-2.6.21-2-686
savedefault
### END DEBIAN AUTOMAGIC KERNELS LIST
# This is a divider, added to separate the menu items below from the Debian
# ones.
title Other operating systems:
root
# This entry automatically added by the Debian installer for an existing
# linux installation on /dev/sdc1.
title Debian GNU/Linux, kernel 2.6.21-2-686 (on /dev/sdc1)
root (hd2,0)
kernel /boot/vmlinuz-2.6.21-2-686 root=/dev/sdc1 ro quiet
initrd /boot/initrd.img-2.6.21-2-686
savedefault
boot
# This entry automatically added by the Debian installer for an existing
# linux installation on /dev/sdc1.
title Debian GNU/Linux, kernel 2.6.21-2-686 (single-user mode) (on /dev/sdc1)
root (hd2,0)
kernel /boot/vmlinuz-2.6.21-2-686 root=/dev/sdc1 ro quiet single
initrd /boot/initrd.img-2.6.21-2-686
savedefault
boot