LINUX.ORG.RU

Как зафиксировать имена жёстких дисков?

 


1

2

Доброго времени суток. Операционная система OpenSuse 15.4 , на основе которой сделан файловый архив на рейд массивах. При перезагрузке жёсткие диски получают разные имена,/dev/sda , /dev/sdb и так далее, в итоге raid массивы получаются из разных дисков и не собираются. Погуглив проблему, выяснил,что есть решение присвоить дискам принудительно их имена,через файл 60-presistent-storage.rule , однако в разных источниках этот файл имеет разный формат и не сказано, как его создать для операционной системы OpenSuse 15.4

Как дискам принудительно назначить имена, что бы они не менялись при перезагрузке?



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

Ответ на: комментарий от utanho

/etc/fstab тоже не забудьте поправить

я ничего не правил - система загружается по PARTUUID из boot.cfg, а помойка и swap монтируются из fstab по UUID и для корня истемы в fstabпо прежнему указан UUID.

amd_amd ★★★★★
()
Ответ на: комментарий от papin-aziat

/dev/disk не прыгает

если бы не прыгало - так оно бы не менялось, вся эта шляпа в /dev/disk каждый запуск системы заново создается и окончание имен постоянно меняются, раньше такого не было, но в 5-ом ядре появилось, я давно искал решение и только сегодня нашел - прибить гвоздями к PARTUUID, теперь /dev/disk ничего не прыгает.

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

даже очень понимаю… раньше система грузилась из boot.cfg по uuid и в fsab все по uuid монтировалось, а теперь система стартует из boot.cfg по partuuid, а монтируется все из fstab по uuid, в fstab ничего не правил и править не собираюсь - работает не трожь.

amd_amd ★★★★★
()
Ответ на: комментарий от papin-aziat

что же это за программа, которой sd* подавай

можно и лейблы и uuid подавать, но окончания названий будут постоянно меняться, пока к partuuid гвоздями не прибьешь, вот сейчас можно подавть что угодно из /dev/disk без всяких изменений, но зачем если теперь и sd* все впорядке, считаю чем короче конфиги - тем лучше.

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

Я что-то упустил из твоего рассказа. Фиг с ним. Я понял так, что ты тупо отменил новую фичу с недетерменированным назначением девайсов и тебе теперь /dev/disk вообще не нужен.

papin-aziat ★★★★★
()
Ответ на: комментарий от papin-aziat

тупо отменил новую фичу

нет - ничего не отменял, просто в grub предоставляется несколько возвожностей запуска системы - по uuid, по partuuid, по /dev/sdxx, по умолчанию включено uuid, но оно работает через жопу, с /dev/sdxx то же ерунда, а вот с partuuid все нормально… я на самом деле пока только с одной машиной поигрался - может на остальных не поможет, а каким то это даже не требуется - работают из под uuid без проблем и каждый раз винты одинаково называются.

/dev/disk вообще не нужен

что значит ни нужен? просто окончания имен в нем теперь перестали меняться после каждого выключения или перезагрузки

amd_amd ★★★★★
()

я обосрался… есть флешка с установленым arch прибил в grub гвоздями к partuuid и нифига не помогло, стартует произвольно то как sda, то как sdb, то как sdc, и никакой логической последовательности в этом не видно, метод с partuuid пока что сработал только на одной машине.

amd_amd ★★★★★
()
Ответ на: комментарий от papin-aziat

/etc/sysconfig/storage

Сюся все же не Федора, разница есть. У вас может не быть этого или быть в другом месте. И вообще я закомментировал на всякий случай, потому что не нашел описания этой настройки.

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

есть флешка с установленым arch прибил в grub гвоздями к partuuid и нифига не помогло, стартует произвольно то как sda, то как sdb, то как sdc, и никакой логической последовательности в этом не видно, метод с partuuid пока что сработал только на одной машине.

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

soomrack ★★★★★
()

Ну вообще-то, использовать /dev/sd* в наше время не считается хорошей практикой. Гораздо проще (и надёжнее) использовать UUID диска, который вы можете узнать из /dev/disk/by-uuid.

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

вся структура /dev создается заново при каждой инициализации системы.
udev каждый раз создает с нуля весь набор /dev/sd* и симлинки на них в /dev/disk//
так что возможность прыгать у /dev/sd* будет всегда.

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

не думаю. имена правила udev для усб-флешек имеют больший номер и следовательно выполняются позжее.
можно поковырять правила на флешке и сделать так чтобы udev давал данной конкретной флешке имя sda. но зачем ??

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

чтобы udev давал данной конкретной флешке имя sda. но зачем ??

втыкаешь такую флешку в машину где есть пару винтов HDD, а в tlp есть настройка DISK_DEVICES=sdb sdc, система работает с флешки, а винты останавливаются, не греются, механического износа нет, опять же энергосбережение, если надо что то считать с с этих дисков - они оживают, а потом засыпают снова.

amd_amd ★★★★★
()

вот как это выглядит когда имена не зафиксированы: в машине два винта - ssd подключен в sata1 и hdd подключен в sata2, но я запускаюсь с флешки на которую установлен arch и она естественно подключена по usb.

$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda      8:0    0  55,9G  0 disk 
└─sda1   8:1    0  55,9G  0 part 
sdb      8:16   0  29,1G  0 disk 
└─sdb1   8:17   0  29,1G  0 part /
sdc      8:32   0 931,5G  0 disk 
├─sdc1   8:33   0  89,4G  0 part 
├─sdc2   8:34   0   3,9G  0 part 
└─sdc3   8:35   0 838,2G  0 part

кто нибудь видит в этом логику?

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

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

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

да ты прав.
/dev/sd** могут поменяться при перенумерации устройств (включении системы).

/dev/disk/* никогда не изменятся при перенумерации устройств системы (включении системы).
/dev/disk/path изменятся только при изменении конфигурации подключение носителей.
/dev/disk/by-id неизменятся при изменении конфигурации подключения носителей, но возможно будут неуникальными (хотя ID_SERIAL WWN таки уникальные)…

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

на две сотни постов нафлудили

ну чего еще больше нафлудим? в 5-ый раз объяснять придется… в коньках путаница с температурами винтов и tlp не правильно определяет с каким винтом работать.

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

sda прыгал всегда, просто была нужна подходящая конфигурация, вот пример: https://forums.debian.net/viewtopic.php?t=15269 . Именно тот sda, который обозначал параллельный SCSI, а не любой накопитель.

К контроллеру были привязаны только PATA (IDE), которые hda, hdb и т.д. В системе могло быть до четырёх IDE контроллеров, букв (и major/minor однобайтных) хватает. Но для SCSI так букв не наберёшся. Наверное, исключительно для сказочных дисков букв и хватило бы, типа до четырёх контроллеров, до 7(15) дисков на каждом. Но, ведь sdX стал ещё и USB и PATA и что-угодно...

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

баги коньков

предположим винт с которого стартовала система определился как sda, соседний винт как sdb, а конфиг в коньках имеет вид

${fs_used_perc}% $alignr ${diskio}/${fs_used /}/${fs_free /} ${hddtemp}°C
$swapperc% $alignr ${diskio /dev/sda5}/$swap/$swapfree ${execi 3600 hddtemp /dev/sdb | cut -c 22-23}°C

что произойдет если имена винчестеров поменяются местами?

и tlp

в конфиге tlp имеется настройка DISK_DEVICES=sdb… что произойдет если имена винчестеров поменяются местами?

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

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

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

из /dev/disk

ну если так, то вот это ${diskio /dev/sda5} можно заменить на такое ${diskio /dev/disk/by-label/swap}, но надо пробовать - дать нагрузки что бы swap хавать начало и посмотреть как отображает… не могу вот это победить ${execi 3600 hddtemp /dev/sdb | cut -c 22-23}°C кроме /dev/sdXY ничего не принимает

amd_amd ★★★★★
()
Ответ на: комментарий от amd_amd
pfg@srv16:~/run$ sudo hddtemp /dev/sda
/dev/sda: WDC WD2500AAKS-00VSA0: 38°C

pfg@srv16:~/run$ sudo hddtemp /dev/disk/by-id/ata-WDC_WD2500AAKS-00VSA0_WD-WMART1918109
/dev/disk/by-id/ata-WDC_WD2500AAKS-00VSA0_WD-WMART1918109: WDC WD2500AAKS-00VSA0: 38°C

pfg@srv16:~/run$ hddtemp -v
Версия hddtemp: 0.3-beta15
pfg ★★★★★
()