나는 에서 보고 있는 내용 iostat
, 특히 md 장치와 sd 장치의 출력 차이를 이해하려고 노력하고 있습니다.
저는 E3-1230 CPU, 16GB RAM, 4개의 2TB SATA 디스크 드라이브를 갖춘 상당히 큰 Centos Linux 서버를 여러 대 보유하고 있습니다. 대부분은 JBOD이지만 한 가지 구성은 소프트웨어 RAID 1+0입니다. 서버의 유형과 로드 용량은 매우 유사하지만 %util
Software Raid에서 얻은 수치는 iostat
다른 서버보다 훨씬 높았으며 그 이유를 이해하려고 노력하고 있습니다. 모든 서버의 CPU 유휴율은 일반적으로 80-90%입니다.
iostat
RAID가 없는 서버의 예:
평균 CPU: %user %nice %system %iowait %steal %idle 9.26 0.19 1.15 2.55 0.00 86.84 장치: rrqm/s wrqm/sr/sw/s rsec/s wsec/s avgrq-sz avgqu-sz svctm %util 대기 심천개발은행 2.48 9.45 10.45 13.08 1977.55 1494.06 147.50 2.37 100.61 3.86 9.08 사우스다코타 4.38 24.11 13.25 20.69 1526.18 1289.87 82.97 1.40 41.14 3.94 13.36 표준편차 0.06 1.28 1.43 2.50 324.67 587.49 232.32 0.45 113.73 2.77 1.09 표준편차 0.28 1.06 1.33 0.97 100.89 61.63 70.45 0.06 27.14 2.46 0.57 dm-0 0.00 0.00 0.17 0.24 4.49 1.96 15.96 0.01 18.09 3.38 0.14 dm-1 0.00 0.00 0.09 0.12 0.74 0.99 8.00 0.00 4.65 0.36 0.01 dm-2 0.00 0.00 1.49 3.34 324.67 587.49 188.75 0.45 93.64 2.25 1.09 dm-3 0.00 0.00 17.73 42.82 1526.17 1289.87 46.50 0.35 5.72 2.21 13.36 dm-4 0.00 0.00 0.11 0.03 0.88 0.79 12.17 0.00 19.48 0.87 0.01 dm-5 0.00 0.00 0.00 0.00 0.00 0.00 8.00 0.00 1.17 1.17 0.00 DM-6 0.00 0.00 12.87 20.44 1976.66 1493.27 104.17 2.77 83.01 2.73 9.08 dm-7 0.00 0.00 1.36 1.58 95.65 58.68 52.52 0.09 29.20 1.55 0.46
iostat
RAID 1+0이 있는 서버의 예:
평균 CPU: %user %nice %system %iowait %steal %idle 7.55 0.25 1.01 3.35 0.00 87.84 장치: rrqm/s wrqm/sr/sw/s rsec/s wsec/s avgrq-sz avgqu-sz svctm %util 대기 심천개발은행 42.21 31.78 18.47 59.18 8202.18 2040.94 131.91 2.07 26.65 4.02 31.20 사우스다코타 44.93 27.92 18.96 55.88 8570.70 1978.15 140.94 2.21 29.48 4.60 34.45 평균 해수면 상승45.75 28.69 14.52 55.10 8093.17 1978.16 144.66 0.21 2.95 3.94 27.42 특수 데이터45.05 32.59 18.22 58.37 8471.04 2040.93 137.24 1.57 20.56 5.04 38.59 md1 0.00 0.00 18.17 162.73 3898.45 4013.90 43.74 0.00 0.00 0.00 0.00 MD0 0.00 0.00 0.00 0.00 0.00 0.00 4.89 0.00 0.00 0.00 0.00 dm-0 0.00 0.00 0.07 0.26 3.30 2.13 16.85 0.04 135.54 73.73 2.38 dm-1 0.00 0.00 0.25 0.22 2.04 1.79 8.00 0.24 500.99 11.64 0.56 dm-2 0.00 0.00 15.55 150.63 2136.73 1712.31 23.16 1.77 10.66 2.93 48.76 dm-3 0.00 0.00 2.31 2.37 1756.39 2297.67 867.42 2.30 492.30 13.08 6.11
그래서 내 질문은 다음과 같습니다
%util
1) RAID가 있는 서버가 RAID가 없는 서버에 비해 성능이 뛰어난 이유는 무엇입니까?
2) 비RAID 서버에서 %util
팀으로 구성된 물리적 장치(sd*)는 팀으로 구성된 LVM 장치(dm-*)와 거의 동일합니다. RAID 서버에서는 왜 그렇지 않습니까?
3) 기본 물리적 장치(sd*)가 사용 중인 반면 소프트웨어 RAID 장치(md*)는 실제로 유휴 상태로 나타나는 이유는 무엇입니까? 처음에는 RAID 검사로 인해 발생한 것일 수 있다고 생각했지만 /proc/mdadm
모든 것이 정상인 것으로 나타났습니다.
편집: 죄송합니다. 질문이 명확하다고 생각했는데 조금 혼란스러운 것 같습니다. 분명히 문제는 %util
한 서버의 드라이브 간의 차이가 아니라 한 서버의 총계/평균이 다른 서버의 %util
총계/평균과 왜 그렇게 다른지에 있는 것입니다. 모든 오해가 해결되길 바랍니다.
답변1
비 RAID
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
dm-3 0.00 0.00 17.73 42.82 1526.17 1289.87 46.50 0.35 5.72 2.21 13.36
공격
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
dm-2 0.00 0.00 15.55 150.63 2136.73 1712.31 23.16 1.77 10.66 2.93 48.76
avgrq-sz
낮을수록 w/s
높아집니다. 이는 소규모 I/O 요청 수가 많다는 것을 보여줍니다. 따라서 I/O는 더 "임의적"일 수 있습니다. 더 많은 디스크 탐색 = I/O 속도 저하