LINUX.ORG.RU

Именование дисков (sda, sdb, sdc...). Как поменять порядок?

 , ,


2

2

Всем привет!

Может кто знает, как поменять именование устройств, а конкретно SATA накопителей в системе? Есть мамка Asus Z-87-Pro с двумя контроллёрами SATA, на одном контроллёре 2 порта (ASMedia), на втором 6 (Intel).

Системный диск с Linux на борту я подключил к первому контроллёру (ASMedia), так как на втором контроллёре (Intel) дергаю диски в Hot-plug режиме не останавливая систему. Не знаю, насколько это хорошо, но кажется что система подключенная на другом контроллёре избавит от каких-то задержек или сбоев. В будущем возможно на контроллёре Intel из дисков сделаю массив (контроллер позволяет), а система будет на другом контроллёре (ASMedia), думаю так будет хорошо.

Проблема в том, что не совсем для меня удобно, что система именует устройства начиная с устройств на контроллере Intel, а затем на ASMedia, таким образом системный диск и его наименование (sda,sdb,sdc) всегда является плавающим, самым последним в именовании. Например, если я подключу 2 диска, то системный поименуется как sdc, если один дополнительный диск подключу, то системный станет sdb.

Как сделать так, чтобы не переключая системный диск с контроллёра ASMedia сделать диск в системе sda? Т.е. чтобы Linux именовал вначале устройства с ASMedia конторллера?



Последнее исправление: dva20 (всего исправлений: 1)

Это плохая практика. Используй уникальные идентификаторы разделов место этого.

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

На уровне системы он и так используется, чел про ручной доступ говорит. Ну неудобно писать

smartctl -a /dev/disk/by-uuid/97e127cf-13d4-472c-b65c-065026075931

вместо

smartctl -a /dev/sda

izzholtik ★★★
()

Нафейхуа? А главное зачем?

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

значит рисовать свои правила для udev.
я б еще и монтировал бы под отдельными именами /dev/d_main и подобное.

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

Да, всё верно. Неудобно «соображать» где какой раздел и диск в различных системных утилитах. Тут я знаю, что у меня, например, sda это системный диск, а не как сейчас плавающий и зависит от количества подключенных дисков. Запоминать uuid’ы типа 97e127cf-13d4-472c-b65c-065026075931 даже не предлагайте :))

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

ну не запоминай, сделай симлинки на ююайдишные пути и юзай их

s-o
()
Ответ на: комментарий от pfg

Так-то да, но чел наверняка майнер и часто диски меняет, тогда придётся при замене/добавлении диска вручную правила менять. Может, лучше колхоз-вариант именования по номеру порта, а не по UUID, как с сетевыми устройствами сделано?

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

Спасибо! Это хороший вариант! (не знал такое)

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

Он не все показывает. Принципа я не знаю, но у меня там только 1 из 3 виден..

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

Не знал про /dev/disk/by-label/ - это в принципе выход для моих скриптов. Переделаю /dev/sda1 к примеру, на /dev/disk/by-label/root. Мне нужно чтобы в скриптах, да и в ручном вызове различных утилит более менее именование дисков и разделов было постоянным и понятным для моего мозга :)

dva20
() автор топика
Последнее исправление: dva20 (всего исправлений: 1)
Ответ на: комментарий от dva20

переделай на uuid.
это 128битное уникальное число вписанное в заголовок данной файловой системы. оно не изменится пока не форматнешь раздел

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

Ну так label для этого и придумали простое понятное человеку название(и постоянное пока сам не сменишь) Называешь диски как тебе удобно и все. Например system bekap musor vinda lin

anonymous
()
Ответ на: комментарий от wandrien

Вот что ещё интересно, я с этим не разобрался ещё, если сейчас системный диск и имя его устройства в системе у меня фактически плавающие, то при подключении дополнительного диска в режиме hotplug системный диск «вылетает», система фризится в этот момент, потом отмораживается и я могу вывести в lsblk устройства в которых системный диск больше не отображается, т.е. он отваливается и через несколько секунд вообще всё наглухо виснет.

Всё же лучше наверное будет решить проблему с UDEV и поименовать системный диск жёстко.

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

Удобный это как было у меня раньше, системный диск всегда sda, а все остальные именуются по порядковому номеру шины в которую они подключены. Было всё «хорошо» пока я не переместил системный диск на отдельный контроллёр (думаю что правильно сделал). Необходимость возникла в том, что хочу позже RAID сделать, а систему вынести за пределы этого RAID’а, т.е на другой контроллёр (ASMedia). И начались вот эти проблемы, что контроллёр ASMedia не первичный. Может быть это где-то на материнке настраивается, не знаю, ещё смотрю, изучаю.

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

хех, а потом еще появится еще куча разных функций и набор различных точек монтирования :)
label а потом и uuid для различения этого бардака и был внедрены.

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

pfg ★★★★★
()
Последнее исправление: pfg (всего исправлений: 1)

Вот здесь похожая проблема как у меня.

Вообщем, как мне здесь посоветовали, лучшим решением является обращение к партициям по их меткам /dev/disk/by-label/ или по /dev/disk/by-id/ к дискам и партициям. Также, можно на эти ссылки сослаться другой ссылкой, например /dev/mysysdisk -> /dev/disk/by-id/ata-Samsung_SSD_860_EVO_250GB_S4BFNJ0MB25158X и далее использовать эту ссылку в скриптах и ручном использовании в качестве параметров в различных утилитах.

Про ссылки на блочные устройства типа /dev/sda-z следует забыть и не использовать в скриптах, хотя это было очень удобно, но крайне не надёжно :)

Всем огромное спасибо за подсказки, идеи!

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

ну не знаю.
Мне больше всего нравится мой вариант - дать дискам статические имена в зависимости от порта, в который они воткнуты. Если один диск вылетит или добавится, остальные имена никуда не переползут. Если это возможно для sata, конечно.

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

Поня Тия не имею, вероятно, тоже через udev. Во всяком случае, я так USB модемы различаю.
Вот тут есть наброски неизвестной работоспособности.

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

Например system bekap musor vinda lin

odin, thor, loki, ullr, baldr.

anonymous
()
Ответ на: комментарий от RebHat

Во всяком случае, у меня есть /sys/devices/pci0000:00/0000:00:1f.2/ata1...ata6, в которых рассыпуха соответствующих scsi и block девайсов. Вероятно, можно от этого оттолкнуться.

izzholtik ★★★
()

/dev/disk/by-

так первая школоло-программа вас пошлет куда подальше от школоло-линукса
надо читать куда symlink приведет и вывод использовать

nanosecond
()

Если кому-нибудь будет ещё интересно, то можно посмотреть в каком порядке именуются устройства на шине PCI, у меня это так:

$ lspci 
00:00.0 Host bridge: Intel Corporation 4th Gen Core Processor DRAM Controller (rev 06)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06)
00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller (rev 06)
00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller (rev 06)
00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05)
00:16.0 Communication controller: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 (rev 04)
00:19.0 Ethernet controller: Intel Corporation Ethernet Connection I217-V (rev 05)
00:1a.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2 (rev 05)
00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05)
00:1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 (rev d5)
00:1c.5 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #6 (rev d5)
00:1d.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1 (rev 05)
00:1f.0 ISA bridge: Intel Corporation Z87 Express LPC Controller (rev 05)
00:1f.2 SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (rev 05)
00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller (rev 05)
03:00.0 SATA controller: ASMedia Technology Inc. ASM1062 Serial ATA Controller (rev 01)

А здесь ссылки на дисковые устройства с маркировкой на шине PCI (00:1f.2 и 03:00.0) на котором они находятся:

$ ls -l /dev/disk/by-path/
total 0
lrwxrwxrwx 1 root root  9 2021-11-17 16:58 pci-0000:00:1f.2-ata-1 -> ../../sda
lrwxrwxrwx 1 root root  9 2021-11-17 16:58 pci-0000:00:1f.2-ata-1.0 -> ../../sda
lrwxrwxrwx 1 root root 10 2021-11-17 16:58 pci-0000:00:1f.2-ata-1.0-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 2021-11-17 16:58 pci-0000:00:1f.2-ata-1.0-part2 -> ../../sda2
lrwxrwxrwx 1 root root 10 2021-11-17 16:58 pci-0000:00:1f.2-ata-1.0-part3 -> ../../sda3
lrwxrwxrwx 1 root root 10 2021-11-17 16:58 pci-0000:00:1f.2-ata-1.0-part4 -> ../../sda4
lrwxrwxrwx 1 root root 10 2021-11-17 16:58 pci-0000:00:1f.2-ata-1.0-part5 -> ../../sda5
lrwxrwxrwx 1 root root 10 2021-11-17 16:58 pci-0000:00:1f.2-ata-1.0-part6 -> ../../sda6
lrwxrwxrwx 1 root root 10 2021-11-17 16:58 pci-0000:00:1f.2-ata-1-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 2021-11-17 16:58 pci-0000:00:1f.2-ata-1-part2 -> ../../sda2
lrwxrwxrwx 1 root root 10 2021-11-17 16:58 pci-0000:00:1f.2-ata-1-part3 -> ../../sda3
lrwxrwxrwx 1 root root 10 2021-11-17 16:58 pci-0000:00:1f.2-ata-1-part4 -> ../../sda4
lrwxrwxrwx 1 root root 10 2021-11-17 16:58 pci-0000:00:1f.2-ata-1-part5 -> ../../sda5
lrwxrwxrwx 1 root root 10 2021-11-17 16:58 pci-0000:00:1f.2-ata-1-part6 -> ../../sda6
lrwxrwxrwx 1 root root  9 2021-11-17 17:04 pci-0000:00:1f.2-ata-2 -> ../../sdc
lrwxrwxrwx 1 root root  9 2021-11-17 17:04 pci-0000:00:1f.2-ata-2.0 -> ../../sdc
lrwxrwxrwx 1 root root 10 2021-11-17 17:14 pci-0000:00:1f.2-ata-2.0-part1 -> ../../sdc1
lrwxrwxrwx 1 root root 10 2021-11-17 17:14 pci-0000:00:1f.2-ata-2-part1 -> ../../sdc1
lrwxrwxrwx 1 root root  9 2021-11-17 16:58 pci-0000:03:00.0-ata-1 -> ../../sdb
lrwxrwxrwx 1 root root  9 2021-11-17 16:58 pci-0000:03:00.0-ata-1.0 -> ../../sdb
lrwxrwxrwx 1 root root 10 2021-11-17 16:58 pci-0000:03:00.0-ata-1.0-part1 -> ../../sdb1
lrwxrwxrwx 1 root root 10 2021-11-17 16:58 pci-0000:03:00.0-ata-1.0-part2 -> ../../sdb2
lrwxrwxrwx 1 root root 10 2021-11-17 16:58 pci-0000:03:00.0-ata-1-part1 -> ../../sdb1
lrwxrwxrwx 1 root root 10 2021-11-17 16:58 pci-0000:03:00.0-ata-1-part2 -> ../../sdb2

dva20
() автор топика
Последнее исправление: dva20 (всего исправлений: 2)
Ответ на: комментарий от anonymous

Этого говна полно: метка ФС, метка GPT-раздела, все сорта UUID. Но ни одно из них не идентифицирует диск целиком, кроме имён по путям. Кроме того, это никак не эквивалентно переименованию блочных устройств, которое не поддерживается.

anonymous
()
Ответ на: комментарий от burato

для бутлоадера PARTUUID

Какой-то необходимости в этом нет. В большинстве случаев вопрос предпочтений.

anonymous
()
Ответ на: комментарий от dva20

Очень удивительно, но зависания и исчезание системного диска на шине pci исправились перемещением SSD диска на другую шину ПИТАНИЯ!! SSD диск находился с hotplug дисками на одной шине питания и в момент втыкания питания к новому диску, SSD пропадал навсегда. Вот так засада, хрен когда догадаешься…

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

Да, давайте призовём Поттеринга, чтобы сделал с дисками так же, вместо непонятных /dev/sda, sdb, sdc чтобы было что-то понятное и предсказуемое, вроде /dev/ddq0t3s5c0

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

точки монтирования устройств в файловую систему формирует udev. правилами udev можешь сформировать имя любой хитроумности.

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

Как из самого названия /dev/sda понять, какой это диск, не подглядывая в специальные утилиты?

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

Когда имеешь 2-3 диска и один контроллер, то понять легко, по памяти :) Главное не админить по пьяни ))

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