Назад | Перейти на главную страницу

Linux Rhel5.6: версия протокола SCSI - где она определяется?

В нашей среде у нас есть несколько шкафов хранения, подключенных к серверам RH Linux. В зависимости от шкафа хранения, подключенного к хосту, некоторые LUN ​​видны с использованием протокола SCSI версии 2 (версия = 0x02 [SCSI-2]), другие - с версией протокола 4. (версия = 0x04 [SPC-2]).

Где настроена эта версия протокола? Это на стороне операционной системы? или на стороне хранения? Точно так же мы установили серверы RH. Мы открываем кейс в RHEL и нашему поставщику хранилищ, конечно, RHEL говорит, что это хранилище, а поставщик хранилища говорит нам, что это ОС.

Это влияет на обнаружение LUN ​​(идентификаторы LUN не находятся в последовательности -> вам нужно вручную указать scsi-rescan диапазон идентификаторов LUN, которые вы хотите просканировать -> невозможно просмотреть все LUN ​​при перезагрузке без ручного вмешательства) .

Мы больше не знаем, где искать, есть ли у кого-то удостоверение личности, где искать? Сильфон - результат sg_inq на 3 разных серверах.

[qualification:root@xxxxxxxx:/root]$ sg_inq /dev/sda
standard INQUIRY:
PQual=0 Device_type=0 RMB=0 version=0x02 **[SCSI-2]**
[AERC=0] [TrmTsk=0] NormACA=0 HiSUP=1 Resp_data_format=2
SCCS=0 ACC=0 TPGS=0 3PC=0 Protect=0 BQue=0
EncServ=0 MultiP=1 (VS=0) [MChngr=0] [ACKREQQ=0] Addr16=1
[RelAdr=0] WBus16=0 Sync=0 Linked=0 [TranDis=0] CmdQue=1
[SPI: Clocking=0x0 QAS=0 IUS=0]
length=184 (0xb8) Peripheral device type: disk
Vendor identification: HITACHI
Product identification: DF600F
Product revision level: 0000
Unit serial number: 850531780000


[root@ccccccccccc ~]# sg_inq /dev/sda
standard INQUIRY:
PQual=0 Device_type=0 RMB=0 version=0x04 **[SPC-2]**
[AERC=0] [TrmTsk=0] NormACA=0 HiSUP=1 Resp_data_format=2
SCCS=0 ACC=0 TPGS=0 3PC=0 Protect=0 BQue=0
EncServ=0 MultiP=1 (VS=0) [MChngr=0] [ACKREQQ=0] Addr16=1
[RelAdr=0] WBus16=0 Sync=0 Linked=0 [TranDis=0] CmdQue=1
[SPI: Clocking=0x0 QAS=0 IUS=0]
length=184 (0xb8) Peripheral device type: disk
Vendor identification: HITACHI
Product identification: DF600F
Product revision level: 0000
Unit serial number: 8505035001DA

[pre-prod:root@vvvvvvvvv:/home/a143524]$ sg_inq /dev/sda
standard INQUIRY:
PQual=0 Device_type=0 RMB=0 version=0x04 **[SPC-2]**
[AERC=0] [TrmTsk=0] NormACA=0 HiSUP=1 Resp_data_format=2
SCCS=0 ACC=0 TPGS=0 3PC=0 Protect=0 BQue=0
EncServ=0 MultiP=1 (VS=0) [MChngr=0] [ACKREQQ=0] Addr16=1
[RelAdr=0] WBus16=0 Sync=0 Linked=0 [TranDis=0] CmdQue=1
[SPI: Clocking=0x0 QAS=0 IUS=0]
length=184 (0xb8) Peripheral device type: disk
Vendor identification: HITACHI
Product identification: DF600F
Product revision level: 0000
Unit serial number: 850503500032

Драйвер - это модуль qla по умолчанию, связанный с rhel. Мы не меняем много параметров:

параметры qla2xxx qlport_down_retry = 1 ql2xplogiabsentdevice = 1 ql2xmaxqdepth = 16

которые результат как:

[qualification:root@xxxxxxxx]$ for i in  /sys/module/qla2xxx/parameters/*;
do
echo $i;cat $i;
done

/sys/module/qla2xxx/parameters/ql2xallocfwdump
1

/sys/module/qla2xxx/parameters/ql2xdbwr
1

/sys/module/qla2xxx/parameters/ql2xdevdiscgoldfw
0

/sys/module/qla2xxx/parameters/ql2xdontresethba
0

/sys/module/qla2xxx/parameters/ql2xenablemsix
1

/sys/module/qla2xxx/parameters/ql2xetsenable
0

/sys/module/qla2xxx/parameters/ql2xextended_error_logging
1

/sys/module/qla2xxx/parameters/ql2xfdmienable
0

/sys/module/qla2xxx/parameters/ql2xfwloadbin
0

/sys/module/qla2xxx/parameters/ql2xloginretrycount
30

/sys/module/qla2xxx/parameters/ql2xlogintimeout
20

/sys/module/qla2xxx/parameters/ql2xmaxqdepth
16

/sys/module/qla2xxx/parameters/ql2xplogiabsentdevice
1

/sys/module/qla2xxx/parameters/ql2xqfullrampup
120

/sys/module/qla2xxx/parameters/ql2xqfulltracking
1

/sys/module/qla2xxx/parameters/ql2xshiftctondsd
6

/sys/module/qla2xxx/parameters/ql2xtargetreset
1

/sys/module/qla2xxx/parameters/qlport_down_retry
1

Еще одна вещь, которая заставила меня подумать о проблеме с Linux: Следующий результат отличается на каждом хосте: Версия SCSI дает разные результаты

cat /proc/scsi/scsi:
...

Host: scsi1 Channel: 00 Id: 04 Lun: 99
  Vendor: HITACHI  Model: DF600F           Rev: 0000
  Type:   Direct-Access                    ANSI SCSI revision: 02

Но с SCLI я всегда находил один и тот же вывод SBC-2:

LUN 99
---------------------------------------
Product Vendor                 : HITACHI 
Product ID                     : DF600F          
Product Revision               : 0000
LUN                            : 99
Size                           : 100.00 GB
Type                           : SBC-2 Direct access block device
                       (e.g., magnetic disk)
WWULN                          : 48-49-54-41-43-48-49-20-38-35-30-35-32-38-39-30
                       30-30-39-39
OS LUN Name                    : /dev/sdiz;/dev/sg259;

Это дает кому-нибудь представление? С уважением, Майк

ОБНОВЛЕНИЕ 27/10/2011:

Привет, мы недавно сделали два интересных теста:

-> Эта версия SCSI была в порядке

-> Версия scsi была в порядке на этом хосте

Мы заметили, что эти 3 узла RAC имеют много дисков в разных хранилищах ... Поскольку одно хранилище должно быть выведено из эксплуатации, мы сначала очистим его, прежде чем двигаться дальше ...

Мы также решили реализовать scsi-rescan в последовательности загрузки, чтобы иметь возможность перезагрузить компьютер без проблем (я ненавижу такую ​​работу)

Я сохраню ваше другое предложение на будущее;)

Я буду держать вас в курсе этого С уважением

Хм, я видел, что sg_inq не отображает всю информацию о версии при вызове без параметров. Если вам нужен список всех стандартов, которым устройство, как утверждается, соответствует, вы должны использовать sg_inq -d /dev/sda - есть вероятность, что вы получите одинаковый вывод на всех своих хостах.

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

Поскольку ваши LUN обнаруживаются не по порядку, вы можете внимательно изучить параметры конфигурации Fast! Util, чтобы выявить возможные различия между вашими конфигурациями. Возможно, стоит также обратиться в службу поддержки QLogic (или к производителю оборудования, если у вас есть OEM-адаптеры) о возможных причинах проблемы.

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

  • попробуйте другие драйверы - вы, вероятно, используете HBA-адаптеры QLA 23xx / 24xx FC, но используете более старые драйверы qla2xxx - попробуйте заменить их модулями, специфичными для qla2300 / qla2400, и посмотрите, имеет ли это какое-либо значение
  • пытаться восстановление заводских настроек конфигурации адаптера главной шины на проблемной машине и на машине, работающей хорошо, и посмотрите, имеет ли это значение
  • если у вас есть этот вариант, используйте другой FC HBA (возможно, просто приобретите старый адаптер Emulex на eBay за 50 долларов) для тестирования и посмотрите, изменит ли он что-нибудь
  • запустить систему с другой версией ОС - например, живую sysrescuecd версия, чтобы увидеть, воспроизводима ли проблема с разными версиями ядра / модуля

Версия протокола - это свойство диска или уровня эмуляции, расположенного между диском (дисками) и хостом. Если у вас есть шкаф, который выполняет функции RAID и представляет один LUN, представляющий несколько устройств, или некоторый настраиваемый срез, то уровень рейда определяет, о какой версии протокола SCSI он говорит.