Я хочу определить, подключен ли диск к правильному sata-порту. Хотя lsscsi дает мне некоторую полезную информацию об используемом хосте, мне было интересно, всегда ли номер хоста SCSI останется прежним:
[0:0:0:0] disk ATA 2.5" SATA SSD 3M P130 /dev/sda
[1:0:0:0] disk ATA 2.5" SATA SSD 3M P130 /dev/sdb
[4:0:0:0] disk ATA SATADOM D150SV-L 1209 /dev/sdc
Небольшой тест показал, что ни перезагрузка системы, ни удаление одного из дисков не влияют на номера других хостов. Кроме того, я нашел следующее на http://www.tldp.org/HOWTO/SCSI-2.4-HOWTO/scsiaddr.html:
Номер адаптера SCSI обычно представляет собой произвольную нумерацию плат адаптера на внутренних шинах ввода-вывода (например, PCI, PCMCIA, ISA и т. Д.) Компьютера. [...] Номера адаптеров SCSI выдаются ядром в порядке возрастания, начиная с 0.
Оба вместе приводят меня к предположению, что номер хоста SCSI всегда должен оставаться одним и тем же в системе, поскольку шина всегда нумеруется одинаково? Это верно?
ОБНОВЛЕНИЕ: кажется, что подключение устройства ATA Pass Through (ATP) может изменить номера хостов всех устройств.
Я бы никогда не стал рассчитывать на стабильность номеров HCTL. Хост может измениться путем добавления нового хоста или обнаружения нового устройства, которое откроет новый хост, который не использовался до этого момента. Ядро может иметь немного разные тайминги, что приведет к тому, что разные хосты будут обнаруживаться в другом порядке, а устройства, удаляемые и повторно вставляемые, могут получать разные целевые номера при каждой повторной вставке.
Значения имеют смысл только как временную идентификацию, но не должны использоваться для постоянной ссылки.