먼저 5일 전 Serverfault에 이 질문을 올렸습니다. Unix 및 Linux 스택으로 가져와도 문제가 되지 않기를 바랍니다. 또한 스택과 관련되지 않은 다른 3개의 웹사이트에도 이 질문을 했지만 답변이 없습니다. 답변을 얻을 수 있다면 모든 웹사이트에 답변을 업데이트할 계획입니다. 여기요.
iostat -x(특히 ZFS zvols)의 출력을 이해하는 데 문제가 있습니다. Proxmox 4.4를 실행하고 있으며 전체 업데이트 후 일반적으로 IO 성능이 저하되는 현상을 경험하고 있습니다.
느린 성능 문제를 해결하는 동안 iostat -x 1을 살펴보고 거의 지속적인 읽기로 이러한 활용도를 확인했습니다.
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0.00 0.00 77.00 115.00 308.00 640.00 9.88 2.02 10.33 9.92 10.61 3.58 68.80
sdb 0.00 0.00 81.00 116.00 324.00 644.00 9.83 1.32 6.72 6.42 6.93 2.50 49.20
...
sde 0.00 0.00 77.00 117.00 308.00 640.00 9.77 1.16 6.25 5.25 6.91 2.35 45.60
sdf 0.00 0.00 78.00 116.00 312.00 640.00 9.81 1.25 6.45 5.64 7.00 2.47 48.00
...
zd32 0.00 0.00 0.00 197.00 0.00 788.00 8.00 1.09 5.54 0.00 5.54 5.06 99.60
제가 혼란스러워하는 점은 zd32(내 가상 머신의 zvol)가 100% 활용되고 있는 반면 기본 스토리지는 약 50% 활용되고 있다는 것입니다.
내 질문은: zvol 활용도가 기본 저장 장치의 활용도를 반영하면 안 됩니까?
참고로 시스템에 다른 가상머신이 있는데 이번 트러블슈팅은 몇시간 뒤에 진행되어서 유휴 상태입니다. 이 가상 머신은 사용량이 많은 유일한 가상 머신이며 Windows 업데이트를 실행하고 있습니다. zpool은 7200RPM SATA 디스크의 RAID-Z2이므로 놀라운 속도를 제공하도록 제작되지 않았습니다. 지금은 활용도가 궁금합니다.
답변1
다음은 몇 가지 팁입니다. 예, zfs 볼륨은 저장 장치에 있는 zpool에 생성되므로 그래야 합니다. 스토리지가 다른 리소스 간에 공유되는 경우 zfs 풀 및 볼륨에 영향을 미칠 수 있습니다.
안타깝게도 Proxmox가 무엇인지는 모르지만 %util은 일반적으로 장치에 긍정적인 트랜잭션 대기열이 있는 시간을 표시합니다. 대기열의 트랜잭션 수는 avgqu-sz입니다. 두 값 모두 상당한 규모의 대기열을 지원할 수 있는 스토리지 시스템의 유형과 모델에 따라 달라집니다. 따라서 이것은 나쁜 증상일 수도 있고 아닐 수도 있습니다. 따라서 먼저 볼륨에 실제 작업 부하 및 성능 문제가 있는지 확인하려면 wait, r/s, w/s, rkB/s, wkB/s를 살펴보는 것이 가장 좋습니다.
특별한 명령이 있습니다: zpool iostat
zpool 통계를 모니터링하십시오.