이 절에서는 Oracle Solaris 11.4 릴리스의 하드웨어 문제에 대해 설명합니다.
경로 페일오버 중 ALUA(Asymmetric Logical Unit Access) 저장소 대상에서 Oracle Solaris 다중 경로에 I/O 오류가 발생할 수 있습니다. 이 문제는 SAS SCSI 전송을 통해 연결된 저장소에서만 발생합니다. SAS SCSI를 통해 연결된 장치는 scsi-sas 유형의 컨트롤러에서 cfgadm -alv로 열결됩니다.
c7 connected configured unknown unavailable scsi-sas n /devices/pci@301/pci@1/scsi@0/iport@1:scsi c7::w5000cca02f187da1,0 connected configured unknown Client Device: /dev/dsk/c0t5000CCA02F187DA0d0s0(sd7)
또한 mpathadm show lu 명령은 비대칭 다중 경로를 요구합니다.
# mpathadm show lu /dev/dsk/c0t5000CCA02F187DA0d0s0 Logical Unit: /dev/rdsk/c0t5000CCA02F187DA0d0s2 mpath-support: libmpscsi_vhci.so ... Asymmetric: yes
이 문제가 발생하면 다음과 비슷한 오류가 발생합니다(라인은 가독성을 위해 임의로 나눠져 있음).
Jul 15 2018 13:22:45.123456789 ereport.io.scsi.cmd.disk.tran nvlist version: 0 class = ereport.io.scsi.cmd.disk.tran ... thread-stacks = stack[0] = genunix`fm_dev_report_postv+2c8() |scsi`scsi_fm_report_post+204() |sd`sd_report_post+a04() |sd`sd_intr_report_post+150() |sd`sd_return_command+15c() |sd`sdintr+a00()|scsi`scsi_hba_pkt_comp+e94() |scsi_vhci`vhci_intr+d6c() |scsi`scsi_hba_pkt_comp+e94() |scsi`scsi_pkt_comp_daemon+c8() ... pkt-reason = 0x1a pkt-state = 0x0 pkt-stats = 0x0 ...
임시해결책: 수정이 릴리스될 때까지는 영향을 받는 VID/PID 쌍에 대해 sd 및 ssd 조정 가능 매개변수 값을 늘리는 임시해결책을 사용할 수 있습니다. 다음 예에 표시된 것처럼 /etc/driver/drv/sd.conf 또는 /etc/driver/drv/ssd.conf를 수정하십시오.
sd-config-list = "VID PID", "path-busy-retry-count:4294967295, path-busy-retry-timeout:180000";
이 예에서 path-busy-retry-count에 표시된 값은 허용되는 최대 설정입니다. 낮은 값도 가능하지만, 시스템 아키텍처 및 기타 상황에 따라 적합한 값이 달라집니다. 따라서 모든 경우에 적합한 최소값은 여기에서 알려줄 수 없습니다.
이 임시해결책은 다음과 같은 제약 및 제한이 있습니다.
큰 path-busy-retry-count 값을 사용하면 페일오버 수행을 기다리는 동안 커널이 작동할 수 있습니다. 그 결과 CPU 사용량이 높아집니다. 따라서 이 임시해결책을 사용한 시스템은 부하가 높고 성능이 낮아질 수 있습니다. 페일오버가 완료된 다음에는 시스템이 정상 상태로 돌아갑니다.
이러한 조정 가능한 매개변수는 이후에 변경될 수 있으며, 버그 28337990 수정이 제공된 후 사용하지 않아야 합니다. SRU Readme 파일의 Bugs Fixed 절을 참조하십시오.
이러한 조정 가능한 매개변수는 오라클에서 명시적으로 권장되지 않는 한 다른 목적으로 사용하지 않아야 합니다.
DR(동적 재구성) 작업이 HCA에서 실행되는 동안 ibqueryerrors 또는 ibdiagnet과 같은 InfiniBand(IB) 도구 또는 유틸리티가 실행되는 경우 패닉이 발생할 수 있습니다. DR 작업은 HCA 장치의 제거 또는 구성 해제를 일으키는 cfgadm 또는 ldm remove-io와 같은 명령으로 시작될 수 있습니다. 자세한 내용은 ibqueryerrors(8), ibdiagnet(1), cfgadm(8) 및 ldm(8) 매뉴얼 페이지를 참조하십시오.
이 이유로 패닉이 발생할 경우, 다음과 비슷한 메시지가 표시됩니다.
panic[cpu14]/thread=c0405b9fe3980: BAD TRAP: type=31 rp=2a101bcf320 addr=62 mmu_fsr=0 occurred in module "ibtl" due to a NULL pointer dereference
일반적으로 IB 도구가 활성 상태이고 DR을 시도 중인 HCA를 사용하는 경우, DR 작업이 실패하여 HCA가 사용 중임을 나타냅니다.
임시해결책: InfiniBand HCA 장치에서 DR 작업을 수행하는 동안 InfiniBand 도구, 유틸리티 또는 응용 프로그램(예: ibqueryerrors 또는 ibdiagnet)이 활성 상태가 아닌지 확인하십시오.
대상에 대한 연결이 일시적으로 중단된 경우 기본 iSCSI 최대 연결 재시도 시간인 180초(3분)는 iSCSI 부트 장치를 사용 중인 개시자에 적용하기에 충분하지 않을 수 있습니다. 다음과 같은 오류 메시지가 나타납니다.
NOTICE: iscsi connection(19) unable to connect to target iqn.1986-03.com.sun:02:hostname, target address 192.168.001.160
임시해결책: iSCSI 부트 장치를 사용 중인 개시자에서 iSCSI 최대 연결 재시도 시간을 1080초(18분) 이상으로 늘리십시오.