Linux 커널을 사용하는 VMware Workstation 가상화 호스팅 플랫폼에서 저는 종종 다음과 같은 문제를 겪습니다.
[ 2181.746685] nvme nvme0: I/O 0 QID 4 timeout, completion polled
나는 이것이 가상 NVMe 컨트롤러/VMware 가상 플랫폼 구현의 결함으로 인한 것이라고 생각합니다.
아쉽게도 이런 일이 발생할 때마다 시스템은 대략 30초 동안 차단됩니다. 이 가상 컨트롤러는 매우 빠른 실제 SSD와 효과적으로 통신할 수 있지만 너무 깁니다.
이제 Linux NVMe 모듈 옵션을 조정하여 시간 초과(!)를 2초로 줄이려고 생각 중입니다 cat /sys/module/nvme_core/parameters
. 결국 이것은 거의 최대치에 도달한 매우 빠른 SSD이므로 NVMe 명령이 2초 미만으로 실행되지 않으면 의심스러운 가상 NVMe 제어 서버 이외의 장치가 꺼진 것뿐입니다.
io_timeout
30초에서 2초로 변경하면 어떤 단점이 있나요? 나는 일이 실패할 것이라고 예상했다서둘러요이는 기본적으로 오류가 더 빨리 발생한다는 것을 의미하며, 이는 모든 복구 메커니즘이 더 빠르게 트리거된다는 것을 의미합니다.
클라우드 공급업체의 문서를 본 적이 있으며 io_timeout
플랫폼에서 무한대로 설정하도록 권장하지만그들의 플랫폼반드시 올바른 접근 방식은 아닙니다내 VMware 워크스테이션 플랫폼?