Как победить udev? Или: нестандартная конфигурация жестких дисков

Автор Arhat109, 22 января 2017, 17:19:27

« назад - далее »

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

Arhat109

Входные условия:

Имеется далеко не новый комп, на базе двух-ядерного пентиума с 2 гектарами оперативы ещё DDR, а может и даже DDR2 (не вникал), но ранних выпусков. На нем установлено:
HDD0 -- Seagate 160Gb IDE в корзинке для смены дисков (не онлайн конечно же) и плюсом к нему "на полке" ещё пяток таких же древних архивов (могут меняться в корзинке);
HDD1 -- DVD RW тоже далеко не новый, но пашет бодро;
SATA0 -- Seagate 160Gb, как бы загрузочный на 3 системы: MS-DOS, WIN_XP, Debian (все на первичных разделах + раздел подкачки);
SATA1 -- Seagate 320Gb - как бы основной рабочий диск, разбит на 2 раздела: 200Gb - все что текущее по работе + 100Gb отдано под /home;
SATA2 -- 500Gb (не помню чей) монтируется как /var/lib/mysql "весь диск под InnoDB"

Проблема: когда ставишь систему на SATA0, то после перезагрузки ИЛИ grub не видит загрузочного винта ибо он не "нулевой" ИЛИ надо в биос переупорядочивать винты, выставляя SATA0 "первым", но при потере батарейки все повторяется ИЛИ надо изголяться как-то ещё ..

Как правильно поставить систему на sda1, если в ней есть hd винты?

qupl

Вопрос поставлен запутанно. Кто такой sda1? Под hd-винты Вы понимаете IDE ?
Если BIOS постоянно сбрасывается и не запоминает порядок дисков, то единственный вариант подобрать порт который после сброса определяется первым (для загрузки) Может и не получится.
С другой стороны цена батарейки рублей 20, зачем искать проблемы на ровном месте?

Arhat109

Да, под hd указал IDE винт, точнее корзинку для их смены. По умолчанию в биосе они идут раньше чем sata и, соответственно, загрузочный sata получается не первым. Что приводит к глюкам при загрузке Debian регулярно.

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

После сброса биоса, первым определяется корзинка с IDE дисками. На момент включения, там может как не быть ничего, так и стоять 1 из пяти винтов. И это - тоже проблема с udev: он путается с нумерацией остальных винтов, если изменился винт в корзинке или он отсутствует.

Можно это как-то "победить"?

qupl

Поставить "первый" IDE-диск навечно, на него поставить загрузчик, а ОС пусть остается там где есть.

Arhat109

Ни магу... их "первых" - 5шт, это архивы, разные ИДЕ, разной емкости, разных производителей.. исторически сложилось. Периодически вытыкиваются (комп требуется выключать, не хотплуг) и система перезагружается с иным ИДЕ... в целом, заявленная фича UDEV - "стабилность работы с переназначаемыми устройствами" - НЕ РАБОТАЕТ. Лапша на уши.

Есть способ его "победить"?

qupl

Arhat, причем здесь вообще udev? У Вас проблема с поиском BIOS загрузочного устройства. До ОС дело вообще не доходит. Не знаю смысла вытыканий винтов (наверное он есть), но разве нельзя 4 переподключать, а один оставить на месте без переподключений?

gardarea51

Ну или установите grub на все диски :)
Чтоб наверняка, но только осторожно, grub уже давно ставится на 2048 первых секторов, а в 63 (как во времена ХР) не влезет.

Arhat109

Проблема в утекании биос - только первопричина проблем. Да когда я вытыкиваю один ИДЕ диск и на его место ставлю другой .. в биосе "восстанавливается" исходная конфигурация - первыми нумеруем HD, а потом SATA диски. Или при смене HD диска требуется КАЖДЫЙ раз восстанавливать "нестандартный" порядок винтов.

Но это только первопричина. Главная проблема как раз в заявленной и НЕ работающей фиче от udev: восстановление распознавания винтов при смене конфигурации - динамическая и надо сказать дурацкая затея с каким-то невменяемым хеш-именем. Вместо того, чтобы идентифицировать загрузочный винт "как надо" и находить его в любом месте .. упс. Имеется гемморой. Я понимаю, что это оттого, что grub ничего не знает про udev .. и ищет винты "по старинке".

Цитата: gardarea51 от 24 января 2017, 15:13:17
Ну или установите grub на все диски :)
Чтоб наверняка, но только осторожно, grub уже давно ставится на 2048 первых секторов, а в 63 (как во времена ХР) не влезет.

Не представляется возможным, ибо это архивы, некоторым уже лет по 15 .. они давно забиты под 146% :) и в режиме read-only. Просто старые винты делались несколько качественнее и неплохо хранят инфу. Периодически меняются в корзинке, поскольку периодически подглядываю в свои старые решения .. часто помогает на работе (новое - хорошо забытое старое). Можно конечно купить ещё 1 террабайтник и слить все на него, а винты с корзинкой положить на полку.

Мне интересен вопрос: можно ли сделать что-то разумное в именно такой конфигурации? Как уже понимаю - НЕТ.

ИМХО, в целом, Линуксы с каждым релизом все больше и больше становятся похожи на винду: тяжелеют, наворачиваются никому не нужные бирюльки (тот же КДЕ - хренова гора настроек .. кроме нужных или Гном3 со своим компизом и юнити .. нафига все эти "бусы"?!?), страдает защищенность, репозитории не успевают обновлять прикладное ПО (для 5.0 лежит 5 дисков основной репы, для 7.5 уже ..три штуки) и оно "вымывается" из них. Полноценной документации - как не было так и нет. Ман - конечно привычно и здорово, но далеко не к каждому куску кода он есть и далеко не каждый умеет его читать.
.. такое ощущение, что в среду разработчиков уже давно просочились Виндовс-диверсанты ..

P.S. Извиняюсь за старческое брюздание, тему можно закрывать ибо вопрос как понимаю решения не имеет.

qupl

Решение я отписал выше, взять один IDE винт поставить его в то место где определяется первый загрузочный винт, приклеить скотчем к корзине с запиской "не вынимать - убью", поставить на него загрузчик и забыть о проблеме. Это может быть как один из существующих винтов, так и любой другой самого маленького размера.
"Проблемы" с  udev не существует, либо Вы ее не описали в своих сообщениях.

gardarea51

Да, это проблема BIOS, ОС тут совершенно ни при чем.
Обычно выбирается нужный диск, сохранение и все...
Если села батарейка - поменять.

Arhat109

Эта проблема биоса - только частичная. В такой конфигурации этот комп работает ещё с lenny, и в нем диски именовались традиционным способом в fstab и grub и ничего никуда не "вылетало" при сменах hd-дисков. Не помню был там udev или он был опциональным и не устанавливался .. плотно столкнулся с проблемой только после перехода на 7-й релиз, поэтому и грешу на "особенности" его работы.

Ещё раз, проблема не в батарейках (хотя и в ней тоже при отключениях, но с новой все точно также) а в "перетыкивании" hd-диска в сменной корзинке (старый Mobil Rack IDE). Как только такое происходит (а если вовсе вынуть диск из корзинки то и ваще труба), то при загрузке меняется конфигурация жестких дисков и "все летит нафиг".. grub + udev нещадно путаются "где-что".

КАК ЭТО ПОБЕДИТЬ программным способом? Судя по ответам - НИКАК.

qupl

Вторая часть проблемы, что разделы в fstab прописаны не по UUID, правильно я понял?

ogost

если я правильно понимаю ТС, то проблема в том, что после выставления правильной конфигурации в биосе дело доходит до груба и дальше дело стопорится, ибо нумерация /dev/sdXX нарушается, так?
Если я всё правильно понял, то решается проблема прописыванием UUID в /etc/fstab, товарищ qupl меня опередил. узнать uuid диска можно командой blkid, этот uuid прописываете в fstab вместо каноничных /dev/sdXX, и фсё

Arhat109

Вот не смотрел как установщик прописал в fstab на сей раз .. гляну, как доберусь до компа.

Установка Debian 7.5 проводилась с указанием всех точек монтирования дисков в момент установки. Сначала в биосе был установлен первым sata загрузочный диск и потом запущена установка с размещением grub на sata загрузочном диске и указанием всех hd, sd точек монтирования. После установки, перезагрузка компа сразу прошла неверно: grub rescue .. попытка посмотреть диски в грубе, показала что загрузочный диск виден грубу .. вторым. Из-за чего он и не смог найти систему. Перезагрузка с ещё одной перестановкой дисков в биос  и упс, груб грузит систему нормально. Перетыкиваем hd-диск на другой и всё по новой: опять не видим систему. Переставляем снова в биос .. снова грузимся нормально до следующей замены hd-диска.

Ну вот как-то так. Приеду - уточню что установщик прописал в fstab. Раньше, на lenny в fstab были прописаны нормальные имена hda, sda, .. и все находилось нормально.

Arhat109

Добрался, посмотрел fstab. В нем все диски прописаны "как докторudev повелел".