Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Загрузка с RAID1  (Прочитано 3410 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Metus_Violarium

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Загрузка с RAID1
« : 18 Августа 2011, 20:54:04 »
Итак, поставил я под VirtualBox Ubuntu на RAID1-массив. 2 "физических" диска.
Ещё при установке на вопрос "А система то одна, поставить ли загрузчик в начало первого диска?" ответил отказом, на что он меня уверил, что поставит загрузчики и на sda и на sdb.

Всё сделал, всё работает.
Ну или почти всё.

Извлекаю второй диск - всё загружается.
Извлекаю первый диск - тупо чёрный экран.


Вот что имею я на данный момент:
Диск /dev/sda: 21.5 ГБ, 21474836480 байт
255 heads, 63 sectors/track, 2610 cylinders, всего 41943040 секторов
Units = секторы of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000f5e

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sda1   *        2048    15624191     7811072   fd  Автоопределение Linux raid
Раздел 1 не заканчивается на границе цилиндра.
/dev/sda2        15626238    41940991    13157377    5  Расширенный
/dev/sda5        17580032    41940991    12180480   fd  Автоопределение Linux raid

Диск /dev/sdb: 21.5 ГБ, 21474836480 байт
255 heads, 63 sectors/track, 2610 cylinders, всего 41943040 секторов
Units = секторы of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00003204

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sdb1   *        2048    15624191     7811072   fd  Автоопределение Linux raid
Раздел 1 не заканчивается на границе цилиндра.
/dev/sdb2        15626238    41940991    13157377    5  Расширенный
/dev/sdb5        17580032    41940991    12180480   fd  Автоопределение Linux raid

Диск /dev/md0: 7997 МБ, 7997476864 байт
2 heads, 4 sectors/track, 1952509 cylinders, всего 15620072 секторов
Units = секторы of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

На диске /dev/md0 отсутствует верная таблица разделов

Диск /dev/md2: 12.5 ГБ, 12471689216 байт
2 heads, 4 sectors/track, 3044846 cylinders, всего 24358768 секторов
Units = секторы of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

На диске /dev/md2 отсутствует верная таблица разделов

Как видно, и sda1, и sda2 являются загрузочными.


Не помогли и эти вещи:
root@ubuntu:~# grub-install /dev/sda
Installation finished. No error reported.
root@ubuntu:~# grub-install /dev/sdb
Installation finished. No error reported.


Нашёл на этом форуме подобную тему, но там человек всё решил, правда не сказано как, говорит помог grub-install.

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: Загрузка с RAID1
« Ответ #1 : 19 Августа 2011, 00:58:16 »
А раид - аппаратный или софтверный? На софтверный раид груб вроде как не умеет ставится. Он ставится не на массив а на отдельный диск. При том что, когда вы выдергиваете первый диск - второй становится первым и проставленный на него груб помнит что он был на втором и на втором он свою вторую часть и ищет... а там ее нету. Я так понимаю надо выдернув первый диск проставить груб на второй (который в этот момент по системе будет первым)...

Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн MooSE

  • Старожил
  • *
  • Сообщений: 1117
    • Просмотр профиля
Re: Загрузка с RAID1
« Ответ #2 : 19 Августа 2011, 01:24:22 »
покажи конфиги загрузчика. у мну на домашнем сервере вполне так грузится с софтверного RAID1.

Секция в menu.lst выглядит примерно вот так:

title Ubuntu 11.04, kernel 2.6.38-11-generic-pae
root (hd1,0)
kernel /boot/vmlinuz-2.6.38-11-generic-pae root=/dev/md0 ro vga=791 quiet splash
initrd /boot/initrd.img-2.6.38-11-generic-pae
quiet

Оффлайн Metus_Violarium

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: Загрузка с RAID1
« Ответ #3 : 19 Августа 2011, 19:54:17 »
ММмм, глупый вопрос наверное, но где это menu.lst?
Файла /boot/grub/menu.lst у меня нет.

------------------------------------------------------------------------------------------------
Вот так выглядит мой /boot/grub/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
  set have_grubenv=true
  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
}

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

insmod raid
insmod mdraid1x
insmod part_msdos
insmod part_msdos
insmod ext2
set root='(md/0)'
search --no-floppy --fs-uuid --set=root a34cf067-aa88-40b6-85b6-9b093f419a50
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
fi
terminal_output gfxterm
insmod raid
insmod mdraid1x
insmod part_msdos
insmod part_msdos
insmod ext2
set root='(md/0)'
search --no-floppy --fs-uuid --set=root a34cf067-aa88-40b6-85b6-9b093f419a50
set locale_dir=($root)/boot/grub/locale
set lang=ru_RU
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
if background_color 44,0,30; then
  clear
fi
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
if [ ${recordfail} != 1 ]; then
  if [ -e ${prefix}/gfxblacklist.txt ]; then
    if hwmatch ${prefix}/gfxblacklist.txt 3; then
      if [ ${match} = 0 ]; then
        set linux_gfx_mode=keep
      else
        set linux_gfx_mode=text
      fi
    else
      set linux_gfx_mode=text
    fi
  else
    set linux_gfx_mode=keep
  fi
else
  set linux_gfx_mode=text
fi
export linux_gfx_mode
if [ "$linux_gfx_mode" != "text" ]; then load_video; fi
menuentry 'Ubuntu, с Linux 2.6.38-10-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
set gfxpayload=$linux_gfx_mode
insmod raid
insmod mdraid1x
insmod part_msdos
insmod part_msdos
insmod ext2
set root='(md/0)'
search --no-floppy --fs-uuid --set=root a34cf067-aa88-40b6-85b6-9b093f419a50
linux /boot/vmlinuz-2.6.38-10-generic root=UUID=a34cf067-aa88-40b6-85b6-9b093f419a50 ro splash nodmraid  quiet splash vt.handoff=7
initrd /boot/initrd.img-2.6.38-10-generic
}
menuentry 'Ubuntu, с Linux 2.6.38-10-generic (режим восстановления)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
set gfxpayload=$linux_gfx_mode
insmod raid
insmod mdraid1x
insmod part_msdos
insmod part_msdos
insmod ext2
set root='(md/0)'
search --no-floppy --fs-uuid --set=root a34cf067-aa88-40b6-85b6-9b093f419a50
echo 'Loading Linux 2.6.38-10-generic ...'
linux /boot/vmlinuz-2.6.38-10-generic root=UUID=a34cf067-aa88-40b6-85b6-9b093f419a50 ro single splash nodmraid
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-2.6.38-10-generic
}
submenu "Previous Linux versions" {
menuentry 'Ubuntu, с Linux 2.6.38-8-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
set gfxpayload=$linux_gfx_mode
insmod raid
insmod mdraid1x
insmod part_msdos
insmod part_msdos
insmod ext2
set root='(md/0)'
search --no-floppy --fs-uuid --set=root a34cf067-aa88-40b6-85b6-9b093f419a50
linux /boot/vmlinuz-2.6.38-8-generic root=UUID=a34cf067-aa88-40b6-85b6-9b093f419a50 ro splash nodmraid  quiet splash vt.handoff=7
initrd /boot/initrd.img-2.6.38-8-generic
}
menuentry 'Ubuntu, с Linux 2.6.38-8-generic (режим восстановления)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
set gfxpayload=$linux_gfx_mode
insmod raid
insmod mdraid1x
insmod part_msdos
insmod part_msdos
insmod ext2
set root='(md/0)'
search --no-floppy --fs-uuid --set=root a34cf067-aa88-40b6-85b6-9b093f419a50
echo 'Loading Linux 2.6.38-8-generic ...'
linux /boot/vmlinuz-2.6.38-8-generic root=UUID=a34cf067-aa88-40b6-85b6-9b093f419a50 ro single splash nodmraid
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-2.6.38-8-generic
}
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
insmod raid
insmod mdraid1x
insmod part_msdos
insmod part_msdos
insmod ext2
set root='(md/0)'
search --no-floppy --fs-uuid --set=root a34cf067-aa88-40b6-85b6-9b093f419a50
linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
insmod raid
insmod mdraid1x
insmod part_msdos
insmod part_msdos
insmod ext2
set root='(md/0)'
search --no-floppy --fs-uuid --set=root a34cf067-aa88-40b6-85b6-9b093f419a50
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
if [ "x${timeout}" != "x-1" ]; then
  if keystatus; then
    if keystatus --shift; then
      set timeout=-1
    else
      set timeout=0
    fi
  else
    if sleep --interruptible 3 ; then
      set timeout=0
    fi
  fi
fi
### 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 ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

------------------------------------------------------------------------------------------------
Проблема загрузки решилась.
Нагуглил следующее:
У меня тоже была такая проблема. DEbian6+md raid + 2xHDD RAID1 - загрузка с /dev/sda - OK. С /dev/sdb- циклический reset. Помогло следующее - в /etc/default/grub – раскоментировать строку “GRUB terminal=console” и запустить #update-grub для пересоздания конфигурационных файлов в /boot Описание возможной проблемы - когда грузится графический терминал GRUB–меню по-умолчанию – подгружается файл фонта из /boot – скорее всего он не может загрузится – поэтому смена на GRUB terminal=console помогает - там не грузится данный фонт.

Однако теперь GRUB сообщение:
error: no video mode activated
Висит некоторое время и потом загружает систему
« Последнее редактирование: 20 Августа 2011, 01:37:38 от Metus_Violarium »

Оффлайн Metus_Violarium

  • Автор темы
  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: Загрузка с RAID1
« Ответ #4 : 20 Августа 2011, 14:53:23 »
Это тоже не помогло:
    cd /usr/share/grub/
    sudo cp *.pf2 /boot/grub
    sudo update-grub

Однако, если сделать вот так:
GRUB_TERMINAL=console
GRUB_GFXMODE=640x480

#GRUB_HIDDEN_TIMEOUT=0
#GRUB_HIDDEN_TIMEOUT_QUIET=true

То на экране появляется "error: no video mode activated", а потом сразу перекидывает на консольную менюшку GRUB-а.
Уже хоть что-то)))
« Последнее редактирование: 20 Августа 2011, 16:23:03 от Metus_Violarium »

 

Страница сгенерирована за 0.063 секунд. Запросов: 25.