как жестко задать для hdd названия /dev/sdX ?

Автор Iflex, 11 августа 2014, 17:01:14

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

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

Iflex

Всем привет.
Тестирую живучесть raid5 на wheezy.
Ось на отдельном харде (изначально на /dev/sda). Radi5- на /dev/sd[b-e].
Решил вынуть диск из рейд-массива. Выключился, вынул, включился. Raid не заработал.
Смотрю список устройств, по кой-то чёрт /dev/sda - это один из дисков массива, /dev/sdb - диск с операционкой, sdc и sdd - от массива.
В mdadm.conf прописано, что диски для массива это /dev/sd[b-e], вот он и не поднимается, потому что один диск в отключке, а второй имеет не свою букву - перепутался с системным.
Выключился, воткнул диск обратно, включился. В обратном порядке ничего нe стало  :'( Теперь хоть raid работает, ибо три диска он видит, но операционка всеравно на /dev/sdb, а один из дисков массива - на sda  ???

Господа эксперты, внимание вопрос:
Как "вернуть всё взад" и как после этого хардам жёстко прибить названия /dev/sdX ?


Iflex

#2
Yrii, прочитал, но не особо понял идею.
Вы предлагаете в mdadm.conf прописывать пути /dev/disk/by-id/...... ?

и, там я не нашёл ответа на то, как можно (если можно) задать сопоставление для конкретного устройства по by-id для /dev/sdX

ogost

/dev/disk/by-uuid/...
blkid от рута скажет вам, кто какой uuid имеет. если я правильно понял вопрос.s

Yrii

Цитата: Iflex от 11 августа 2014, 18:08:33
Yrii, прочитал, но не особо понял идею.
Вы предлагаете в mdadm.conf прописывать пути /dev/disk/by-id/...... ?

и, там я не нашёл ответа на то, как можно (если можно) задать сопоставление для конкретного устройства по by-id для /dev/sdX
да
http://xgu.ru/wiki/mdadm

Iflex

ogost, это я знаю, какой uuid на данный момент соотносится с названием типа /dev/sdX
меня напрягает то, что я не знаю, какое соответствие будет после перезагрузки, и пока в поиске того, как это настроить  :)

Yrii, mdadm.conf не поддерживает работу с указанием устройств через /dev/disk/by-...
только /dev/sdX
По вашей ссылке там советуют создать файл mdadm.conf вообще без этих указаний, какие там диски (mdadm --detail --scan без --verbose).
может это и даст результат того, что raid будет к ним обращаться не по именам а по uuid, но всё де неприятно осознавать, что я вот перезагружусь и у меня операционка будет может на sdb, а может и на sdc  >:(

Yrii

Цитата: Iflex от 11 августа 2014, 21:20:40mdadm.conf не поддерживает работу с указанием устройств через /dev/disk/by-...
в mdadm.conf не надо писать /dev/disk/by-...
Цитата: Iflex от 11 августа 2014, 21:20:40что я вот перезагружусь и у меня операционка будет может на sdb, а может и на sdc
так uuid это и исправляет

Iflex

тогда я не понимаю, как "uuid это исправляет", если в mdadm не нужно вписывать диски по /dev/disk/by-uuid/...

Malaheenee

Все мы где-то, когда-то и в чем-то были новичками.

ogost

Цитата: Iflex от 11 августа 2014, 21:20:40ogost, это я знаю, какой uuid на данный момент соотносится с названием типа /dev/sdX
меня напрягает то, что я не знаю, какое соответствие будет после перезагрузки, и пока в поиске того, как это настроить 
UUID для неизменен, пока вы не форматнете/сделаете ченить с диском. после простой перезагрузки он будет таким же, как и до перезагрузки, пусть даже названия /dev/sdX сменятся.

Iflex

#10
Цитата: Malaheenee от 12 августа 2014, 05:48:12
Если так, то напишите правило udev.

как раз разбираюсь ) пока не воткнул как написать. Просто так присвоить значение для KERNEL нельзя.

Цитата: ogost от 12 августа 2014, 06:13:58
Цитата: Iflex от 11 августа 2014, 21:20:40ogost, это я знаю, какой uuid на данный момент соотносится с названием типа /dev/sdX
меня напрягает то, что я не знаю, какое соответствие будет после перезагрузки, и пока в поиске того, как это настроить 
UUID для неизменен, пока вы не форматнете/сделаете ченить с диском. после простой перезагрузки он будет таким же, как и до перезагрузки, пусть даже названия /dev/sdX сменятся.
да в том то и проблема что названия /dev/sdX меняются, и именно они и указываются в mdadm.conf, а не uuid!

Malaheenee

Все мы где-то, когда-то и в чем-то были новичками.

Iflex

Цитата: Malaheenee от 12 августа 2014, 12:24:14
Нам помогло, правда для sshfs :)
Прочитал, но хз как это реализовать.
Основная их мысль- примонтировать usb флешки, создав абсолютно новые симлинки, например, если флопик создается как /dev/fd0, то для него делается приятный симлинк типа /dev/floppy или /dev/mysuperfloppy или какой захотите.
Однако, неохота экспериментировать с тем, чтобы создавать симлинки вида /dev/sdX, ибо это может вступить в конфликт с теми устройствами, которые операционка сама назовет именно так. Например, я не знаю что будет, если я для жесткого диска приделаю симлинк /dev/sda (если это вообще получится), а операционка в процессе загрузки тот же симлинк захочет приделать для другого жесткого диска (хотя, тут, видимо, операционка раньше, чем наше правило может приделать /dev/sda другому устройству, и не понятно, как на это ляжет наше udev).


Malaheenee

Вообще, udev очень рано начинает свою работу. Стандартные его правила хранятся в /lib/udev/rules.d, гляньте там.
Все мы где-то, когда-то и в чем-то были новичками.

gardarea51

#14
Я бы вам посоветовал вообще не указывать в mdadm.conf диски по именам (или совсем удалить этот файл =). Либо действительно укажите по UUID, либо уберите вообще оттуда это указание. Не будь его - у вас бы все запустилось нормально. mdadm сам проверяет диски на наличие суперблоков и из них берет информацию какие диски необходимо собрать в массив. Что касается выдергивания диска нагорячую - в любом случае придется вставлять новый диск (если не выключались - будет новое имя, к примеру sde заместо выбернутого sdb, но это неважно) и собирать массив, чтобы начался ребилд.