LSI SAS 2008 컨트롤러에 연결된 드라이브는 "대기 모드에서 시작"으로 설정되어 있으므로 더 이상 감지되지 않습니다. 대기 모드에서 전원을 켜는 것을 PUIS, POIS 또는 "ATA6 대기 모드에서 전원 켜기"라고도 합니다.
Super Micro X8SI6-F BIOS에서 "Load onboard SAS Option Rom"이 "Disabled"로 설정되어 있습니다.
다음 명령을 사용하여 부팅 중에 커널 모듈 mpt2sas 로드를 비활성화합니다.echo 'blacklist mpt2sas' >> /etc/modprobe.d/mpt2sas.conf; depmod; update-initramfs -u -k $(uname -r)
modprobe mpt2sas
/etc/rc.local에서 완료
드라이브의 PUIS가 /sbin/hdparm -s1 --yes-i-know-what-i-am-doing /dev/sdX
" "을(를) 사용하여 설정 되었습니다.
# tail /var/log/messages
Dec 19 21:07:21 debian kernel: [ 14.503509] mpt2sas0: Scatter Gather Elements per IO(128)
Dec 19 21:07:22 debian kernel: [ 14.735785] mpt2sas0: LSISAS2008: FWVersion(14.00.01.00), ChipRevision(0x03), BiosVersion(07.27.00.00)
Dec 19 21:07:22 debian kernel: [ 14.735878] mpt2sas0: Protocol=(Initiator), Capabilities=(Raid,TLR,EEDP,Snapshot Buffer,Diag Trace Buffer,Task Set Full,NCQ)
Dec 19 21:07:22 debian kernel: [ 14.736748] mpt2sas0: sending port enable !!
Dec 19 21:07:22 debian kernel: [ 15.294663] e1000e: eth0 NIC Link is Up 100 Mbps Full Duplex, Flow Control: None
Dec 19 21:07:22 debian kernel: [ 15.294759] e1000e 0000:03:00.0: eth0: 10/100 speed: disabling TSO
Dec 19 21:07:22 debian kernel: [ 15.296146] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
Dec 19 21:07:23 debian kernel: [ 16.257786] mpt2sas0: host_add: handle(0x0001), sas_addr(0x5003048007abbc00), phys(8)
Dec 19 21:12:22 debian kernel: [ 314.234004] mpt2sas0: port enable: FAILED with timeout (timeout=300s)
Dec 19 21:12:54 debian kernel: [ 346.439736] mpt2sas0: expander_add: handle(0x0009), parent(0x0001), sas_addr(0x50014380182cf0e6), phys(37)
# tail -n40 /var/log/syslog
Dec 19 21:41:11 debian kernel: [ 240.376096] INFO: task modprobe:1341 blocked for more than 120 seconds.
Dec 19 21:41:11 debian kernel: [ 240.376171] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Dec 19 21:41:11 debian kernel: [ 240.376263] modprobe D 0000000000000000 0 1341 1287 0x00000000
Dec 19 21:41:11 debian kernel: [ 240.376414] ffff88023f06b880 0000000000000082 0000000000000000 000000000000bfc5
Dec 19 21:41:11 debian kernel: [ 240.376656] 0000000000000096 ffffffff8104e54b 000000000000f9e0 ffff88023d681fd8
Dec 19 21:41:11 debian kernel: [ 240.376895] 0000000000015780 0000000000015780 ffff88023bc80000 ffff88023bc802f8
Dec 19 21:41:11 debian kernel: [ 240.377134] Call Trace:
Dec 19 21:41:11 debian kernel: [ 240.377204] [<ffffffff8104e54b>] ? release_console_sem+0x17e/0x1af
Dec 19 21:41:11 debian kernel: [ 240.377278] [<ffffffff8105aeba>] ? __mod_timer+0x141/0x153
Dec 19 21:41:11 debian kernel: [ 240.377350] [<ffffffff812fbec4>] ? schedule_timeout+0xa5/0xdd
Dec 19 21:41:11 debian kernel: [ 240.377422] [<ffffffff8105aa34>] ? process_timeout+0x0/0x5
Dec 19 21:41:11 debian kernel: [ 240.377492] [<ffffffff812fbd04>] ? wait_for_common+0xde/0x15b
Dec 19 21:41:11 debian kernel: [ 240.377566] [<ffffffff8104a461>] ? default_wake_function+0x0/0x9
Dec 19 21:41:11 debian kernel: [ 240.377647] [<ffffffffa021d6e1>] ? _base_make_ioc_operational+0x929/0xa6f [mpt2sas]
Dec 19 21:41:11 debian kernel: [ 240.377743] [<ffffffffa021fa85>] ? mpt2sas_base_attach+0xb73/0xc61 [mpt2sas]
Dec 19 21:41:11 debian kernel: [ 240.377817] [<ffffffff810412ee>] ? enqueue_task_fair+0x3e/0x82
Dec 19 21:41:11 debian kernel: [ 240.377889] [<ffffffff8103a311>] ? enqueue_task+0x5f/0x68
Dec 19 21:41:11 debian kernel: [ 240.377956] [<ffffffff8103a403>] ? activate_task+0x22/0x28
Dec 19 21:41:11 debian kernel: [ 240.378037] [<ffffffffa0222e21>] ? _scsih_probe+0x32c/0x501 [mpt2sas]
Dec 19 21:41:11 debian kernel: [ 240.378115] [<ffffffff811a2d46>] ? local_pci_probe+0x12/0x16
Dec 19 21:41:11 debian kernel: [ 240.378188] [<ffffffff811a3996>] ? pci_device_probe+0xc0/0xe9
Dec 19 21:41:11 debian kernel: [ 240.378263] [<ffffffff81221520>] ? driver_probe_device+0xa3/0x14b
Dec 19 21:41:11 debian kernel: [ 240.378333] [<ffffffff81221617>] ? __driver_attach+0x4f/0x6f
Dec 19 21:41:11 debian kernel: [ 240.378404] [<ffffffff812215c8>] ? __driver_attach+0x0/0x6f
Dec 19 21:41:11 debian kernel: [ 240.378477] [<ffffffff81220def>] ? bus_for_each_dev+0x43/0x74
Dec 19 21:41:11 debian kernel: [ 240.378549] [<ffffffff812207af>] ? bus_add_driver+0xaf/0x1f8
Dec 19 21:41:11 debian kernel: [ 240.378621] [<ffffffff812218cf>] ? driver_register+0xa7/0x111
Dec 19 21:41:11 debian kernel: [ 240.378698] [<ffffffffa015f000>] ? _scsih_init+0x0/0x112 [mpt2sas]
Dec 19 21:41:11 debian kernel: [ 240.378772] [<ffffffff811a3bdc>] ? __pci_register_driver+0x50/0xb8
Dec 19 21:41:11 debian kernel: [ 240.378849] [<ffffffffa015f000>] ? _scsih_init+0x0/0x112 [mpt2sas]
Dec 19 21:41:11 debian kernel: [ 240.378928] [<ffffffffa015f0fc>] ? _scsih_init+0xfc/0x112 [mpt2sas]
Dec 19 21:41:11 debian kernel: [ 240.379002] [<ffffffff8100a065>] ? do_one_initcall+0x64/0x174
Dec 19 21:41:11 debian kernel: [ 240.379072] [<ffffffff8107ab54>] ? sys_init_module+0xc5/0x21a
Dec 19 21:41:11 debian kernel: [ 240.379144] [<ffffffff81010b42>] ? system_call_fastpath+0x16/0x1b
Dec 19 21:42:18 debian kernel: [ 307.313037] mpt2sas0: _base_send_port_enable: timeout
Dec 19 21:42:18 debian kernel: [ 307.313106] mpt2sas0: port enable: FAILED
Dec 19 21:42:18 debian kernel: [ 307.313171] mpt2sas0: sending diag reset !!
Dec 19 21:42:19 debian kernel: [ 308.430890] mpt2sas0: diag reset: SUCCESS
Dec 19 21:42:19 debian kernel: [ 308.431001] mpt2sas 0000:01:00.0: PCI INT A disabled
Dec 19 21:42:19 debian kernel: [ 308.431102] mpt2sas0: failure at /build/buildd-linux-2.6_2.6.32-46-amd64-_ApuPc/linux-2.6-2.6.32/debian/build/source_amd64_none/drivers/scsi/mpt2sas/mpt2sas_scsih.c:6021/_scsih_probe()!
반품
Debian Linux 커널을 사용하여 테스트되었습니다.
- Linux debian 2.6.32-5-amd64 #1 SMP Sun Sep 23 2012 10:07:46 UTC 2012 x86_64
- BPO.3(Linux debian 3.2.0-0.bpo.3-amd64 #1 SMP Thu Aug 23 07:41:30 UTC 2012 x86_64)
- BPO.4(리눅스 데비안 3.2.0-0.bpo.4-amd64 #1 SMP 데비안 3.2.32-1~bpo60+1 x86_64)
SAS BIOS가 활성화된 상태에서 테스트됨 = 변경 사항 없음
시간 초과 후, bpo.3 및 bpo4. 꼭 매달리게 하다. PgUp/PgDown 키도 콘솔에서 작동하지 않습니다.
modinfo /lib/modules/2.6.32-5-amd64/kernel/drivers/scsi/mpt2sas/mpt2sas.ko | grep ^version:
version: 02.100.03.00
업데이트 #1: BIOS 및 펌웨어 업그레이드 어댑터에서 LSI 드라이버 버전 15.00.00.00으로 테스트되었습니다.
mpt2sas0: LSISAS2008: FWVersion(15.00.00.00), ChipRevision(0x03), BiosVersion(07.29.00.00)
mpt2sas0: port enable: FAILED with timeout (timeout=300s)
mpt2sas 드라이버 버전 15로 부팅한 후 시스템이 3492초 동안 정지됩니다. IT 펌웨어를 새로 고치면 정지 문제를 해결할 수 있습니다.
업데이트 #2: 좀 더 자세한 SMP 보고서
# smp_rep_phy_err_log /dev/bsg/expander-0\:0 -vvv
Report phy error log request: 40 11 06 02 00 00 00 00 00 00 00 00 00 00 00 00
Report phy error log response:
Expander change count: 303
phy identifier: 0
invalid dword count: 18518
running disparity error count: 18492
loss of dword synchronization count: 2
phy reset problem count: 0
# smp_rep_phy_err_log /dev/bsg/expander-0\:1 -vvv
Report phy error log request: 40 11 06 02 00 00 00 00 00 00 00 00 00 00 00 00
Report phy error log response:
Expander change count: 715
phy identifier: 0
invalid dword count: 36103
running disparity error count: 35004
loss of dword synchronization count: 4
phy reset problem count: 0
# smp_rep_phy_sata --phy=5 /dev/bsg/expander-0\:0 -vvv
Report phy SATA request: 40 12 10 02 00 00 00 00 00 05 00 00 00 00 00 00
Report phy SATA response:
expander change count: 303
phy identifier: 5
STP I_T nexus loss occurred: 0
affiliations supported: 1
affiliation valid: 1
STP SAS address: 0x50014380182cf0c5
register device to host FIS:
34 00 50 01 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00
affiliated STP initiator SAS address: 0x5003048007abbc00
STP I_T nexus loss SAS address: 0x0
affiliation context: 0
current affiliation contexts: 1
maximum affiliation contexts: 1
# smp_rep_exp_route_tbl /dev/bsg/expander-0\:0 -vvv
Report expander route table request:
40 22 ff 06 00 00 00 00 00 3e 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Report expander route table response header:
expander change count: 303
expander route table change count: 1
self configuring: 0
zone configuring: 0
configuring: 0
zone enabled: 0
expander route table descriptor length: 4 dwords
number of expander route table descriptors: 0
first routed SAS address index: 0
last routed SAS address index: 0
starting phy id: 0
업데이트 #3: mpt2sas.ko에서 자세한 로깅을 활성화하고 /var/log/messages dev.scsi.logging_level = 0x180000F1
에 /etc/sysctl.conf
출력합니다 .
debian kernel: [ 0.927392] setting logging_level(0x00080000)
debian kernel: [ 1.591808] mpt2sas0: sending port enable !!
debian kernel: [ 3.113480] mpt2sas0: host_add: handle(0x0001), sas_addr(0x5003048007abbc00), phys(8)
debian kernel: [ 3.124224] mpt2sas0: expander_add: handle(0x0009), parent(0x0001), sas_addr(0x50014380182cf0e6), phys(37)
debian kernel: [ 3.137436] mpt2sas0: detecting: handle(0x000a), sas_address(0x50014380182cf0c0), phy(0)
debian kernel: [ 3.137520] mpt2sas0: REPORT_LUNS: handle(0x000a), retries(0)
debian kernel: [ 8.127417] mf:
debian kernel: [ 8.127417] 0000000a 00000000 00000000 3a580000 00600000 00000018 00000000 000007f8
debian kernel: [ 8.127842] 00000000 0000000c 00000000 00000000 00000000 00000000 00000000 02000000
debian kernel: [ 8.128261] 000000a0 00000000 0000f807 00000000 00000000 00000000 00000000 00000000
debian kernel: [ 8.128679] d30007f8 3c3a7000 00000002 00000000
debian kernel: [ 8.128980] mpt2sas0: issue target reset: handle(0x000a)
debian kernel: [ 8.352363] mpt2sas0: log_info(0x31111000): originator(PL), code(0x11), sub_code(0x1000)
debian kernel: [ 8.352500] mpt2sas0: target reset completed: handle(0x000a)
debian kernel: [ 8.352563] mpt2sas0: issue retry: handle (0x000a)
debian kernel: [ 11.347175] mpt2sas0: log_info(0x31111000): originator(PL), code(0x11), sub_code(0x1000)
debian kernel: [ 11.347276] mpt2sas0: TEST_UNIT_READY: handle(0x000a), lun(0)
debian kernel: [ 14.591621] mpt2sas0: log_info(0x31111000): originator(PL), code(0x11), sub_code(0x1000)
debian kernel: [ 14.591720] mpt2sas0: SATA Initialization Timeout,sending a retry
debian kernel: [ 14.591785] mpt2sas0: TEST_UNIT_READY: handle(0x000a), lun(0)
debian kernel: [ 17.586480] mpt2sas0: log_info(0x31111000): originator(PL), code(0x11), sub_code(0x1000)
debian kernel: [ 17.586836] mpt2sas0: detecting: handle(0x000b), sas_address(0x50014380182cf0c1), phy(1)
업데이트 #4: PUIS = 비활성화된 경우 시간 초과가 없으며 드라이브가 올바르게 초기화됩니다.
HP Smart Array P410/256MB 컨트롤러(462862-B21) 및 Highpoint Rocket 2720SGL과 같은 다른 어댑터의 BIOS도 PUIS/POIS Hitachi 드라이브를 감지할 수 없습니다. Highpoint 컨트롤러 BIOS는 그룹 1을 부팅 중이라고 말하지만 여전히 확장기 뒤에 있는 드라이브를 감지할 수 없습니다.
LSISAS2008 컨트롤러를 사용하여 HP SAS 확장기 뒤에 있는 POIS/PUIS 모드의 드라이브를 어떻게 감지합니까?
답변1
PUIS를 비활성화한 후에도 계속 작동합니까?
포트 활성화에 실패했다는 사실은 HBA 문제를 나타낼 수 있지만 드라이브의 대상 재설정(log_info 0x31111000)은 경우에 따라 포트를 활성화했지만 드라이브가 응답하지 못했음을 나타냅니다. 이는 전혀 초기화되지 않은 PUIS 조건으로 인해 발생할 수 있습니다.
일반적으로 SAS 확장기 뒤에 디스크가 있는 경우 확장기는 디스크를 깨우는 작업을 수행합니다. sg_ses 유틸리티를 사용하여 익스텐더의 상태를 확인하고 어떻게 생각하는지 확인할 수 있습니다.
SMP에 표시되는 오류는 어딘가에 케이블 문제가 있음을 나타낼 수 있습니다. 디스크에는 오류가 없지만 익스텐더에서 스타터까지의 케이블에는 오류가 있습니다. 이 옵션도 확인해야 합니다.
log_info 0x31111000은 다음과 같이 디코딩됩니다.
./lsi_decode_loginfo.py 0x31111000
Value 31111000h
Type: 30000000h SAS
Origin: 01000000h PL
Code: 00110000h PL_LOGINFO_CODE_RESET See Sub-Codes below (PL_LOGINFO_SUB_CODE)
Sub Code: 00001000h PL_LOGINFO_SUB_CODE_DSCVRY_SATA_INIT_TIMEOUT
답변2
LSI SAS 2008 컨트롤러를 Highpoint Rocket 2720SGL로 교체했습니다.
이 Rocket 2720SGL 어댑터에는 Marvell 4.0.0.15 BIOS가 포함되어 있습니다. 이 BIOS는 PUIS/POIS 드라이버를 부팅하지 않습니다.
이건 문제가 되지 않으니까HighPoint Marvell 4.0.0.1528N 오픈 소스 Linux 드라이버해당 make
명령은 역시 HP SAS 확장기 V2.08 뒤에 있는 PUIS/POIS 드라이버를 부팅할 수 있는 mv94xx.ko 커널 모듈을 생성합니다. 이제 /dev/sdXX 장치를 데비안에서 사용할 수 있습니다.
따라서 Marvell BIOS를 비활성화하여 부팅 시간을 단축할 수 있습니다.
참고 #1: Highpoint Rocket 2720SGL은 RocketRAID 2720SGL이 아닙니다.
RocketRAID에는 Highpoint BIOS가 포함되어 있고 Rocket에는 Marvell BIOS가 포함되어 있습니다.
참고 #2: Supermicro SAS2LP-MV8과 같은 다른 Marvell 88SE9485 기반 칩[1b4b:9485]을 기본 모듈 mvsas.ko
(버전 0.8.16, Marvell 88SE6440 SAS/SATA 컨트롤러 드라이버)과 함께 사용하고 포트 6C에 연결하면 커널이 정지됩니다. Ubuntu 3.12.25, 3.13.0, 3.13.11과 같은 최신 커널 버전을 실행할 때 드라이브, HP SAS 확장기 7C 및 8C를 실행하고 포트 5C 및 9C에서 "진단 페이지 0x8000002를 가져올 수 없습니다", "스토리지를 바인딩할 수 없습니다" device-19”, 3.16.0rc6 및 3.16.0-999, 날짜: 24072014.
답변3
이 상태에서 SCSI 부팅 명령을 실행해야 할 것 같습니다. 아마도 SCSI-BIOS를 활성화하면 이를 수행할 수 있습니다. 때로는 각 SCSI-id에 "부팅 장치" 예/아니요 옵션이 있을 수 있습니다.
답변4
IT 펌웨어를 사용하는 플래싱 LSI SAS2008 어댑터
mpt2sas 드라이버는 LSI2008 카드가 꺼짐(기본값) IR 모드가 아닌 IT(초기자-대상) 모드일 때 다르게 반응합니다. 예를 들어 "포트 활성화가 활성화된 경우 장치 보고"는 다음과 같이 IT 모드에서만 활성화됩니다.http://www.spinics.net/lists/linux-scsi/msg55063.html
Super Micro X8SI6-F 마더보드는 기본적으로 IR 펌웨어로 설정되어 있습니다. DOS 시스템으로 포맷된 USB 디스크에서 부팅하고 다음 명령을 실행한 후:
> sas2flsh.exe -o -e 6
다시 시작하지 않음
> sas2flsh.exe -o -b mptsas2.rom -f 2118ir.bin
지금 다시 시작
커널 2.6.32-5-amd64의 mpt2sas 드라이버 버전 15.00.00.00은 더 이상 정지되지 않지만 여전히 "포트 활성화: 시간 초과로 인해 실패했습니다(시간 초과 = 300초)."메시지. 그것감지된 드라이브가 없습니다., 콘솔은 이제 REPORT_LUNS, TEST_UNIT_READY, SATA 초기화 시간 초과, 재시도 전송, 감지: 핸들(0x00XX), sas_address(0x5001438018XXXXX) 메시지로 채워집니다.
참고: SAS 확장기 뒤의 드라이브가 여전히 감지되지 않습니다.