LINUX.ORG.RU

Ubuntu + 6 HDD - странности с именованием устройств


0

0

Давняя проблема, решил наконец разобраться.

Стоит на сервере Ubuntu 9.04 (сервер в том числе вещает видео с тюнера в сеть с помощью VLC, необходимо новое ядро). Из аппаратной начинки - плата на базе чипсета nvidia, встроенный SATA-контролер, в нем установлены 4 идентичных жестких диска Seagate 400Гб, в PCI-X порт установлен дополнительно контролер 2SATA/1 PATA JMicron, в нем - еще 2 точно таких же жестких диска. Разумеется, BIOS не видит JMicron и два диска, которые на нем сидят.

Загрузка происходит с первого SATA диска на встроенном контролере, грузится ядро, затем монтируется файловая система и все - тупик, init не найдет, /dev, /sys и т.п. - тоже. Помогает только отключение двух дисков на дополнительном контролере, загрузка и горячее включение - тогда все работает как часы.

Для исключения глюков GRUB'a решил попробовать lilo. Эффект тот же самый: грузится ядро, монтируется файловая система (как он думает - корневая) и те же самые проблемы. С помощью простых манипуляций в Busybox удалось выяснить, что после загрузки неожиданно два устройства на дополнительном контролере неожиданно становятся первыми по алфавиту, а 4 на встроенном - последними, т.е.: до загрузки ядра:

(sda sdb sdc sdd)

после загрузки:

sda sdb (sdc sde sdd sdf)

- где в скобках указаны устройства на встроенном контролере.

В итоге монтируется раздел на /dev/sda1 на дополнительном винте вместо нужного, который теперь /dev/sdc1. Мало того, разделы на sdc, sde, sdd, sdf вообще не видны из busybox, тупая смена имени корневого раздела в grub/lilo - не помогает (монтирование по UUID почему-то вообще не срабатывает - будто бы идентификаторы одинаковые).

Загрузка с liveCD gparted позволила выяснить, что четыре жестких диска на встроенном контролере хоть и видятся, но монтироваться ни в какую не хотят: Device busy, mount -vvv не дал ничего подозрительного, кроме этой фразы (два диска на дополнительном контролере при этом работают).

Ядро ubuntu - 2.6.28, gparted livecd кажется 2.6.29.

Как решить такую проблему не прибегая каждый раз к отключению двух жестких дисков на дополнительном контролере при перезагрузки (которая, к слову, и происходит-то редко (обновление ядра), но оставлять так тоже нельзя)?

★★★
Ответ на: комментарий от mky

Грузится только с __одним__ подключенным диском на встроенный контролер, разумеется. Все остальные варианты не работают (в том числе вырубания дополнительного jmicron - он вообще никак не влияет).

В dmesg в busybox определяются все SATA устройства, которые подключены. Информации о разделах - только о загрузочном (что-то типа bad journal inode, та же ошибка при попытке вручную смонтировать из busybox). Разделы ни в /dev/disk/by-uuid, ни в в виде /dev/sd?? не появляются, кроме корневого раздела, который присутствует только в by-uuid, но все равно не монтируется.

Так же отмечу, что не монтируются разделы на 4 дисках встроенного контролера (в случае подключения > 2 дисков) даже с LiveCD ubuntu - выдает, что раздел занят или уже примонтирован (чего нету, mount ничего подобного не выдает).

В общем проблема в том, что ядро linux не может получить доступ ни к одному из 4 дисков встроенного в плату ASUS M2NPV-VM контролера, если подключено более одного устройства.

Envel ★★★
() автор топика
Ответ на: комментарий от Envel

UUID.

Какой развесистый глюк. Таки UUID'ы у чего-нибудь с чем-нибудь не совпадают? Разделов, LV?

Camel ★★★★★
()
Ответ на: комментарий от annoynimous

БП 430 Вт, должно хватать. UUID ни с чем не совпадают. LVM, RAID не используется.

Envel ★★★
() автор топика
Ответ на: комментарий от Envel

То есть, если загрузиться с CD и с самого начала подключить более 1-го винта, то нельзя сделать даже dd if=/dev/sda of=/dev/null? Пожет попробовать делать ресет контроллера дисков. Правда не знаю как, может вынести поддержку дисков в модуль и пробовать загрузить/выгрузить его...

mky ★★★★★
()
Ответ на: комментарий от mky

На счет dd не знаю, но простое cat /dev/sda работает, думаю и dd тоже. Но вот монтироваться ни в какую не хочет (пробовал два разных LiveCD). Похоже на проблему в ядре. Как нибудь на досуге доковыряю ее подробнее и напишу отчет.

Envel ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.