Ursache für IOwait einer einzelnen Platte?

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Ursache für IOwait einer einzelnen Platte?

      Hallo,

      ich habe ein NAS mit OMV.
      Als RAID nutze ich SnapRAID und außerdem mergerfs.

      Quellcode

      1. /dev/sda4 on /srv/dev-disk-by-label-disk1
      2. /dev/sdb1 on /srv/dev-disk-by-label-disk2
      3. /dev/sdc1 on /srv/dev-disk-by-label-disk3
      4. /dev/sdd1 on /srv/dev-disk-by-label-disk4
      5. /dev/sde1 on /srv/dev-disk-by-label-parity1
      6. /dev/sdf1 on /srv/dev-disk-by-label-parity2
      Im unterschied zu sdb - sdf (10TB) ist sda eine ältere 4TB Platte.

      Wenn SnapRAID einen sync oder diff startet, steigt iowait der ersten Platte allerdings immer für Stunden auf 100%.


      Zunächst dachte ich, es könnte daran liegen, dass ich sehr viele kleine Dateien (durch rsync-Jobs) auf der Platte habe.
      Gestern habe ich dann aber eine SnapRAID-Regel erstellt, um den backup-Ordner auszuschließen.

      Aktuell wird mir auch nur der Zugriff auf eine große VDI-Datei (Disk einer nicht aktiven VM) angezeigt.

      Quellcode

      1. sudo lsof | grep disk1
      2. mergerfs 433 root 4r DIR 8,4 4096 223872219 /srv/dev-disk-by-label-disk1/BackUp/rsync/raspi2a/...
      3. mergerfs 433 434 root 4r DIR 8,4 4096 223872219 /srv/dev-disk-by-label-disk1/BackUp/rsync/raspi2a/...
      4. mergerfs 433 435 root 4r DIR 8,4 4096 223872219 /srv/dev-disk-by-label-disk1/BackUp/rsync/raspi2a/...
      5. mergerfs 433 436 root 4r DIR 8,4 4096 223872219 /srv/dev-disk-by-label-disk1/BackUp/rsync/raspi2a/...
      6. mergerfs 433 437 root 4r DIR 8,4 4096 223872219 /srv/dev-disk-by-label-disk1/BackUp/rsync/raspi2a/...
      7. snapraid 17643 root 3wW REG 8,4 0 13 /srv/dev-disk-by-label-disk1/snapraid.content.lock
      8. snapraid 17643 root 6r REG 8,4 17410555904 6422561 /srv/dev-disk-by-label-disk1/VMs/linux-vm01-cli.20180309cw_orig/linux-vm01-cli.vdi
      9. snapraid 17643 24506 root 3wW REG 8,4 0 13 /srv/dev-disk-by-label-disk1/snapraid.content.lock
      10. snapraid 17643 24506 root 6r REG 8,4 17410555904 6422561 /srv/dev-disk-by-label-disk1/VMs/linux-vm01-cli.20180309cw_orig/linux-vm01-cli.vdi
      11. snapraid 17643 24507 root 3wW REG 8,4 0 13 /srv/dev-disk-by-label-disk1/snapraid.content.lock
      12. snapraid 17643 24507 root 6r REG 8,4 17410555904 6422561 /srv/dev-disk-by-label-disk1/VMs/linux-vm01-cli.20180309cw_orig/linux-vm01-cli.vdi
      13. snapraid 17643 24508 root 3wW REG 8,4 0 13 /srv/dev-disk-by-label-disk1/snapraid.content.lock
      14. snapraid 17643 24508 root 6r REG 8,4 17410555904 6422561 /srv/dev-disk-by-label-disk1/VMs/linux-vm01-cli.20180309cw_orig/linux-vm01-cli.vdi
      15. snapraid 17643 24509 root 3wW REG 8,4 0 13 /srv/dev-disk-by-label-disk1/snapraid.content.lock
      16. snapraid 17643 24509 root 6r REG 8,4 17410555904 6422561 /srv/dev-disk-by-label-disk1/VMs/linux-vm01-cli.20180309cw_orig/linux-vm01-cli.vdi
      17. snapraid 17643 24510 root 3wW REG 8,4 0 13 /srv/dev-disk-by-label-disk1/snapraid.content.lock
      18. snapraid 17643 24510 root 6r REG 8,4 17410555904 6422561 /srv/dev-disk-by-label-disk1/VMs/linux-vm01-cli.20180309cw_orig/linux-vm01-cli.vdi
      19. snapraid 17643 24511 root 3wW REG 8,4 0 13 /srv/dev-disk-by-label-disk1/snapraid.content.lock
      20. snapraid 17643 24511 root 6r REG 8,4 17410555904 6422561 /srv/dev-disk-by-label-disk1/VMs/linux-vm01-cli.20180309cw_orig/linux-vm01-cli.vdi
      Alles anzeigen

      iotop zeigt an, dass auch mergerfs hohe IO hat.
      Allerdings auf disk2 und nicht andauernd.

      Quellcode

      1. Total DISK READ : 633.27 M/s | Total DISK WRITE : 432.40 M/s
      2. Actual DISK READ: 634.50 M/s | Actual DISK WRITE: 433.56 M/s
      3. TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
      4. 24511 be/4 root 0.00 B/s 217.05 M/s 0.00 % 88.42 % snapraid sync --pre-hash
      5. 24510 be/4 root 0.00 B/s 215.33 M/s 0.00 % 76.21 % snapraid sync --pre-hash
      6. 24509 be/4 root 210.65 M/s 0.00 B/s 0.00 % 65.31 % snapraid sync --pre-hash
      7. 24507 be/4 root 207.69 M/s 0.00 B/s 0.00 % 42.57 % snapraid sync --pre-hash
      8. 24508 be/4 root 213.60 M/s 0.00 B/s 0.00 % 36.20 % snapraid sync --pre-hash
      9. 437 be/2 root 248.34 K/s 0.00 B/s 0.00 % 36.01 % mergerfs /srv/dev-disk-by-label-disk1:/srv/dev-disk-by-label-disk2:/srv/dev-disk-by-labe....
      10. 434 be/2 root 473.03 K/s 0.00 B/s 0.00 % 26.39 % mergerfs /srv/dev-disk-by-label-disk1:/srv/dev-disk-by-label-disk2:/srv/dev-disk-by-labe....
      11. 436 be/2 root 165.56 K/s 0.00 B/s 0.00 % 25.38 % mergerfs /srv/dev-disk-by-label-disk1:/srv/dev-disk-by-label-disk2:/srv/dev-disk-by-labe....
      12. 435 be/2 root 473.03 K/s 0.00 B/s 0.00 % 9.95 % mergerfs /srv/dev-disk-by-label-disk1:/srv/dev-disk-by-label-disk2:/srv/dev-disk-by-labe....
      Alles anzeigen
      smartctl schaint auch mit der Platte beschäftigt zu sein. (Befehl von bencane.com/2012/08/06/trouble…ng-high-io-wait-in-linux/)

      Quellcode

      1. $ for x in `seq 1 1 10`; do ps -eo state,pid,cmd | grep "^D"; echo "----"; sleep 5; done
      2. ----
      3. D 763 [jbd2/sda4-8]
      4. D 15615 smartctl -i -n standby /dev/sda
      5. ----
      6. ----
      7. D 6360 [kworker/u8:2]
      8. ----
      9. ----
      10. D 763 [jbd2/sda4-8]
      11. ----
      12. D 763 [jbd2/sda4-8]
      13. D 6360 [kworker/u8:2]
      14. D 15995 smartctl -i -n standby /dev/sda
      15. D 16001 smartctl -n standby -d ata -A /dev/sda
      16. ----
      17. ----
      18. D 763 [jbd2/sda4-8]
      19. D 6360 [kworker/u8:2]
      20. ----
      21. D 16174 smartctl -i -n standby /dev/sda
      22. ----
      Alles anzeigen

      SMART

      Quellcode

      1. smartctl 6.4 2014-10-07 r4002 [x86_64-linux-4.4.83-1-pve] (local build)
      2. Copyright (C) 2002-14, Bruce Allen, Christian Franke, www.smartmontools.org
      3. === START OF INFORMATION SECTION ===
      4. Model Family: Seagate NAS HDD
      5. Device Model: ST4000VN000-1H4168
      6. Serial Number: Z302KGY2
      7. LU WWN Device Id: 5 000c50 079a052c0
      8. Firmware Version: SC46
      9. User Capacity: 4,000,787,030,016 bytes [4.00 TB]
      10. Sector Sizes: 512 bytes logical, 4096 bytes physical
      11. Rotation Rate: 5900 rpm
      12. Form Factor: 3.5 inches
      13. Device is: In smartctl database [for details use: -P show]
      14. ATA Version is: ACS-2, ACS-3 T13/2161-D revision 3b
      15. SATA Version is: SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
      16. Local Time is: Sun Mar 18 14:17:29 2018 CET
      17. SMART support is: Available - device has SMART capability.
      18. SMART support is: Enabled
      19. AAM feature is: Unavailable
      20. APM level is: 254 (maximum performance)
      21. Rd look-ahead is: Enabled
      22. Write cache is: Enabled
      23. ATA Security is: Disabled, frozen [SEC2]
      24. Wt Cache Reorder: Enabled
      25. === START OF READ SMART DATA SECTION ===
      26. SMART overall-health self-assessment test result: PASSED
      27. General SMART Values:
      28. Offline data collection status: (0x82) Offline data collection activity
      29. was completed without error.
      30. Auto Offline Data Collection: Enabled.
      31. Self-test execution status: ( 241) Self-test routine in progress...
      32. 10% of test remaining.
      33. Total time to complete Offline
      34. data collection: ( 117) seconds.
      35. Offline data collection
      36. capabilities: (0x7b) SMART execute Offline immediate.
      37. Auto Offline data collection on/off support.
      38. Suspend Offline collection upon new
      39. command.
      40. Offline surface scan supported.
      41. Self-test supported.
      42. Conveyance Self-test supported.
      43. Selective Self-test supported.
      44. SMART capabilities: (0x0003) Saves SMART data before entering
      45. power-saving mode.
      46. Supports SMART auto save timer.
      47. Error logging capability: (0x01) Error logging supported.
      48. General Purpose Logging supported.
      49. Short self-test routine
      50. recommended polling time: ( 1) minutes.
      51. Extended self-test routine
      52. recommended polling time: ( 513) minutes.
      53. Conveyance self-test routine
      54. recommended polling time: ( 2) minutes.
      55. SCT capabilities: (0x10bd) SCT Status supported.
      56. SCT Error Recovery Control supported.
      57. SCT Feature Control supported.
      58. SCT Data Table supported.
      59. [..]
      60. SMART Extended Comprehensive Error Log Version: 1 (5 sectors)
      61. No Errors Logged
      62. SMART Extended Self-test Log Version: 1 (1 sectors)
      63. Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
      64. # 1 Short offline Self-test routine in progress 10% 16331 -
      65. # 2 Short offline Interrupted (host reset) 00% 16312 -
      66. # 3 Short offline Completed without error 00% 16292 -
      67. # 4 Short offline Completed without error 00% 16275 -
      68. [..]
      69. SCT Error Recovery Control:
      70. Read: Disabled
      71. Write: Disabled
      72. Device Statistics (GP/SMART Log 0x04) not supported
      73. SATA Phy Event Counters (GP Log 0x11)
      74. ID Size Value Description
      75. 0x000a 2 3 Device-to-host register FISes sent due to a COMRESET
      76. 0x0001 2 0 Command failed due to ICRC error
      77. 0x0003 2 0 R_ERR response for device-to-host data FIS
      78. 0x0004 2 0 R_ERR response for host-to-device data FIS
      79. 0x0006 2 0 R_ERR response for device-to-host non-data FIS
      80. 0x0007 2 0 R_ERR response for host-to-device non-data FIS
      Alles anzeigen


      Ich bin mir jetzt nicht sicher, ob diese hohe andauernde Last den Umständen entsprechend zu erwarten ist oder ob meine Festplatte evtl. defekt sein könnte.

      Wenn es Sinn macht, könnte ich auch ein Diagnose-Tool booten und die Platte testen lassen.
      Oder gibt es noch andere Möglichkleiten, der Ursache auf dem Grund zu gehen?

      Danke für eure Hilfe
    • Nachtrag:

      Der snapraid-Durchlauf scheint fertig zu sein.

      Quellcode

      1. for x in `seq 1 1 10`; do ps -eo state,pid,cmd | grep "^D"; echo "----"; sleep 5; done
      2. ----
      3. ----
      4. ----
      5. ----
      6. ----
      7. ----


      iotop zeigt aber immer noch eine hohe AUslastung von sda an:

      Quellcode

      1. avg-cpu: %user %nice %system %iowait %steal %idle
      2. 1,76 0,00 0,75 19,97 0,00 77,51
      3. Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
      4. nvme0n1 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
      5. sda 0,00 0,00 179,00 0,00 716,00 0,00 8,00 0,97 5,41 5,41 0,00 5,43 97,20
      6. sdb 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
      7. sdc 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
      8. sdd 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
      9. sde 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
      10. sdf 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00
      Alles anzeigen

      Der Übeltäter ist wohl doch eher mergerfs.

      Quellcode

      1. Total DISK READ : 1030.35 K/s | Total DISK WRITE : 47.37 K/s
      2. Actual DISK READ: 1030.35 K/s | Actual DISK WRITE: 0.00 B/s
      3. TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
      4. 434 be/2 root 319.76 K/s 0.00 B/s 0.00 % 35.59 % mergerfs /srv/dev-disk-by-label-disk1:/srv/dev-disk-by-label-disk2:/srv/dev-disk-by-labe~fa9 -o rw,allow_other,direct_io,use_ino,category.create=epmfs,minfreespace=100G,dev,suid
      5. 435 be/2 root 300.02 K/s 0.00 B/s 0.00 % 32.72 % mergerfs /srv/dev-disk-by-label-disk1:/srv/dev-disk-by-label-disk2:/srv/dev-disk-by-labe~fa9 -o rw,allow_other,direct_io,use_ino,category.create=epmfs,minfreespace=100G,dev,suid
      6. 436 be/2 root 217.12 K/s 0.00 B/s 0.00 % 19.21 % mergerfs /srv/dev-disk-by-label-disk1:/srv/dev-disk-by-label-disk2:/srv/dev-disk-by-labe~fa9 -o rw,allow_other,direct_io,use_ino,category.create=epmfs,minfreespace=100G,dev,suid
      7. 437 be/2 root 193.44 K/s 0.00 B/s 0.00 % 7.43 % mergerfs /srv/dev-disk-by-label-disk1:/srv/dev-disk-by-label-disk2:/srv/dev-disk-by-labe~fa9 -o rw,allow_other,direct_io,use_ino,category.create=epmfs,minfr
      Wobei mergerfs ja nur ein "Mittelsmann" ist und ein anderer Prozess dann wohl über mergerfs auf die disk zugreifen wird.
      Aber welcher?
    • redjack schrieb:

      Von welcher HDD ist denn das Smart-Logfile?

      Das Logfile deutet darauf hin, das die HDD bald ausfallen könnte.

      CU
      redjack
      Die SMART-Werte sind von der sda. (Die anderen Platten sind hier ja auch nicht interessant, oder?)

      Oder meinst du das Model?
      Model Family: Seagate NAS HDD
      Device Model: ST4000VN000-1H4168

      Ich muss gestehen, dass ich immer noch nicht ganz durchgestiegen bin, wie man die SMART-Werte interpretieren muss.
      Wie kommst du zu der Annahme, dass die Platte bald ausfallen könnte?
    • Du hast Recht.
      Ich hatte übersehen, dass bei "Spin_up_Time" der Status nicht grün ist.
      Allerdings zeigt mein altes QNAP mit identischen Platten und fast densleben Werten ein "Good" bei diesem Wert an.

      Ich galube auch, dass ich gerade den richtigen Übeltäter gefunden habe.

      wiki.ubuntuusers.de/locate/

      Im munin sieht man, das die Last um ~7 Uhr hoch ging.
      Und bei iotop wird manchaml auch "updatedb.mlocate" oben angezeigt.
      Zwar nicht mit so viel IO, aber fast alle anderen Prozesse haben gar keinen Datentransfer.

      Mit lsof sehe ich dann auch, dass mlocate über mergerfs auf meine vielen kleinen Backup-Daten zugreift, um diese zu indizieren.

      Quellcode

      1. Every 1,0s: lsof -p 17931 Sun Mar 18 17:41:55 2018
      2. COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
      3. updatedb. 17931 root cwd DIR 0,40 4096 8813457836448 /srv/87f57859-798f-41c5-b6f0-9ede60141fa9/BackUp/rsync/raspi2a/backup.26/var/lib/docker/volumes/aa9af0c47b6532c2f9c0ccedc135396488fac3cb7279e698b70402bbce6fced3/_data
      4. updatedb. 17931 root rtd DIR 259,2 4096 2 /
      5. updatedb. 17931 root txt REG 259,2 44160 10624805 /usr/bin/updatedb.mlocate
      6. updatedb. 17931 root mem REG 259,2 1738176 10878984 /lib/x86_64-linux-gnu/libc-2.19.so
      7. updatedb. 17931 root mem REG 259,2 140928 10878981 /lib/x86_64-linux-gnu/ld-2.19.so
      8. updatedb. 17931 root mem REG 259,2 1607808 10620483 /usr/lib/locale/locale-archive
      9. updatedb. 17931 root 0r CHR 1,3 0t0 6 /dev/null
      10. updatedb. 17931 root 1w FIFO 0,10 0t0 3238430 pipe
      11. updatedb. 17931 root 2w FIFO 0,10 0t0 3238431 pipe
      12. updatedb. 17931 root 3r REG 0,19 0 1096 /run/mlocate.daily.lock
      13. updatedb. 17931 root 4r REG 0,4 0 3238433 /proc/17931/mountinfo
      14. updatedb. 17931 root 5uW REG 259,2 4192059367 11665834 /var/lib/mlocate/mlocate.db
      15. updatedb. 17931 root 6u REG 259,2 1539510272 11666284 /var/lib/mlocate/mlocate.db.sLlPpn
      16. updatedb. 17931 root 7r DIR 259,2 4096 2 /
      17. updatedb. 17931 root 8r DIR 259,2 4096 2 /
      18. updatedb. 17931 root 9r DIR 259,2 4096 7471105 /srv
      19. updatedb. 17931 root 10r DIR 0,40 4096 8813272891394 /srv/87f57859-798f-41c5-b6f0-9ede60141fa9
      20. updatedb. 17931 root 11r DIR 0,40 4096 8813279313921 /srv/87f57859-798f-41c5-b6f0-9ede60141fa9/BackUp
      21. updatedb. 17931 root 12r DIR 0,40 4096 8813292290051 /srv/87f57859-798f-41c5-b6f0-9ede60141fa9/BackUp/rsync
      22. updatedb. 17931 root 13r DIR 0,40 4096 8813337772846 /srv/87f57859-798f-41c5-b6f0-9ede60141fa9/BackUp/rsync/raspi2a
      23. updatedb. 17931 root 14r DIR 0,40 4096 8813338493236 /srv/87f57859-798f-41c5-b6f0-9ede60141fa9/BackUp/rsync/raspi2a/backup.26
      24. updatedb. 17931 root 15r DIR 0,40 4096 8813339222293 /srv/87f57859-798f-41c5-b6f0-9ede60141fa9/BackUp/rsync/raspi2a/backup.26/var
      25. updatedb. 17931 root 16r DIR 0,40 4096 8813339238673 /srv/87f57859-798f-41c5-b6f0-9ede60141fa9/BackUp/rsync/raspi2a/backup.26/var/lib
      26. updatedb. 17931 root 17r DIR 0,40 4096 8813339263248 /srv/87f57859-798f-41c5-b6f0-9ede60141fa9/BackUp/rsync/raspi2a/backup.26/var/lib/docker
      27. updatedb. 17931 root 18r DIR 0,40 13537280 8813339279636 /srv/87f57859-798f-41c5-b6f0-9ede60141fa9/BackUp/rsync/raspi2a/backup.26/var/lib/docker/volumes
      28. updatedb. 17931 root 19r DIR 0,40 4096 8813457705510 /srv/87f57859-798f-41c5-b6f0-9ede60141fa9/BackUp/rsync/raspi2a/backup.26/var/lib/docker/volumes/aa9af0c47b6532c2f9c0ccedc135396488fac3cb7279e698b70402bbce6fced3
      29. updatedb. 17931 root 20r DIR 0,40 4096 8813457836448 /srv/87f57859-798f-41c5-b6f0-9ede60141fa9/BackUp/rsync/raspi2a/backup.26/var/lib/docker/volumes/aa9af0c47b6532c2f9c0ccedc135396488fac3cb7279e698b70402bbce6fced3/_data
      Alles anzeigen
      Hinzu kommt, dass durch eine Fehlkonfiguration meinerseits in dem Backup auch noch unzählige dieser docker-volumes etc. vorhanden sind.
      Und das dann mit mehreren Backup-Generationen.


      Mein Lösungsansatz ist nun:
      • Die unwichtigen docker-Verzeichnisse aus dem Backup ausschließen
      • Die Backup-Verzeichnisse per /etc/updatedb.conf aus der Indizierung ausschließen.
      Mal abwarten, wie sich das System dann verhält.
    • Re,

      redjack schrieb:

      da steht prefail.
      Aber das ist ja nur der "Typ" des Wertes - siehe Wikipedia:
      "TYP = steht für die Bedeutung des Parameters: „Pre-fail“ ist eine Warnung vor einem baldigen Ausfall, während „Old age“ bedeutet, dass es sich allgemein um fortschreitende Alterung handelt (Die aktuelle Temperatur fällt nicht unbedingt in eine der beiden Kategorien)."
      (wenn der PREFAIL-Wert erreicht worden wäre, würde der Kreis rot werden ... zumal die Spin-Up-Time jetzt kein brutal wichtiger)

      Btw. die SMART-Werte sehen Alle gut aus ...

      Sc0rp
    • Der IO wert kommt ja meineswissens, wenn die Cpu zu langsam ist -> die Platte Warten muß
      Die Platte zu langsam ist und der Ram vollläuft, der Spender der Daten dann halt Pause machen muß.

      Oder intern beim Snapraid Sync z.b. eine Platte deutlich schneller ist wie die anderen.

      Was ist den an Hardware verbaut abgesehen von den Platten?
      Hardware: Asrock H97 Performance, Intel I3 4160, 2x G.Skill F3-1600C11S-8GNT (16gb Ram), be quiet Pure Power L8 300W, Thermalright LeGrande Macho,
      Nanoxia Deep Silence 5 Rev.b, Kingston SSDNow V300 2,5" SSD 120 GB, Western Digital Red 3x4tb,1x4tb HGST Deskstar Nas

      Software: Openmediavault 3.0.99 Erasmus, 4.9.0-0.bpo.6-amd64, Snapraid mit mergerfs Pool, Minidlna, Plex, MySql, ClaimAV, Powertop und Sonstiges