저는 Linux 서버의 메트릭을 수집하는 에이전트를 작성 중입니다. 커널 파일로 디스크 정보를 얻습니다 /proc/diskstats
. 디스크 유형 disk
또는 에서는 작동 part
하지만 디스크 유형이 lvm
또는 인 경우 필드를 dm
가져올 수 없습니다 read / write sector num
.
cat /proc/diskstats
8 0 sda 256780 18842 6500240 2143804 28685518 19444429 595859080 177384284 0 143033129 179528537
8 1 sda1 390 224 2932 884 15 7 56 115 0 919 999
8 2 sda2 256041 18618 6494516 2138838 23151610 19443195 595824112 88374404 0 56461356 90589410
253 0 dm-0 17773 0 142184 182853 118244 0 945952 37053269 0 45151 37236146
253 1 dm-1 69000 0 2786922 465071 23902377 0 295539112 117043416 0 86738124 117508617
253 2 dm-2 189142 0 3564794 1736523 18675050 0 299339048 248195431 0 58080383 249946740
// field 4(# of sectors read) and 8(# of sectors write) is zero for dm-0, dm-1 and dm-2
lsblk -o MAJ:MIN,NAME,PHY-SEC,LOG-SEC,TYPE,SIZE -lb
MAJ:MIN NAME PHY-SEC LOG-SEC TYPE SIZE
8:0 sda 512 512 disk 1000204886016
8:1 sda1 512 512 part 524288000
8:2 sda2 512 512 part 999678803968
253:0 VolGroup-lv_swap 512 512 lvm 16903045120
253:1 VolGroup-lv_root 512 512 lvm 53687091200
253:2 VolGroup-lv_home 512 512 lvm 929084473344
lvm 유형에 대한 디스크 읽기/쓰기 섹터 또는 바이트를 얻는 다른 방법이 있습니까?
답변1
블록 장치의 내용을 검사하고 그 안에 무엇이 있는지 확인하려면 도구를 살펴보는 것이 좋습니다 blkid
.
아마도 이것이 당신이 요청하는 정보를 제공할 것입니다.
또한 내 마음에 떠오른 것이 하나 더 있습니다. 다음과 같이 시도해 보십시오.
sudo vgscan
sudo vgs
sudo vgdisplay