Упорядочивание hdd через udev [Solved - либо LVM, либо /dev/disk/by*]

Приветствую!
У меня крутится

[ebuild   R   ] sys-fs/udev-154
[ebuild   R   ] sys-kernel/gentoo-sources-2.6.32-r1

Голову себе сломал вот над этим:
Есть у меня три дополнительных винта: sda, sdb, sdc.

server neroot # hdparm -I /dev/sda
        Model Number:       ST3750330AS
        Serial Number:      9QK07MZR
server neroot # hdparm -I /dev/sdb
        Model Number:       ST31000333AS
        Serial Number:      9TE1CCBJ
server neroot # hdparm -I /dev/sdc
        Model Number:       ST31000333AS
        Serial Number:      9TE1JTZA

Хочу их каким-либо образом отвязать от именования sdX,
поэтому пишу следующие правила:

server rules.d # cat 60-persistent-storage.rules
KERNEL=="sd*", ATTR{serial}="9QK07MZR", ATTRS{model}=="ST3750330AS",  SYMLINK+="storage1%n"
KERNEL=="sd*", ATTR{serial}="9TE1CCBJ", ATTRS{model}=="ST31000333AS", SYMLINK+="storage3%n"
KERNEL=="sd*", ATTR{serial}="9TE1JTZA", ATTRS{model}=="ST31000333AS", SYMLINK+="storage4%n"

А после этого - чехарда какая-то...

lrwxrwxrwx  1 root root         3 Июн  2 02:16 storage1 -> sda
lrwxrwxrwx  1 root root         4 Июн  2 02:16 storage11 -> sda1
lrwxrwxrwx  1 root root         3 Июн  2 02:16 storage3 -> sdb
lrwxrwxrwx  1 root root         4 Июн  2 02:16 storage31 -> sdb1
lrwxrwxrwx  1 root root         3 Июн  2 02:16 storage4 -> sdb
lrwxrwxrwx  1 root root         4 Июн  2 02:16 storage41 -> sdb1

Вот почему эта зараза третий винт линкует на второй?
Ничего не понимаю... :(

А заодно спрошу, почему ошибочна вот эта конструкция:

SUBSYSTEM=="block", ACTION=="add" SUBSYSTEMS=="scsi", ATTRS(serial)=="9QK07MZR", ATTRS{model}=="ST3750330AS", NAME="neroot1disk"

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

SUBSYSTEM=="block", ACTION=="add" SUBSYSTEMS=="scsi", ATTRS(serial)=="9QK07MZR", ATTRS{model}=="ST3750330AS", DEVTYPE=="partition" NAME="neroot1disk1"

Чувствую, что где-то рядом хожу...

Хочу их каким-либо образом

Хочу их каким-либо образом отвязать от именования sdX,

объясните, пожалуйсте, необходимодть данного действия.
Вполне вероятно, что есть другие способы решения неозвученной вами проблемы

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

slepnoga

slepnoga написал(а):
необходимость данного действия.

Есть ящик, в нем кучка винчестеров. Не далее как пару дней назад один из них аппаратно умер. Когда вынул, буквы дисков сбились, поехали симлинки и проч.
Отсюда и появилась мысль как-то "закрепить" каждый винт за неким именованием, не зависящим от порядка подключения. :)

Делай, что должен, и будь, что будет.

eegorov@egorov-ey ~ $ ls -la

eegorov@egorov-ey ~ $ ls -l /dev/disk/by-uuid/
итого 0
lrwxrwxrwx 1 root root 10 Июн  1 12:52 3a17acfc-bd64-464a-b7d9-c420b4e410e7 -> ../../sda8
lrwxrwxrwx 1 root root 10 Июн  1 12:52 3bfd13e8-7f68-c4fe-eff5-0b9fc967e02c -> ../../sda1
lrwxrwxrwx 1 root root 10 Июн  1 12:52 a0065a32-bdbe-4bbe-9d32-adc283ec910d -> ../../sda9
lrwxrwxrwx 1 root root 10 Июн  1 12:52 cf1e9de7-531e-4ec6-9835-3f08baa3d30c -> ../../sda7
lrwxrwxrwx 1 root root 10 Июн  1 12:52 DAA1C14A6F569723 -> ../../sda5
lrwxrwxrwx 1 root root 10 Июн  1 12:52 fb02efa6-fd33-5f51-f7b8-f7fc5984a34e -> ../../sda6

Кроме того

eegorov@egorov-ey ~ $ ls -l /dev/disk/
итого 0
drwxr-xr-x 2 root root 360 Июн  1 18:00 by-id
drwxr-xr-x 2 root root  60 Июн  1 18:00 by-label
drwxr-xr-x 2 root root 220 Июн  1 18:00 by-path
drwxr-xr-x 2 root root 160 Июн  1 18:00 by-uuid

А можно взглянуть на кусок

А можно взглянуть на кусок конфига, который это делает?
И не понятно, откуда взят uuid.
(Пересмотрел вывод lshal и udevadm и показалось, что постоянными параметрами будут только серийные номера...)

Делай, что должен, и будь, что будет.

Все работает автоматом

eegorov@egorov-ey ~ $ emerge -pv udev

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] sys-fs/udev-154  USE="extras (-selinux) -test" 0 kB

Total: 1 package (1 reinstall), Size of downloads: 0 kB
eegorov@egorov-ey ~ $ uname -r
2.6.34-zen0-git

http://ru.gentoo-wiki.com/wiki/Fstab

uuid генерируется, емнип, при создании файловой системы

А вот у меня в fstab записано

А вот у меня в fstab записано так:
###################
/dev/disk/by-id/scsi-SATA_ST3250620NS_9QE2L7VJ-part4 /mnt/gentoo_bak reiserfs notail,noatime 0 1
/dev/disk/by-id/scsi-SATA_ST3250620NS_9QE2L7VJ-part1 /mnt/Win_BAK ntfs-3g rw,auto,user,force,silent,locale=ru_RU.utf8 0 2

и никогда не парюсь, каким sdX идет диск.

Цитата: А вот у меня в fstab

Цитата:
А вот у меня в fstab записано так:
###################
/dev/disk/by-id/scsi-SATA_ST3250620NS_9QE2L7VJ-part4 /mnt/gentoo_bak reiserfs notail,noatime 0 1
/dev/disk/by-id/scsi-SATA_ST3250620NS_9QE2L7VJ-part1 /mnt/Win_BAK ntfs-3g rw,auto,user,force,silent,locale=ru_RU.utf8 0 2

и никогда не парюсь, каким sdX идет диск.

я так понимаю без initrd это не работает?

________________________
"We Will Win"

Работает.

Работает.

Делай, что должен, и будь, что будет.

Пометьте

Пометьте тему:

http://www.gentoo.ru/content/chto-eto-znachit-solved-resheno

Нейтральность - высшее достижение сознания!

Обязательно помечу, как

Обязательно помечу, как только с udev разберусь. :)
Мое "работает" относилось в вопросу про initrd. :)

Делай, что должен, и будь, что будет.

neroot

neroot написал(а):
Обязательно помечу, как только с udev разберусь. :)
Мое "работает" относилось в вопросу про initrd. :)

работает из без initrd

Вот что значит вторую ночь не

Вот что значит вторую ночь не спать... :(
Ступил сильно, прошу пардону. Глаза уже очевидного не замечают...
Действительно, все ж просто...

Насколько я Вас понял, обращение по disk/by-id решает мою _основную_ проблему постоянной адресации независимо от кабеля/контроллера.
Проверил, действительно, моя прежняя конструкция вида

losetup -e AES256 /dev/loop0 /dev/disk/by-id/scsi-SATA_ST3750330AS_9QK07MZR-part1
mount -t reiserfs /dev/loop0 /mnt/hdd0-750gb

отлично отрабатывает, все на месте.
Даже попутно решен (вернее, не встал) вопрос адресации к разделам диска.
За это - СПАСИБО! :)

Но крамольно-шальная мысль о своих именах разделов все так же в голове сидит.
Не пойму, как именно мне by-id в строку udev засунуть.
Что-то типа

KERNEL=="sd*", SUBSYSTEM=="block", ATTR{serial}=="9TE1CCBJ", ATTRS{devlinks}=="/dev/disk/by-id/scsi-SATA_ST3750330AS_9QK07MZR", SYMLINK+="neroot4disk%n"

Как-то так?

Update: не работает. Туплю и прошу помощи...

Делай, что должен, и будь, что будет.

Странно и

Странно и загадочно:
Конструкции вида

KERNEL=="sd*", SUBSYSTEMS=="scsi", ATTR{serial}=="ST3750330AS_9QK07MZR", SYMLINK+="neroot1disk%n"
KERNEL=="sd*", SUBSYSTEMS=="scsi", ATTR{serial}=="ST31000333AS_9TE1CCBJ", SYMLINK+="neroot3disk%n"

симлинков не создают вообще.
Если убрать один знак "=" в ATTR{serial} (присваивание же получится, а не сравнение!), то линки создаются, но опять на один девайс:

server dev # ls -al | grep neroot
lrwxrwxrwx  1 root root         3 Июн  2 12:27 neroot1disk -> sdb
lrwxrwxrwx  1 root root         4 Июн  2 12:27 neroot1disk1 -> sdb1
lrwxrwxrwx  1 root root         3 Июн  2 12:27 neroot3disk -> sdb
lrwxrwxrwx  1 root root         4 Июн  2 12:27 neroot3disk1 -> sdb1

Загадка, млин...

Делай, что должен, и будь, что будет.

если таки диков многа, то

если таки диков многа, то рано или поздно прийдете на поклон к lvm.
свои имена в удеве ( zic, опять нестандарт) хороши на 1-й машине, когда их перевалит за 20 - вы задумаетесь

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Много думал... Похоже, Вы

Много думал...
Похоже, Вы правы. :)
Как ни крути, а натягивать LVM...
Не хотел его дома на торренто-качалке поднимать, думал, что не стоит она этого. :)

Еще раз всем СПАСИБО!

P.S. За udev-ом в этой задаче оценка "два"...

Делай, что должен, и будь, что будет.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".