Не срабатывает автоопределение raid'а при загрузке
Не могу установить Генту на рейд1.
Массив создан:/etc/mdadm.conf
ARRAY /dev/md1 metadata=0.90 UUID=557a4bd7:a203324a:cb201669:f728008a
ARRAY /dev/md2 metadata=0.90 UUID=a4c6a874:a9b69625:cb201669:f728008a
ARRAY /dev/md3 metadata=0.90 UUID=4d870ea0:ceefd212:cb201669:f728008a
вот fstab:
/dev/sda1 swap swap sw 0 0
/dev/sdb1 swap swap sw 0 0
/dev/md1 /boot ext2 noauto,noatime 1 2
/dev/md2 / reiserfs noatime 0 1
/dev/md3 /home reiserfs noatime 0 1
/dev/cdrom /mnt/cdrom auto noauto,ro 0 0
shm /dev/shm tmpfs nodev,nosuid,noexec 0 0
proc /proc proc defaults 0 0
конфиг grub:
default 0
timeout 30
splashimage=(hd0,1)/boot/grub/splash.xpm.gz
title Gentoo Linux 2.6.31-gentoo-r10
root (hd0,1)
#kernel /boot/linux-2.6.31-gentoo-r10 root=/dev/md2 md=2,/dev/sda3,/dev/sdb3
kernel /boot/linux-2.6.31-gentoo-r10 root=/dev/md2
пробовала два варианта root=ХХХ
конфиг ядра: http://paste.org.ru/?7fkb5l
Собственно ошибка после ребута:
input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input1
md:Waiting for all devices to be available before autodetect
md:if you dont use raid, use raud=noautodetect
md:autodetectRAID arrays
md:Scanned 0 and added 0devices
md:autorun
md: autoran DONE
VFS:Cannot open root device md2 or unknown-block (0,0)
Please apped a correct root=boot option;here are the available partitions: kernel panic-not synsing:VFS:Unable to mount root fs on unknown-block (0,0)
- Для комментирования войдите или зарегистрируйтесь
вкомпилить? Цитата: CONFIG_MD
вкомпилить?
есть продвижения
Спасибо, за подсказку. моя не внимательность.
Я загрузилась))))
Но, теперь корень монтируется только в read-only
dmesg на этапе определения raid'а выдает сообщение:
md:...autorun DONE
md2:unknown partition table
хз
тож корень на рейде, но raid0
Короче, если получается перемонтировать вручную mount -o remount,rw /
то поставьте rw на строку kernel в grub
и проверьте fstab на предмет забытого ro
ну и мало ли че там с рейзером... fsck проходит?
>md2:unknown partition
>md2:unknown partition table
логично, никакой таблицы разделов там нет и быть не может.
Ошибка где-то дальше.
Спасибо Всем за помощь. Но
Спасибо Всем за помощь.
Но тем не менее, вручную корень перемонтируеться, но после перезагрузки, все та же история. fstab так же проверен на наличие ro - их нет.
вот что показывает mount:
rootfs on /type reiserfs (rw,noatime)
/dev/root on / type reiserfs (rw,noatime)
проблема следующая:
cat/proc/mdstat показывает устройства рейда и их статус:
Personalities : [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath] [faulty]
md1 : active raid1 sdb2[1] sda2[0]
128448 blocks [2/2] [UU]
md2 : active raid1 sdb3[1] sda3[0]
31246336 blocks [2/2] [UU]
md3 : active raid1 sdb4[1] sda4[0]
280695616 blocks [2/2] [UU]
unused devices :
, но fdisk эти устройства не отображает. Может быть поэтому корень и не монтируется в нормальном режиме?
так же не происходит ни какой реакции на "втыкание" флешки, т.е. fdisk не отображает ни каких новых устройств.
вот ссылка на вывод dmesg
http://paste.org.ru/?ol6wpw
вот на конфиг ядра:
http://paste.org.ru/?gilx07
fdisk, ага
Это они типа в /dev не появляются?
флешки?
опять подгрузить забываете? ;)
fdisk просто дискодробилка. на обнаружение устройств не влияет ессно.
как насчет добавления rw в строку kernel груба?
CONFIG_REISERFS_FS_SECURITY=y может это в ro монтирует?
UPD
Или так:
Последняя цифра в строке корня в fstab должна быть 1
Только мне кажется, что
Только мне кажется, что проблема скорее в параметрах, передаваемых ядру при загрузке?
По подсказке из соседней темы в конфиге
grub
'а должно бы быть что-то типа:kernel /boot/kernel-genkernel-x86-2.6.32-gentoo-r7 domdadm real_root=/dev/mapper/raid-root raid=/dev/md2
(строка предварительная, перед использованием надо проверять и корректировать).ЗЫ: А ещё есть мнение, что
initrd
должен бы заметно облегчить жизнь...:wq
--
Live free or die
только вам
используя "пещерный" ;) дистрибутив, ни разу не делал эти initrd - сейчас корень на форматированном raid0
если есть AUTODETECT в ядре (а он там есть) - обычно достаточно kernel /boot/kernel root=/dev/md2 (ну, минимум)
в соседней теме обсуждается lvm, здесь вроде простой рейд и корень есть, но почему-то упрямо ro
Есть несколько способов
Есть несколько способов загрузить систему с зеркала:
1) В белых дистрибутивах используют initramfs. Это образ небольшой системы, обычно основанный на busybox, задача которого подмонтировать всякие стремные вещи, все отфсчекать, и после этого поменять корень на нормальную систему, туда можно также встроить консоль для восстановления системы. Есть дистрибутивы основанные на запуске всей системы из initramfs (RIP linux). В initramfs raid собирается программой mdadm по конфигу /etc/mdadm.conf, который записывается в initramfs образ.
подробнее http://en.gentoo-wiki.com/wiki/Initramfs
Initramfs, пришедший на смену initrd сейчас наиболее рекомендуемый и прогрессивный метод.
2) В пещерных дисрибутивах, типа gentoo, slackware, initamfs обычно не используется, и я дро загружается напрямую, но возникают вопросы, как заставить ядро понять всякие стремные вещи как корень. Для этого надо вкомпилить не модулем поддержку всех контроллеров и уровней рейда, а также добавить CONFIG_MD_AUTODETECT=y, тогда ядро при загрузке автоопределит все массивы (только 0.90 metadata) и можно будет смонтировать с них root например так kernel /boot/vmlinuz root=/dev/md3 vga=normal. Чтобы сказать ядру не оределять массивы, добавьте raid=noautodetect.
В этом случае /etc/mdadm.conf не обязателен, нужен только для запуска mdadm в режиме монитора.
Я использую этот выриант.
3) Можно не полагаться на автоопределение а передать ядру какие массивы собирать в строке загрузки, например md=3,/dev/sdb3,/dev/sda3 root=/dev/md3. Я никогда этого не пробывал, но я бы передал ядру все массивы. Они должны при загрузке ядра собраться и корень должен подцепиться с указаного массива. Почему при этом корень монтируется в ro сказать трудно, возможно стоит отфсчекать его, прописать rw в строке загрузки.
..................................................................
Unix - дружественная система, но своих друзей она хорошо выбирает.
прикольно :)
спасибо, не знал.
подскажите, как заставить ядро понять всякие стремные вещи в виде multivolume btrfs как корень?
(без всяких рейдов и lvm: в загрузившейся системе надо сделать btrfsctl -a и потом можно монтировать __по любому__ из составляющих дисков, а ядру-то че монтировать?!)
кстати, был опыт вшивания btrfsctl -a в "эти ваши" Initrd, но безуспешно
Это нужно делать через
Это нужно делать через initramfs (забудьте initrd как страшный сон), но лучше всего это все не использовать, как и btrfs, raiserfs, используйте ext3 если не хотите гемора.
..................................................................
Unix - дружественная система, но своих друзей она хорошо выбирает.
dmitryilyin2 написал(а): но
А можно конкретные примеры: каким образом и почему [например] reiserfs на raid'е становится источником геммороя?
:wq
--
Live free or die
Да-да, тоже интересно.
Да-да, тоже интересно.
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
reiserfs, хотя действительно
reiserfs, хотя действительно значительно быстрее на мелких вайлах, особенно в /, особенно в portage, и значительно ускоряет систему, не очень стабилен и иногда рушится (делаем бекапы).
Я жду от линукса надежности, простоты, стабильности, стандартности а не новых модных файловых систем и фич.
ext3 хоть и проигрывает в скорости, непревзойден по стандартности и надежности.
Хотя для /,/var,/tmp при наличии бекапа reiserfs оправдан, для /home несобненно ext3.
ext4 вроде уже считается стабильным, и видимо можно использовать.
xfs неплох если лежат очень большие файлы
..................................................................
Unix - дружественная система, но своих друзей она хорошо выбирает.
Цитата: 2) В пещерных
Черт, значит, мой сервер до сих пор монтировал рейды силами астральной библиотеки...
Не грусти, товарищ! Всё хорошо, beautiful good!