[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Нумерация дисков



Имеется машина, на которой два SATA-диска и встроенный USB-кардридер.
Пока стояло на ней ядро 2.6.22 давным-давно выкачанное из бэкпортов, все
было нормально.

Диски были sda и sdb, а четыре дырки в кардридере - от sdc до sdf.
Сапгрейдившись до lenny, решил заодно и ядро сапдейтить до текущего
2.6.26.

И при загрузке машина вылетела в single-user, не сумев выполнить fsck на
sdb2. Расследование показало что по каким-то причинам
кардридер проинициализировался после первого диска, но до второго.

В результате sdb стал одним из слотов кардридера, а диск - sdf.

Загрузился обратно со старым ядром - все вернулось на свои места.

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

Прописать udev-у, что кардридер нужно сажать на определенные буквы -
какой именно из документов в /usr/share/doc/udev читать?
(всякие /dev/dsk/by_uuid тут не помогут, поскольку в момент загрузки в
кардридере ничего нету, и никаких uuid  там нет)

Каким-то образом сделать, чтобы модуль usb_storage инициализировался
заведомо не раньше, чем распознается второй sata-диск?

Диски вроде привешены к одному и тому же контроллеру. Во взяском случае, 
/dev/disk/by-path показывает следующее 
pci-0000:00:08.0-scsi-0:0:0:0 -> ../../sda
pci-0000:00:08.1-scsi-0:0:0:0 -> ../../sdb
pci-0000:00:02.1-usb-0:7:1.0-scsi-0:0:0:0 -> ../../sdc (первый слот
кардридета)

Использование /dev/disk/by_id в принципе возможно, но
1. Приведет к нечитаемости fstab
2. Если какой-нибудь из дисков сдохнет и будет заменен на аналогичный
от другого производителя (или просто сапгрейжен на больший) - умучаюсь
fstab редактировать.

То же самое касается /dev/disk/by_path. Все там хорошо, но не дай бог
PCI-адрес контроллера сменится.


Reply to: