피드로 돌아가기
Dev.toInfrastructure
원문 읽기
non-FLR GPU의 D3cold 진입 차단을 통한 시스템 가용성 확보
GPU D3cold Power States: How to Brick Your Card Without Trying
AI 요약
Context
Proxmox 8.4 및 kernel 6.8.x 환경에서 GPU passthrough 사용 시 VM 종료 후 GPU가 응답하지 않는 문제 발생. Tesla P40과 같은 non-FLR GPU가 D3cold 저전력 상태로 진입한 후 호스트 리부팅 없이는 복구가 불가능한 아키텍처적 한계 존재.
Technical Solution
/sys/bus/pci/devices/.../d3cold_allowed값에 0을 작성하여 GPU의 D3cold 진입 경로를 원천 차단- udev rule을 통한 PCI address 고정으로 리부팅 시 발생 가능한 PCIe bus shift 및 상태 불일치 방지
- QEMU의 부팅 시 assertion 방지를 위해 VM 설정에서
-machine q35칩셋 명시적 지정 - FLR(Function Level Reset) 미지원 하드웨어 특성에 따른 커널 수준의 전원 관리 제어권 강제 확보
- PCIe 버스 불안정성 제거를 위해 GPU passthrough 대신 Host-level NVIDIA driver와 Container Toolkit 조합 고려
실천 포인트
- GPU passthrough 설정 전 하드웨어의 FLR 지원 여부 확인 - non-FLR GPU 사용 시 D3cold disabled 설정 및 PCI address pinning 적용 여부 검토 - Proxmox/QEMU 환경에서 VM 칩셋 설정을 q35로 지정하여 호환성 확보 - 고가용성이 필요한 AI 워크로드의 경우 passthrough보다 NVIDIA Container Toolkit 기반의 Host Driver 운용 검토