장치 전반에 걸친 Linux 디스크 IO 통계

장치 전반에 걸친 Linux 디스크 IO 통계

Linux에서 디스크 IO를 캡처하는 방법에 대한 많은 게시물을 읽었지만 그 중 어느 것도 내 혼란의 원인에 대해 답변하지 않았습니다.

제 경우에는 시스템에서 여러 장치에 대한 데이터를 반환하는 SNMP(diskIOTable)를 사용하여 Linux에서 디스크 IO를 모니터링합니다. 예를 들어, 내 참조 시스템에는 디스크 sda, 부팅 파티션 sda1, 루트 파티션 sda2, LVM 논리 볼륨 dm-0및 스왑 영역의 LVM 논리 볼륨에 대한 기록이 있습니다 dm-1.

시스템의 디스크 IO를 계산할 때 이러한 다양한 요소가 어떻게 상호 작용합니까? 처음에는 디스크 통계 sda에 파티션에 대해 보고된 통계가 포함될 것이라고 가정했지만, 디스크의 유일한 파티션 에 대해서도 보고 sda1된 통계에 큰 차이가 있음을 발견했습니다 . 이는 다중 파티션이 있는 시스템에서 작업을 시작했을 때 더욱 분명해졌습니다. 예를 들어 누군가는 가정하겠지만 항상 그런 것은 아닌 것 같습니다(일부 시스템에서는 비슷하지만). 디스크에서 보고된 통계는 거의 항상 파티션에서 보고된 통계 또는 디스크의 모든 파티션에서 보고된 통계의 합계를 초과합니다.sdasda1sda1sda1 + sda2 == sda

장비는 어떤 dm-*영향을 받나요?

파티션과 논리 장치(예: 를 무시하고 실제 디스크의 IO 통계만 합산한다는 가정하에,,dm-*,md*loop*ram*

reads(sda) + reads(sdb) + reads(sdc) == reads(host)

아니면 내가 뭔가를 놓치고 있는 걸까?

관련 정보