Вторая часть трилогии о модернизации бекап-сервера. Продолжаем работы по модернизации бекап-сервера. О том, как прошла замена дисков массива md0 уже написал, просьба прочесть. В этом посте рассморим вопрос «видимости» системой raid-контроллера 3ware 9650SE-2LP
Сервер на базе процессора AMD Ryzen 3 PRO 2100GE. Ядро собрано с опцией
CONFIG_SCSI_3W_9XXX=y
И после перезагрузки ошибки
3w-9xxx: scsi0: ERROR: (0x06:0x0015): No valid response during init connection.
3w-9xxx: scsi0: ERROR: (0x06:0x0007): Initconnection failed while checking SRL.
3w-9xxx: scsi0: ERROR: (0x06:0x0021): Compatibility check failed during reset sequence.
3w-9xxx: scsi0: ERROR: (0x06:0x000C): PCI Parity Error: clearing.
3w-9xxx: scsi0: ERROR: (0x06:0x000D): PCI Abort: clearing.
Как оказалось это общая болячка для всех серверов с AMD Ryzen и решается она правкой одного файла в исходниках ядра
cd /usr/src/linux/drivers/pci vi quirks.c
Ищем блок со строками
DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SERVERWORKS, 0x0420, quirk_no_ext_tags); DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SERVERWORKS, 0x0422, quirk_no_ext_tags); #ifdef CONFIG_PCI_ATS /* * Some devices require additional driver setup to enable ATS.
и вставляем нужную строку
DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SERVERWORKS, 0x0420, quirk_no_ext_tags); DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SERVERWORKS, 0x0422, quirk_no_ext_tags); DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_AMD, 0x1452, quirk_no_ext_tags); #ifdef CONFIG_PCI_ATS /* * Some devices require additional driver setup to enable ATS.
Пересобираем и инсталируем новое ядро
genkernel --clean all
Перезагружаем и проверяем, что видит ОС
tw_cli /c0 show
На этом этапе все. Далее предстоит миграция ОС на /c0/u0

- Системный администратор с 2000 года
- Участник Хабр Q&A и cyberforum
- Кейсы