Estou enfrentando alguns problemas com o servidor de teste recentemente. Foi instalado há poucos dias e funcionou bem até ontem, quando não acordou após a reinicialização. O bootloader não encontrou o dispositivo root. Erro:
Gave up waiting for root device.
ALERT! /dev/mapper/vg_mru-lv_mru_root does not exists. dropping to shell!
Eu iniciei no shell de recuperação, dispositivos montados, chrooted no sistema e tudo correu bem, então eu só aumentou o rootdelay para 90s e reiniciei. Então funcionou para outro dia. Mas agora estou recebendo o mesmo erro, seguido por:
udevd[112]: worker [119] unexpectedly returned with status 0x0100
udevd[112]: worker[119] failed while handling '/devices/virtual/block/md0'
udevd[112]: worker [120] unexpectedly returned with status 0x0100
udevd[112]: worker[120] failed while handling '/devices/virtual/block/md1'
Se eu esperar por cerca de 5 minutos e, em seguida, gravar exit intramfs shell, a inicialização continuará normalmente e o computador ficará totalmente funcional.
Nas mensagens, há poucas dúzias dessas linhas:
Sep 30 21:58:48 mru-server kernel: [ 1038.291536] lost page write due to I/O error on dm-15
e
Sep 29 10:02:16 mru-server kernel: [ 0.845246] ACPI Warning: Incorrect checksum in table [OEMB] - A4, should be 9F (20090903/tbutils-314)
O computador que executa o ubuntu 10.04, 2 discos 1TD, espelhado no raid1, dois dispositivos raid md0 e md1, cada um deles contém um grupo de volumes LVM. Ambos os discos passaram em curto s.m.a.r.t. teste. A memória também passou um memtest86 + pass. E foi testado por 24h dois dias atrás.
Bug do Debian # 583917 parece de alguma forma semelhante, mas o Ubuntu tem uma versão mais antiga do mdadm.
Outra coisa que eu suspeito é lvm. Quando eu faço cat / proc / modules no shell intramfs, existem dezenas de módulos raid, mas nenhum módulo lvm.
Eu posso fornecer dados adicionais se você precisar.
grub.cfg
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by /usr/sbin/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 recordfail {
set recordfail=1
if [ -n ${have_grubenv} ]; then if [ -z ${boot_once} ]; then save_env recordfail; fi; fi
}
insmod raid
insmod mdraid
insmod lvm
insmod ext2
set root='(vg_mru-lv_mru_usr)'
search --no-floppy --fs-uuid --set 48111d09-5c3d-48e4-be9d-0ab141c8cb4a
if loadfont /share/grub/unicode.pf2 ; then
set gfxmode=640x480
insmod gfxterm
insmod vbe
if terminal_output gfxterm ; then true ; else
# For backward compatibility with versions of terminal.mod that don't
# understand terminal_output
terminal gfxterm
fi
fi
insmod raid
insmod mdraid
insmod lvm
insmod ext2
set root='(vg_mru-lv_mru_boot)'
search --no-floppy --fs-uuid --set 4523fbba-a68d-413a-9606-c68094438879
set locale_dir=($root)/grub/locale
set lang=en
insmod gettext
if [ ${recordfail} = 1 ]; then
set timeout=-1
else
set timeout=10
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
### END /etc/grub.d/05_debian_theme ###
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Ubuntu, with Linux 2.6.32-25-server' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod raid
insmod mdraid
insmod lvm
insmod ext2
set root='(vg_mru-lv_mru_boot)'
search --no-floppy --fs-uuid --set 4523fbba-a68d-413a-9606-c68094438879
linux /vmlinuz-2.6.32-25-server root=/dev/mapper/vg_mru-lv_mru_root ro rootdelay=90
initrd /initrd.img-2.6.32-25-server
}
menuentry 'Ubuntu, with Linux 2.6.32-25-server (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod raid
insmod mdraid
insmod lvm
insmod ext2
set root='(vg_mru-lv_mru_boot)'
search --no-floppy --fs-uuid --set 4523fbba-a68d-413a-9606-c68094438879
echo 'Loading Linux 2.6.32-25-server ...'
linux /vmlinuz-2.6.32-25-server root=/dev/mapper/vg_mru-lv_mru_root ro single
echo 'Loading initial ramdisk ...'
initrd /initrd.img-2.6.32-25-server
}
menuentry 'Ubuntu, with Linux 2.6.32-24-server' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod raid
insmod mdraid
insmod lvm
insmod ext2
set root='(vg_mru-lv_mru_boot)'
search --no-floppy --fs-uuid --set 4523fbba-a68d-413a-9606-c68094438879
linux /vmlinuz-2.6.32-24-server root=/dev/mapper/vg_mru-lv_mru_root ro rootdelay=90
initrd /initrd.img-2.6.32-24-server
}
menuentry 'Ubuntu, with Linux 2.6.32-24-server (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod raid
insmod mdraid
insmod lvm
insmod ext2
set root='(vg_mru-lv_mru_boot)'
search --no-floppy --fs-uuid --set 4523fbba-a68d-413a-9606-c68094438879
echo 'Loading Linux 2.6.32-24-server ...'
linux /vmlinuz-2.6.32-24-server root=/dev/mapper/vg_mru-lv_mru_root ro single
echo 'Loading initial ramdisk ...'
initrd /initrd.img-2.6.32-24-server
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
insmod raid
insmod mdraid
insmod lvm
insmod ext2
set root='(vg_mru-lv_mru_boot)'
search --no-floppy --fs-uuid --set 4523fbba-a68d-413a-9606-c68094438879
linux16 /memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
insmod raid
insmod mdraid
insmod lvm
insmod ext2
set root='(vg_mru-lv_mru_boot)'
search --no-floppy --fs-uuid --set 4523fbba-a68d-413a-9606-c68094438879
linux16 /memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###
### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###
Obrigado por respostas!
Atenciosamente, Andraz