안녕하세요, 베스핀글로벌 GCP Support팀입니다.


이번 아티클에서는 주제로 "호스트 오류"를 다루고자 합니다.



호스트 오류란?


호스트 오류[1]는 가상 머신을 호스팅하는 실제 머신에서 가상 머신의 비정상 종료를 일으키는 하드웨어 또는 소프트웨어 문제가 발생했음을 의미합니다. 

Compute Engine은 이러한 이벤트가 감지되면 사용자의 작업 로그에 compute.instances.hostError 항목을 추가합니다. 

또한 가상 머신이 자동으로 다시 시작되도록 설정되었다면(기본값) 다른 실제 머신에서 가상 머신이 다시 시작됩니다. 

이러한 경우 Compute Engine은 1분 내에 호스트 오류를 감지하고 일반적으로 3분 내에 VM 인스턴스를 다시 시작합니다.

문제에 따라 다시 시작까지 최대 5.5분이 걸릴 수 있습니다.


하나 이상의 로컬 SSD 디스크가 연결된 VM에서 호스트 오류가 발생하는 경우 Compute Engine이 VM에 다시 연결하여 로컬 SSD 데이터를 보존하기 위해 가능한 방법을 최대한 시도합니다. 

Compute Engine에서 VM 및 로컬 SSD 디스크를 복구하는 동안 호스트 시스템과 기본 디스크가 응답하지 않습니다.(Repairing 상태)


로컬 SSD 복구 제한 시간을 설정하여 Compute Engine에서 데이터 복구를 시도하는 데 걸리는 시간을 제어할 수 있습니다. 

기본적으로 Compute Engine은 데이터를 복구하는 데 1시간 정도 걸리지만 유효한 값은 0~168시간으로 1시간 단위로 변경할 수 있습니다.( --local-ssd-recovery-timeout 플래그 사용)


제한 시간이 만료되어도 데이터를 복구할 수 없는 경우 Compute Engine에서 로컬 SSD 디스크 없이 VM을 다시 시작합니다.

Compute Engine이 비어 있는 새 로컬 SSD 디스크를 다시 시작된 VM에 연결합니다.

호스트 오류가 발생하는 경우 로컬 SSD 디스크가 작동하는 방식에 대한 자세한 내용은 로컬 SSD 데이터 지속성[2]을 참조하세요.


일반적으로 물리적 하드웨어 오류 및 소프트웨어 오류는 때때로 발생할 수도 있지만 발생 빈도는 매우 낮습니다. 

이와 같은 시스템 중단 이벤트로부터 애플리케이션과 서비스를 보호하기 위해서는 강력한 시스템을 설계하고 확장성 및 복원력이 뛰어난 웹 애플리케이션을 빌드해야 합니다. 

관리형 인스턴스 그룹을 사용하여 Compute Engine 인스턴스 그룹 전반의 상태 확인 및 확장이 가능합니다.

또한 호스트 에러에 대한 Log based Metric Alert을 구성하는 것도 추천 드립니다.

(로그 필터 : protoPayload.methodName:"compute.instances.hostError")



참조 링크


[1] 호스트 오류

https://cloud.google.com/compute/docs/instances/host-maintenance-overview#hosterror

[2] 로컬 SSD 데이터 지속성

https://cloud.google.com/compute/docs/disks/local-ssd#data_persistence



관련 문의사항이 있으시면 Support Portal에 문의해 주시기 바랍니다.


감사합니다.