스토리지 디바이스에 연결되어 있을 때 ESXi 호스트에서 문제가 발생하는 경우 호스트는 특정 요소에 따라 문제를 영구적 또는 일시적 문제로 취급합니다.

스토리지 연결 문제의 원인은 여러 가지입니다. ESXi가 스토리지 디바이스 또는 해당 경로를 사용할 수 없는 원인을 항상 파악할 수는 없지만 호스트는 디바이스의 PDL(영구적 디바이스 손실) 상태와 스토리지의 일시적 APD(모든 경로 다운) 상태를 구분합니다.
PDL(영구적 디바이스 손실)
스토리지 디바이스가 영구적으로 실패하거나 관리 목적으로 제거 또는 제외된 경우에 발생하는 상황입니다. 이 경우는 사용할 수 없는 것으로 간주됩니다. 디바이스를 영구적으로 사용할 수 없는 상태가 되면 ESXi는 스토리지 어레이로부터 적절한 감지 코드 또는 로그인 거부를 수신하게 되며, 이를 통해 디바이스가 영구적으로 손실되었음을 인식할 수 있습니다.
APD(모든 경로 다운)
스토리지 디바이스가 호스트에 액세스할 수 없고 디바이스에 대한 경로를 사용할 수 없을 때 발생하는 상황입니다. 일반적으로 디바이스 문제는 일시적이며, 디바이스를 다시 사용할 수 있게 될 것으로 예상되기 때문에 ESXi는 이 상황을 일시적인 상황으로 처리합니다.

연결 문제 및 vSphere High Availability

디바이스가 PDL 또는 APD 상태가 되면 vSphere HA(High Availability)가 연결 문제를 감지하고 ESXi 호스트에서 영향을 받는 가상 시스템을 자동으로 복구할 수 있습니다. vSphere HA는 VMCP(VM 구성 요소 보호)를 사용하여 vSphere HA 클러스터의 호스트에서 실행 중인 가상 시스템을 액세스 지원 장애로부터 보호합니다. VMCP에 대한 자세한 내용 및 APD 또는 PDL 상태가 발생할 때 데이터스토어 및 가상 시스템의 응답을 구성하는 방법에 대한 자세한 내용은 "vSphere 가용성" 설명서를 참조하십시오.

PDL 조건 검색

ESXi 호스트가 스토리지 디바이스를 영구적으로 사용할 수 없는 경우 해당 스토리지 디바이스는 PDL(영구적 디바이스 손실) 상태에 있는 것으로 간주됩니다.

일반적으로 디바이스가 의도하지 않게 제거되었거나, 고유 ID가 변경되었거나, 디바이스에 복구할 수 없는 하드웨어 오류가 발생한 경우에 PDL 상태가 발생합니다.

디바이스를 영구적으로 사용할 수 없다고 판단하면 스토리지 어레이는 ESXi 호스트에 SCSI 감지 코드를 전송합니다. 호스트는 감지 코드를 받은 후 디바이스에 장애가 발생했음을 인식하고 디바이스 상태를 PDL로 등록합니다. 디바이스에 대한 모든 경로에서 감지 코드가 수신되어야 디바이스가 영구적으로 손실된 것으로 간주됩니다.

디바이스의 PDL 상태 등록 후 호스트는 명령을 디바이스에 보내거나 연결을 재설정하는 시도를 중지합니다.

vSphere Client에서는 디바이스에 대한 다음 정보를 표시합니다.
  • 디바이스의 작동 상태는 Lost Communication로 변경됩니다.
  • 모든 경로가 Dead으로 표시됩니다.
  • 디바이스의 데이터스토어를 사용할 수 없습니다.

디바이스에 열려 있는 연결이 없거나 마지막 연결이 닫힌 후 호스트는 PDL 디바이스와 이 디바이스에 대한 모든 경로를 제거합니다. 고급 호스트 매개 변수 Disk.AutoremoveOnPDL을 0으로 설정하여 경로 자동 제거를 비활성화할 수 있습니다.

디바이스가 PDL 상태에서 복구되면 호스트가 이 디바이스를 검색할 수는 있지만 새 디바이스로 취급합니다. 복구된 디바이스에서 가상 시스템의 데이터 일관성은 보장되지 않습니다.

참고: 적절한 SCSI 감지 코드 또는 iSCSI 로그인 거부를 보내지 않고 디바이스에서 장애가 발생하면 호스트에서 PDL 상태를 감지할 수 없습니다. 이 경우 호스트는 디바이스에 영구적으로 장애가 발생한 경우에도 디바이스 연결 문제를 APD로 처리합니다.

영구적 디바이스 손실 및 SCSI 감지 코드

SCSI 감지 코드에 대한 다음의 VMkernel 로그 예제는 디바이스가 PDL 상태에 있음을 의미합니다.
H:0x0 D:0x2 P:0x0 Valid sense data: 0x5 0x25 0x0 or Logical Unit Not Supported

영구적 디바이스 손실 및 iSCSI

대상당 하나의 LUN이 있는 iSCSI 어레이의 경우 PDL은 iSCSI 로그인 실패를 통해 감지됩니다. iSCSI 스토리지 어레이는 호스트의 iSCSI 세션 시작 시도를 Target Unavailable 사유로 거부합니다. 감지 코드와 마찬가지로 디바이스에 대한 모든 경로에서 이 응답이 수신되어야 디바이스가 영구적으로 손실된 것으로 간주됩니다.

영구적 디바이스 손실 및 가상 시스템

디바이스의 PDL 상태를 등록하면 호스트가 가상 시스템의 모든 I/O를 종료합니다. vSphere HA는 PDL을 감지하여 장애가 발생한 가상 시스템을 다시 시작할 수 있습니다.

계획된 스토리지 디바이스 제거 수행

스토리지 디바이스가 오작동하는 경우 PDL(영구적 디바이스 손실) 상태나 APD(모든 경로 다운) 상태를 방지하고 계획된 스토리지 디바이스 제거 및 재연결을 수행할 수 있습니다.

계획된 디바이스 제거는 스토리지 디바이스의 연결을 의도적으로 끊는 것입니다. 하드웨어를 업그레이드하거나 스토리지 디바이스를 재구성하는 등의 이유로 디바이스 제거 계획을 세울 수도 있습니다. 스토리지 디바이스의 순차적인 제거 및 재연결을 수행하는 경우 많은 작업을 완료하게 됩니다.

작업 설명
분리할 디바이스에서 가상 시스템을 마이그레이션합니다. "vCenter Server 및 호스트 관리"
디바이스에 배포된 데이터스토어를 마운트 해제합니다. 데이터스토어 마운트 해제를 참조하십시오.
스토리지 디바이스를 분리합니다. 스토리지 디바이스 분리의 내용을 참조하십시오.
대상마다 단일 LUN이 있는 iSCSI 디바이스인 경우 스토리지 디바이스에 대한 경로를 갖는 각 iSCSI HBA에서 정적 대상 항목을 삭제합니다. 동적 또는 정적 iSCSI 대상 제거의 내용을 참조하십시오.
어레이 콘솔을 사용하여 필요한 스토리지 디바이스 재구성을 모두 수행합니다. 벤더 설명서를 참조하십시오.
스토리지 디바이스를 다시 연결합니다. 스토리지 디바이스 연결의 내용을 참조하십시오.
데이터스토어를 마운트하고 가상 시스템을 다시 시작합니다. 데이터스토어 마운트의 내용을 참조하십시오.

스토리지 디바이스 분리

ESXi 호스트에서 스토리지 디바이스를 안전하게 분리합니다.

예를 들어 스토리지 쪽에서 하드웨어 업그레이드를 수행하는 경우 등에는 호스트에서 액세스할 수 없도록 디바이스를 분리해야 할 수 있습니다.

사전 요구 사항

  • 디바이스에 데이터스토어가 없어야 합니다.
  • 가상 시스템에서 디바이스를 RDM 디스크로 사용하지 않아야 합니다.
  • 디바이스에 진단 파티션이나 스크래치 파티션이 없어야 합니다.

프로시저

  1. vSphere Client에서 ESXi 호스트로 이동합니다.
  2. 구성 탭을 클릭합니다.
  3. 스토리지 아래에서 스토리지 디바이스를 클릭합니다.
  4. 분리할 디바이스를 선택하고 분리 아이콘을 클릭합니다.

결과

이제 디바이스에 액세스할 수 없습니다. 디바이스의 작동 상태는 마운트 해제됨으로 변경됩니다.

다음에 수행할 작업

여러 호스트에서 디바이스를 공유하는 경우에는 각 호스트에서 디바이스를 분리합니다.

스토리지 디바이스 연결

이전에 ESXi에서 분리한 스토리지 디바이스를 다시 연결합니다.

프로시저

  1. vSphere Client에서 ESXi 호스트로 이동합니다.
  2. 구성 탭을 클릭합니다.
  3. 스토리지 아래에서 스토리지 디바이스를 클릭합니다.
  4. 분리된 스토리지 디바이스를 선택하고 연결 아이콘을 클릭합니다.

결과

이제 디바이스에 액세스할 수 있습니다.

PDL 조건에서 복구

스토리지 디바이스가 ESXi 호스트에서 적절하게 분리되지 않고 영구적으로 사용 불가 상태가 될 때 계획되지 않은 PDL(영구적 디바이스 손실) 상태가 발생합니다.

vSphere Client의 다음 항목은 디바이스가 PDL 상태에 있음을 의미합니다.
  • 디바이스에 배포된 데이터스토어를 사용할 수 없습니다.
  • 디바이스의 작동 상태가 통신 손실로 변경됩니다.
  • 모든 경로가 비활성으로 표시됩니다.
  • 디바이스에 영구적으로 액세스할 수 없다는 주의가 VMkernel 로그 파일에 나타납니다.

계획되지 않은 PDL 조건에서 복구하고 사용할 수 없는 디바이스를 호스트에서 제거하려면 다음 작업을 수행합니다.

작업 설명
PDL 상태의 영향을 받은 데이터스토어에서 실행 중인 모든 가상 시스템의 전원을 끄고 등록을 취소합니다. "vSphere 가상 시스템 관리" 의 내용을 참조하십시오.
데이터스토어를 마운트 해제합니다.

데이터스토어 마운트 해제의 내용을 참조하십시오.

디바이스에 대한 액세스 권한이 있는 모든 ESXi 호스트를 다시 검색합니다.
참고: 다시 검색이 실패하고 호스트에서 여전히 디바이스가 나열되는 경우는 일부 보류 중인 I/O나 활성 디바이스 참조가 아직 있는 경우입니다. 디바이스나 데이터스토어에 대한 활성 참조가 아직 있을 수 있는 항목을 확인하십시오. 이러한 항목에는 가상 시스템, 템플릿, ISO 이미지, 원시 디바이스 매핑 등이 포함됩니다.
스토리지 다시 검색 수행의 내용을 참조하십시오.

일시적 APD 조건 처리

ESXi 호스트가 지정되지 않은 기간 동안 스토리지 디바이스를 사용할 수 없으면 해당 스토리지 디바이스는 APD(모든 경로 다운) 상태인 것으로 간주됩니다.

APD 상태의 원인으로는 스위치 실패 또는 스토리지 케이블 연결 끊김 등이 있을 수 있습니다.

PDL(영구적 디바이스 손실) 상태와 반대로 호스트는 APD 상태를 일시적 상태로 처리하며 디바이스를 다시 사용할 수 있을 것으로 간주합니다.

호스트는 명령을 계속 재시도하여 디바이스 연결을 다시 설정하려고 합니다. 호스트의 명령 재시도가 장기간 실패할 경우 호스트의 성능이 저하되고 호스트와 해당 가상 시스템이 응답할 수 없는 상태가 될 수 있습니다.

이러한 문제를 피하기 위해 호스트는 기본 APD 처리 기능을 사용합니다. 디바이스가 APD 상태가 되면 호스트가 타이머를 설정합니다. 타이머가 설정되면 호스트가 제한된 시간 동안에만 비가상 시스템 명령을 계속 재시도합니다.

기본적으로 APD 시간 초과는 140초로 설정되며 일반적으로 이 값은 대부분의 디바이스가 연결 끊김 상태에서 복구되는 데 필요한 시간보다 깁니다. 이 시간 내에 디바이스가 사용 가능한 상태가 되면 호스트 및 해당 가상 시스템이 문제 없이 계속 실행됩니다.

디바이스가 복구되지 않은 채 시간 초과되면 호스트는 재시도를 중지하고 모든 비가상 시스템 I/O를 중지합니다. 가상 시스템 I/O는 계속 재시도합니다. vSphere Client는 APD 시간 초과가 만료된 디바이스에 대해 다음 정보를 표시합니다.
  • 디바이스의 작동 상태는 Dead or Error로 변경됩니다.
  • 모든 경로가 Dead으로 표시됩니다.
  • 디바이스의 데이터스토어는 흐리게 표시됩니다.

디바이스와 데이터스토어를 사용할 수 없지만 가상 시스템은 계속 응답합니다. 가상 시스템의 전원을 끄거나 다른 데이터스토어 또는 호스트로 마이그레이션할 수 있습니다.

나중에 디바이스 경로가 작동하면 호스트에서 디바이스에 대한 I/O를 재개하며 모든 특수 APD 처리는 종료합니다.

스토리지 APD 처리 비활성화

ESXi 호스트에서 스토리지 APD(모든 경로 다운) 처리는 기본적으로 활성화됩니다. 이 기능이 활성화된 경우 스토리지 디바이스가 APD 상태가 되면 호스트는 제한된 기간 동안만 비가상 시스템 I/O 명령을 계속 재시도합니다. 기간이 만료되면 호스트는 재시도를 중지하고 모든 비가상 시스템 I/O를 중단합니다. 호스트에서 APD 처리 기능을 비활성화할 수 있습니다.

APD 처리를 비활성화하면 호스트는 APD 디바이스에 다시 연결하기 위해 명령 실행을 무기한 재시도합니다. 이 동작으로 인해 호스트의 가상 시스템에서 내부 I/O 시간 초과가 발생하여 응답할 수 없거나 실패할 수 있습니다. 또한 호스트와 vCenter Server의 연결이 끊길 수 있습니다.

프로시저

  1. vSphere Client에서 ESXi 호스트로 이동합니다.
  2. 구성 탭을 클릭합니다.
  3. 시스템에서 고급 시스템 설정을 클릭합니다.
  4. [고급 시스템 설정] 테이블에서 Misc.APDHandlingEnable 매개 변수를 선택하고 Edit 아이콘을 클릭합니다.
  5. 값을 0으로 변경합니다.

결과

APD 처리를 비활성화한 경우에는 디바이스가 APD 상태가 되었을 때 이를 다시 활성화하고 값을 1로 설정할 수 있습니다. 그러면 내부 APD 처리 기능이 즉시 켜지고 APD 상태에 있는 각 디바이스의 현재 시간 초과 값을 사용하여 타이머가 시작됩니다.

스토리지 APD에 대한 시간 초과 제한 변경

시간 초과 매개 변수는 ESXi 호스트가 APD(모든 경로 다운) 상태의 스토리지 디바이스에 대해 I/O 명령을 재시도해야 하는 시간(초)을 제어합니다. 시간 초과 기본값은 변경할 수 있습니다.

시간 초과 기간은 디바이스가 APD 상태가 되는 즉시 시작됩니다. 제한된 시간이 경과하면 호스트는 APD 디바이스를 연결할 수 없는 디바이스로 표시합니다. 호스트는 가상 시스템에서 시작되지 않은 모든 I/O의 재시도를 중지합니다. 가상 시스템 I/O는 호스트가 계속 재시도합니다.

기본적으로 호스트의 시간 초과 매개 변수는 140초로 설정됩니다. 예를 들어 ESXi 호스트에 연결된 스토리지 디바이스가 연결 끊김 상태에서 복구되는 데 140초 이상이 걸리는 경우에는 이 시간 초과 값을 늘릴 수 있습니다.

참고: 디바이스가 사용할 수 없는 상태가 된 이후에 시간 초과 매개 변수를 변경할 경우 특정 APD 인시던트에는 변경 사항이 적용되지 않습니다.

프로시저

  1. vSphere Client에서 ESXi 호스트로 이동합니다.
  2. 구성 탭을 클릭합니다.
  3. 시스템에서 고급 시스템 설정을 클릭합니다.
  4. [고급 시스템 설정] 테이블에서 Misc.APDTimeout 매개 변수를 선택하고 Edit 아이콘을 클릭합니다.
  5. 기본값을 변경합니다.
    20초에서 99999초 사이의 값을 입력할 수 있습니다.

ESXi 호스트에서 스토리지 디바이스의 연결 상태 확인

esxcli 명령을 사용하여 특정 스토리지 연결 상태를 확인합니다.

사전 요구 사항

ESXCLI를 설치합니다. "ESXCLI 시작" 의 내용을 참조하십시오. 문제를 해결하려면 ESXi Shell에서 esxcli 명령을 실행합니다.

프로시저

  1. esxcli storage core device list -d=device_ID 명령을 실행합니다.
  2. Status: 영역에서 연결 상태를 검토합니다.
    • on - 디바이스가 연결되어 있습니다.
    • dead - 디바이스가 APD 상태로 전환되었습니다. APD 타이머가 시작됩니다.
    • dead timeout - APD 제한 시간이 초과되었습니다.
    • not connected - 디바이스가 PDL 상태에 있습니다.