ALUA 기반 경로 라우팅의 핵심 원리
MPIO(Multipath Input Output)는 스토리지와 호스트 간에 여러 물리적 경로를 제공하는 프레임워크입니다. 이 중 ALUA(Asymmetric Logical Unit Access)는 SCSI SPC-3/SPC-4 표준에 정의된 메커니즘으로, 스토리지 어레이가 호스트에게 각 LUN에 대한 경로 우선순위를 자동으로 알려줍니다.
타겟 포트 그룹과 경로 상태
ALUA는 타겟 포트를 타겟 포트 그룹(Target Port Group)으로 구성합니다. 각 포트 그룹은 특정 LUN에 대해 동일한 접근 특성을 공유합니다. 호스트는 SCSI REPORT TARGET PORT GROUPS 명령으로 각 포트 그룹의 상태를 조회합니다.
ALUA 경로 상태 분류
ALUA는 다음 경로 상태를 정의합니다: (1) Active/Optimized — 소유 컨트롤러를 통한 직접 경로로 최고 성능 제공, (2) Active/Non-Optimized — 비소유 컨트롤러를 통한 경로로 간접 접근, (3) Standby — 활성 경로 모두 실패 시 전환 대기, (4) Offline — 사용 불가능한 상태입니다.
MPIO 드라이버의 경로 선택 동작
MPIO 드라이버는 ALUA 상태에 따라 자동으로 경로를 선택합니다. Active/Optimized 경로가 있으면 이를 우선적으로 사용하며 로드 밸런싱을 수행합니다. 모든 Optimized 경로 실패 시 Active/Non-Optimized 경로로 자동 페일오버됩니다. 이는 Implicit ALUA 방식으로, 호스트는 경로 상태를 모니터링하지만 변경할 수 없습니다.
실무 주의점
비최적화 경로 사용 시 쓰기 I/O는 컨트롤러 간 미러 링크를 통해 전달되어야 하므로 성능 저하가 제한적이나, 읽기 I/O의 경우 지연시간이 현저히 증가합니다. 따라서 ALUA 미지원 또는 비활성화 상태에서는 의도하지 않은 비최적화 경로로 모든 I/O가 라우팅될 수 있으므로 사전에 스토리지 및 호스트 설정을 검증해야 합니다.