MAJ:MIN – 장치 번호를 실제 디스크 이름으로 변환

MAJ:MIN – 장치 번호를 실제 디스크 이름으로 변환

saX 파일의 sar 명령을 통해 아래와 같이 디스크 사용률을 얻을 수 있습니다.

sar -d -f /var/log/sa/sa18  | grep Average
Average:       dev8-0      1.24      0.00    150.06    121.40      0.04     30.40      4.72      0.58
Average:     dev253-0      0.32      0.00      3.75     11.83      0.01     17.95      3.48      0.11
Average:     dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:     dev253-2      1.12      0.00    146.31    130.68      0.04     31.79      4.46      0.50
Average:      dev8-16      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:      dev8-32      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:      dev8-48      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:     dev253-3      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

MAJ:MIN으로 정의된 디스크는 (dev8-16, dev8-48 등)임을 알 수 있습니다.

sdb, sdc sdc 등과 같은 실제 디스크 이름을 얻을 수 있습니까? sarCLI 사용 ( sar -d -f /var/log/sa/sa18 | grep Average)

답변1

설명서에는 man sar다음 이름을 조회하는 방법이 나와 있습니다 sar -d.

-d각 블록 장치의 활동을 보고합니다. 데이터를 표시할 때 장치 이름은 에 표시되어야 하는 대로 표시됩니다 /dev. sar사용량 데이터는 /sys주요 및 보조 장치 번호를 기반으로 장치 이름을 결정합니다. 이 이름 확인이 실패하면 파일 제어 이름 매핑이 sar사용됩니다 . [...] 옵션을 사용 /etc/sysstat/sysstat.ioconf하면 영구 장치 이름도 인쇄할 수 있습니다.-j

즉,

  1. 그런 일이 일어났어야 했어
  2. 그렇지 않은 경우에는 다음 항목에 추가할 수 있습니다./etc/sysstat/sysstat.ioconf
  3. -j {option}다음 옵션 중 하나를 사용하는 것이 좋습니다 LABEL.

최근에 Pi에서 시스템 계정을 활성화했습니다. 분명히 실행된 통계는 중요하지 않지만 이 머신에서 디스크 이름이 올바르게 표시되는 것을 이미 볼 수 있습니다.

sar -d -f /var/log/sysstat/sa18
Linux 4.9.35-v7+ (pi)   18/01/23        _armv7l_        (4 CPU)

12:16:05     LINUX RESTART      (4 CPU)

12:40:01          DEV       tps     rkB/s     wkB/s     dkB/s   areq-sz    aqu-sz     await     %util
12:42:08      mmcblk0      3.37     14.35     19.58      0.00     10.06      0.08     23.15      0.58
12:42:08         dm-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:      mmcblk0      3.37     14.35     19.58      0.00     10.06      0.08     23.15      0.58
Average:         dm-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

sa*분석을 위해 파일을 다른 서버에 복사 했는지 궁금합니다 . 이 경우 실제로 sysstat.ioconf이름을 지정하기 위해 편집해야 할 수도 있습니다 .

답변2

이 시도:

#! /bin/bash

devrez()
{
    l=/sys/dev/block/`echo "$1" | sed 's/dev//g;s/-/:/g'`
    test ! -L "$l" && echo "[$1] not found" && return -1
    readlink -f "$l" | awk -F / '{ORS="";print "\t"$NF}'
}

export -f devrez

sar -d -f /var/log/sa/sa18 | awk '{OFS="\t";ORS="";print $1; system("/bin/bash -c '\''devrez "$2"'\''");$1="";$2="";print "";print;print "\n"}'

관련 정보