25.19.2. dm-multipath를 사용한 iSCSI 설정
dm-multipath 가 구현되면 iSCSI 타이머를 설정하여 즉시 다중 경로 계층으로 명령을 지연하도록 하는 것이 좋습니다. 이를 구성하려면
/etc/multipath.conf
의 장치 { 아래에 다음 행을 중첩합니다.
features "1 queue_if_no_path"
이렇게 하면 모든 경로가 dm-multipath 계층에서 실패한 경우 I/O 오류가 재시도 및 대기열에 추가됩니다.
문제가 있는지 SAN을 더 잘 모니터링하려면 iSCSI 타이머를 더 조정해야 할 수 있습니다. 구성할 수 있는 iSCSI 타이머는 NOP-Out Interval/Timeouts 및 replacement_timeout 입니다. 이 정보는 다음 섹션에서 설명합니다.
25.19.2.1. NOP-Out Interval/Timeout
SAN 문제를 모니터링하기 위해 iSCSI 계층에서 각 대상에 NOP-Out 요청을 보냅니다. NOP-Out 요청이 시간 초과되면 실행 중인 명령을 실패하고 가능한 경우 SCSI 계층에 해당 명령을 다시 큐에 추가하도록 지시하여 iSCSI 계층이 응답합니다.
dm-multipath 를 사용하는 경우 SCSI 계층에서 실행 중인 명령을 실패하여 다중 경로 계층으로 지연합니다. 그런 다음 다중 경로 계층에서 해당 명령을 다른 경로에서 다시 시도합니다. dm-multipath 를 사용하지 않는 경우 이러한 명령은 완전히 실패하기 전에 5 번 다시 시도됩니다.
NOP-Out 요청 사이의 간격은 기본적으로
5
초입니다. 이를 조정하려면 /etc/iscsi/iscsid.conf
를 열고 다음 행을 편집합니다.
node.conn[0].timeo.noop_out_interval = [interval value]
설정된 iSCSI 계층은 [interval 값] 초마다 각 대상에 NOP-Out 요청을 보냅니다.
node.conn[0].timeo.noop_out_timeout = [timeout value]
그러면 [timeout value] 초 후에 iSCSI 계층을 NOP-Out 요청의 시간 초과로 설정합니다.
25.19.2.1.1. SCSI 오류 처리기
SCSI 오류 핸들러가 실행 중인 경우 해당 경로에서 NOP-Out 요청 시간이 초과될 때 경로에서 명령을 실행하면 즉시 실패하지 않습니다. 대신 replacement_timeout 초 후에 해당 명령이 실패합니다. replacement_timeout 에 대한 자세한 내용은 25.19.2.2절. “replacement_timeout” 을 참조하십시오.
SCSI 오류 핸들러가 실행 중인지 확인하려면 다음을 실행합니다.
# iscsiadm -m session -P 3