Dec 042015
 

Taranis RAID-6 stats logoAnd another continuation after the “final” [part 4]: Unbelievable but true, I actually took the time to re-write and polish the previously broken web reporting for my new RAID-6 array. Originally, it was relying on the 3ware command line tool tw_cli.exe and SmartMonTools’ smartctl.exe (The tools also exist on Linux/UNIX by the way) in conjunction with Windows Batch and some Perl. Rest assured, it was ugly. But in all my glorious stupidity I decided to write the new version in Windows Batch again, this time taking the help of a different set of UNIX-style tools, namely grep.exe, sed.exe, tr.exe and cut.exe. I got all of this stuff on my Windows box anyway, partly from [GnuWin32] and partly out of [CygWin x64], so yeah. Ah yes, and Arecas own cli.exe of course.

Why wouldn’t I use a proper scripting language then? Pffh, I guess I just have some masochistic tendencies…

In any case, results first, you can see the reporting website [by clicking here]. It’ll show you the RAID controller status, some information about the RAID volume and some S.M.A.R.T. info about the individual disks. It’s not real-time as this would consume too many resources, so it’s updated on a daily basis only. Quite nice that SmartMonTools can use Arecas API via things like e.g. smartctl -x -d areca,n/2 /dev/arcmsr0 to get info from disk n (replace with a number)! Here’s a screenshot as well:

Taranis RAID-6 web report

Taranis RAID-6 web report

And the script itself? Well, get ready for some extremely ugly fuckshit, here it comes:

expand/collapse source code (hereby released under the GNU GPLv3)
  1. @ECHO OFF
  2.  
  3. SETLOCAL ENABLEDELAYEDEXPANSION
  4. SET totalreadvolume=0
  5. SET totalwritevolume=0
  6. SET totalreadTiB=0
  7. SET totalwriteTiB=0
  8. SET volindex=0
  9. FOR %%I IN (1,2) DO SET "volume[%%I]=0"
  10.  
  11. FOR /L %%I IN (1 1 12) DO (
  12.   FOR /F "usebackq" %%V IN (`smartctl -x -d areca^,%%I/2 /dev/arcmsr0 ^| grep ^
  13. -e "read:" -e "write:" ^| tr -s " " ^| cut -d " " -f7 ^| cut -d "," -f1`) DO (
  14.     SET /A volindex += 1
  15.     SET "volume[!volindex!]=%%V"
  16.   )
  17.   SET /A totalreadvolume += !volume[1]!
  18.   SET /A totalwritevolume += !volume[2]!
  19.   SET volindex=0
  20. )
  21. SET /A totalreadTiB = "%totalreadvolume% / 1024"
  22. SET /A totalwriteTiB = "%totalwritevolume% / 1024"
  23. SET /A parityreadTiB = "%totalreadTiB% / 6"
  24. SET /A paritywriteTiB = "%totalreadTiB% / 6"
  25. SET /A totaluserreadTiB = "%totalreadTiB% - %parityreadTiB%"
  26. SET /A totaluserwriteTiB = "%totalwriteTiB% - %paritywriteTiB%"
  27.  
  28.  
  29. ECHO ^<b^>Areca ARC-1883ix-12 RAID controller status:^<br^> > "Z:\web\xin\raid6^
  30. stats\raid6stats_temp.txt.html"
  31.  
  32. ECHO ==========================================^</b^>^<br^>^<br^> >> "Z:\web\xi^
  33. n\raid6stats\raid6stats_temp.txt.html"
  34. "C:\Program Files (x86)\system\ArcCLI\cli.exe" sys info | grep -e "Main Process^
  35. or" -e CPU -e "System Memory" -e "Controller Name" | sed -e "s/1200MHz/PowerPC^
  36.  476 dual-core, 1200MHz/g" -e "s/SCache\sSize\s\s/L2 Cache Size/g" -e "s/\s/\&^
  37. nbsp;/g" -e "s/^/\&nbsp;\&nbsp;/g" -e "s/$/<br>/g" >> "Z:\web\xin\raid6stats\r^
  38. aid6stats_temp.txt.html"
  39.  
  40. "C:\Program Files (x86)\system\ArcCLI\cli.exe" hw info | grep -e "CPU Temperatu^
  41. re" -e "Controller Temp" -e "CPU Fan" -e "12V" -e "5V" -e "3\.3V" -e "IO Volta^
  42. ge" -e "DDR3" -e "CPU VCore" -e "Ethernet" -e "Battery Status" -e "Chip Temp" ^
  43. | sed -e "s/\sC$/\&deg;C/g" -e "s/\sV$/V/g" -e "s/\sRPM$/rpm/g" -e "s/\x25/F/g^
  44. " -e"s/^\s\s//g" -e "s/\s:\s/   : /g" -e "s/Chip\sTemp\s\s\s\s\s\s\s\s\s/SAS E^
  45. xpander Temp\./g" -e "s/\s/\&nbsp;/g" -e "s/^/\&nbsp;\&nbsp;/g" -e "s/$/<br>/g^
  46. " >> "Z:\web\xin\raid6stats\raid6stats_temp.txt.html"
  47.  
  48. ECHO ^<br^>^<br^>^<br^>^<br^>^<b^>RAID ^&amp; volume set status:^<br^> >> "Z:\w^
  49. eb\xin\raid6stats\raid6stats_temp.txt.html"
  50. ECHO ========================^</b^>^<br^>^<br^> >> "Z:\web\xin\raid6stats\raid6^
  51. stats_temp.txt.html"
  52.  
  53. ECHO ^&nbsp;^&nbsp;RAID set:^<br^> >> "Z:\web\xin\raid6stats\raid6stats_temp.tx^
  54. t.html"
  55. ECHO ^&nbsp;^&nbsp;--------^<br^> >> "Z:\web\xin\raid6stats\raid6stats_temp.txt^
  56. .html"
  57. ECHO ^&nbsp;^&nbsp;^&nbsp;^&nbsp;#^&nbsp;Name^&nbsp;^&nbsp;^&nbsp;^&nbsp;^&nbsp^
  58. ;^&nbsp;^&nbsp;^&nbsp;^&nbsp;^&nbsp;^&nbsp;^&nbsp;^&nbsp;^&nbsp;^&nbsp;^&nbsp;^
  59. ^&nbsp;^&nbsp;^&nbsp;^&nbsp;^&nbsp;^&nbsp;^&nbsp;Disks^&nbsp;TotalCap^&nbsp;^&n^
  60. bsp;^&nbsp;FreeCap^&nbsp;MinDiskCap^&nbsp;^&nbsp;^&nbsp;^&nbsp;^&nbsp;^&nbsp;^&^
  61. nbsp;^&nbsp;^&nbsp;State^<br^> >> "Z:\web\xin\raid6stats\raid6stats_temp.txt.ht^
  62. ml"
  63.  
  64. "C:\Program Files (x86)\system\ArcCLI\cli.exe" rsf info | grep -e Taranis | sed^
  65.  -e "s/\sTaranis\sRAID-6\sC/Taranis RAID-6 CryptoArray/g" -e "s/^\s/  /g" -e "s^
  66. /\s/\&nbsp;/g" -e "s/^/\&nbsp;\&nbsp;/g" -e "s/$/<br>/g" >> "Z:\web\xin\raid6st^
  67. ats\raid6stats_temp.txt.html"
  68.  
  69. ECHO ^<br^>^&nbsp;^&nbsp;Volume set:^<br^> >> "Z:\web\xin\raid6stats\raid6stats^
  70. _temp.txt.html"
  71. ECHO ^&nbsp;^&nbsp;----------^<br^> >> "Z:\web\xin\raid6stats\raid6stats_temp.t^
  72. xt.html"
  73. ECHO ^&nbsp;^&nbsp;^&nbsp;^&nbsp;#^&nbsp;Name^&nbsp;^&nbsp;^&nbsp;^&nbsp;^&nbsp^
  74. ;^&nbsp;^&nbsp;^&nbsp;^&nbsp;^&nbsp;^&nbsp;^&nbsp;^&nbsp;^&nbsp;^&nbsp;^&nbsp;^
  75. ^&nbsp;^&nbsp;^&nbsp;^&nbsp;^&nbsp;^&nbsp;^&nbsp;^&nbsp;^&nbsp;UsableCap^&nbsp;^
  76. Ch/Id/Lun^&nbsp;^&nbsp;State^<br^> >> "Z:\web\xin\raid6stats\raid6stats_temp.tx^
  77. t.html"
  78.  
  79. "C:\Program Files (x86)\system\ArcCLI\cli.exe" vsf info | grep -e Taranis | sed^
  80.  -e "s/Taranis\sRAID-6\sC\sTaranis\sRAID-6\sCRaid6/Taranis RAID-6 CryptoArray/g^
  81. " -e "s/\s/\&nbsp;/g" -e "s/^/\&nbsp;\&nbsp;/g" -e "s/$/<br>/g" >> "Z:\web\xin\^
  82. raid6stats\raid6stats_temp.txt.html"
  83.  
  84. ECHO ^<br^>^<br^>^<br^>^<b^>Global array S.M.A.R.T. information:^<br^> >> "Z:\w^
  85. eb\xin\raid6stats\raid6stats_temp.txt.html"
  86. ECHO ===================================^</b^>^<br^>^<br^> >> "Z:\web\xin\raid6^
  87. stats\raid6stats_temp.txt.html"
  88. ECHO ^&nbsp;^&nbsp;Total data read from array (raw, with N+P parity data) :^
  89.  ~%totalreadTiB% TiB^<br^> >> "Z:\web\xin\raid6stats\raid6stats_temp.txt.html"
  90. ECHO ^&nbsp;^&nbsp;Total data written to array (raw, with N+P parity data):^
  91.  ~%totalwriteTiB% TiB^<br^>^<br^> >> "Z:\web\xin\raid6stats\raid6stats_temp.txt^
  92. .html"
  93. ECHO ^&nbsp;^&nbsp;Total data read from array (user data) : ~%totaluserreadTiB%^
  94.  TiB^<br^> >> "Z:\web\xin\raid6stats\raid6stats_temp.txt.html"
  95. ECHO ^&nbsp;^&nbsp;Total data written to array (user data):^
  96.  ~%totaluserwriteTiB% TiB^<br^>^<br^> >> "Z:\web\xin\raid6stats\raid6stats_temp^
  97. .txt.html"
  98. ECHO ^&nbsp;^&nbsp;^<em^>^<span style="font-size: 8pt;"^>Note: Parity data is i^
  99. ncluded in raw total reads, because the controller is^<br^> >> "Z:\web\xin\raid^
  100. 6stats\raid6stats_temp.txt.html"
  101. ECHO ^&nbsp;^&nbsp;configured to read ^&amp; discard parity data to minimize re^
  102. -seeks and optimize^<br^> >> "Z:\web\xin\raid6stats\raid6stats_temp.txt.html"
  103. ECHO ^&nbsp;^&nbsp;for sequential reading performance.^</span^>^</em^>^<br^> >>^
  104.  "Z:\web\xin\raid6stats\raid6stats_temp.txt.html"
  105.  
  106. ECHO ^<br^>^<br^>^<br^>^<b^>Per-Disk S.M.A.R.T. information:^<br^> >> "Z:\web\x^
  107. in\raid6stats\raid6stats_temp.txt.html"
  108. ECHO ===============================^</b^>^<br^> >> "Z:\web\xin\raid6stats\raid^
  109. 6stats_temp.txt.html"
  110.  
  111. FOR /L %%M IN (1 1 12) DO (
  112.   ECHO ^<br^> >> "Z:\web\xin\raid6stats\raid6stats_temp.txt.html"
  113.   ECHO ^&nbsp;^&nbsp;Disk %%M:^<br^> >> "Z:\web\xin\raid6stats\raid6stats_temp.^
  114. txt.html"
  115.   ECHO ^&nbsp;^&nbsp;-------^<br^> >> "Z:\web\xin\raid6stats\raid6stats_temp.tx^
  116. t.html"
  117.   smartctl -a -d areca,%%M/2 /dev/arcmsr0 | grep -e "Vendor[:space:]" -e Produc^
  118. t -e "User Capacity" -e "Rotation Rate" -e "Transport Protocol" -e "Current Dri^
  119. ve Temperature" -e "Accumulated start-stop cycles" -e "Accumulated load-unload ^
  120. cycles" -e "Elements in grown defect list" | sed -e "s/\sC$/\&deg;C/g" -e "s/Ve^
  121. ndor:\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s/Vendor                        : /g" -e "s/P^
  122. roduct:\s\s\s\s\s\s\s\s\s\s\s\s\s\s/Product                       : /g" -e "s/U^
  123. ser\sCapacity:\s\s\s\s\s\s\s\s/User capacity                 : /g" -e "s/Rotati^
  124. on\sRate:\s\s\s\s\s\s\s\s/Rotation rate                 : /g" -e "s/Current\sDr^
  125. ive\sTemperature:\s\s\s\s\s/Current drive temperature     : /g" -e "s/start-sto^
  126. p\scycles:\s\s/start-stop cycles : /g" -e "s/grown\sdefect\slist:\s/grown defec^
  127. t list : /g" -e "s/load-unload\scycles:\s\s/load-unload cycles: /g" -e "s/\s/\&^
  128. nbsp;/g" -e "s/^/\&nbsp;\&nbsp;\&nbsp;\&nbsp;/g" -e "s/$/<br>/g" >> "Z:\web\xin^
  129. \raid6stats\raid6stats_temp.txt.html"
  130.  
  131.   smartctl -H -d areca,%%M/2 /dev/arcmsr0 | grep Health | sed -e "s/Status:/Sta^
  132. tus           :/g" -e "s/\s/\&nbsp;/g" -e "s/^/\&nbsp;\&nbsp;\&nbsp;\&nbsp;/g" ^
  133. -e "s/$/<br>/g" >> "Z:\web\xin\raid6stats\raid6stats_temp.txt.html"
  134. )
  135.  
  136. ECHO ^<br^>^<br^>^<br^>^<br^>^<em^>Last update: >> "Z:\web\xin\raid6stats\raid6^
  137. stats_temp.txt.html"
  138. DATE /T >> "Z:\web\xin\raid6stats\raid6stats_temp.txt.html"
  139. ECHO (DD.MM.YYYY),^  >> "Z:\web\xin\raid6stats\raid6stats_temp.txt.html"
  140. TIME /T >> "Z:\web\xin\raid6stats\raid6stats_temp.txt.html"
  141. ECHO ^</em^> >> "Z:\web\xin\raid6stats\raid6stats_temp.txt.html"
  142.  
  143. COPY /b /Y "Z:\web\xin\raid6stats\header.html" + "Z:\web\xin\raid6stats\raid6st^
  144. ats_temp.txt.html" + "Z:\web\xin\raid6stats\footer.html" "Z:\web\xin\raid6stats^
  145. \raid6stats.html"
  146.  
  147. ENDLOCAL

Guess you can’t even read that at all? Yeah, because it’s shit! Also, Batch is one hell of an obscure language, seriously. Doing nested loops (or any loops actually) can break your variable expansion inside the loop body (and thus: your entire program) when doing assignments in no time. Arithmetics look ugly as hell. And pushing command outputs into variables absolutely requires a FOR /F loop, there just is no other way at all. Backticks? Yeah, keep dreaming.

The whole syntax is just plain painful. It really hurts writing that code, and that’s just a simple program. I don’t even wanna see any seriously complex Batch code, ever.

But well, a load of GNU tools are helping Batch walk through this left and right, and it works, so I’m just gonna leave it alone. When a migration to a UNIX-style OS comes, I’ll just have to rewrite it using Bash or something.

Well, so far so good I guess…

Edit: Seems I forgot to post some of the benchmarks here. In the meantime, we have a completed verify process with information about how long it takes on this 54.5TiB array, as well as those missing sequential r/w benchmarks and another photo of the system, all in [part 4¾] (it’s just a minor update)!

CC BY-NC-SA 4.0 Building the 54.5TiB “Taranis” RAID-6 array and the hardware around it, part 4½: Some scripting for RAID controller status and S.M.A.R.T. web reporting! by The GAT at XIN.at is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

  4 Responses to “Building the 54.5TiB “Taranis” RAID-6 array and the hardware around it, part 4½: Some scripting for RAID controller status and S.M.A.R.T. web reporting!”

  1. Hello. I found your site while I was searching for “7K6000 smartctl” reports. First, I would like to say that your “Taranis” array is really impressed me: “HOWTO: (over)saturate a 10GE link”. Second, I know well that the Batch is a real hurt. Sometimes I treat it as a challenge :)
    I got the 7K6000 few days ago. In my case, only one drive; SATA version. After basic burn-in test I have found that “Read Recovery Attempts” in Device Statistics (GP Log 0x04) has non zero value. It is slowly increasing on linear read, and very fast on random reads. I’ve never seen this counter before. Well, the T13 Technical Proposal – e06181r12 says:

    T13 Technical Proposal – e06181r12
    A.5.2.4 Read Recovery Attempts
    A.5.2.4.1 Description

    Read Recovery Attempts is a counter that records the number of logical sectors that require three or more attempts to correctly read the data from the media for each read command. This statistic shall be incremented by one for each logical sector that encounters a read recovery attempt. These events may be caused by external environmental conditions (e.g., operating in a moving vehicle).

    Sounds suspiciously for me. Therefore I have tried to find some real-world smartctl full reports and found nothing regarding “7K6000 and smartctl”, except for this page. So, could you please send me something like:

    FOR /L %%I IN (1 1 12) DO (
    REM Get pages 1 (General Statistics) and 3 (Rotating Media Statistics) from GP Log 0x04 (Device Statistics):
    REM smartctl -l devstat,1 -d areca,%%I/2 /dev/arcmsr0 >> devstat_smart.txt
    REM smartctl -l devstat,3 -d areca,%%I/2 /dev/arcmsr0 >> devstat_smart.txt
    REM or simply all in one:
    REM smartctl -x -d areca,%%I/2 /dev/arcmsr0 >> devstat_smart.txt
    )

    I just want to understand, is this regular for these drives or not, because I still can exchange/return my drive.

    • Hello Anton.

      I think this should answer your question:

      FOR /L %J IN (1,1,12) DO smartctl.exe -x -d areca,%J/2 /dev/arcmsr0 | grep -e read^
       -e write -e verify
      
      smartctl.exe -x -d areca,1/2 /dev/arcmsr0   | grep -e read -e write -e verify
                     ECC          rereads/    errors   algorithm      processed    uncorrected
                 fast | delayed   rewrites  corrected  invocations   [10^9 bytes]  errors
      read:          0       44         0        44    1401633      70797,472           0
      write:         0        4         0         4     129052       9453,049           0
      verify:        0        0         0         0      32097          0,000           0
      
      smartctl.exe -x -d areca,2/2 /dev/arcmsr0   | grep -e read -e write -e verify
                     ECC          rereads/    errors   algorithm      processed    uncorrected
                 fast | delayed   rewrites  corrected  invocations   [10^9 bytes]  errors
      read:          0       62         0        62    1423055      70786,012           0
      write:         0        6         0         6     100445       9454,939           0
      verify:        0        0         0         0      45366          0,000           0
      
      smartctl.exe -x -d areca,3/2 /dev/arcmsr0   | grep -e read -e write -e verify
                     ECC          rereads/    errors   algorithm      processed    uncorrected
                 fast | delayed   rewrites  corrected  invocations   [10^9 bytes]  errors
      read:          0       36         0        36    1382154      70801,565           0
      write:         0        3         0         3      78022       9450,606           0
      verify:        0        0         0         0      33985          0,000           0
      
      smartctl.exe -x -d areca,4/2 /dev/arcmsr0   | grep -e read -e write -e verify
                     ECC          rereads/    errors   algorithm      processed    uncorrected
                 fast | delayed   rewrites  corrected  invocations   [10^9 bytes]  errors
      read:          0        0         0         0    1375688      70558,680           0
      write:         0        1         0         1      97642       9450,689           0
      verify:        0        0         0         0      25822          0,000           0
      
      smartctl.exe -x -d areca,5/2 /dev/arcmsr0   | grep -e read -e write -e verify
                     ECC          rereads/    errors   algorithm      processed    uncorrected
                 fast | delayed   rewrites  corrected  invocations   [10^9 bytes]  errors
      read:          0        3         0         3    1395309      64469,756           0
      write:         0        3         0         3     108770      15449,129           0
      verify:        0        0         0         0      28037          0,000           0
      
      smartctl.exe -x -d areca,6/2 /dev/arcmsr0   | grep -e read -e write -e verify
                     ECC          rereads/    errors   algorithm      processed    uncorrected
                 fast | delayed   rewrites  corrected  invocations   [10^9 bytes]  errors
      read:          0        1         0         1    1422253      64605,819           0
      write:         0        1         0         1     146606      15467,018           0
      verify:        0        0         0         0      31776          0,000           0
      
      smartctl.exe -x -d areca,7/2 /dev/arcmsr0   | grep -e read -e write -e verify
                     ECC          rereads/    errors   algorithm      processed    uncorrected
                 fast | delayed   rewrites  corrected  invocations   [10^9 bytes]  errors
      read:          0       77         0        77    1411499      70630,291           0
      write:         0        1         0         1     144827       9454,992           0
      verify:        0        0         0         0      46105          0,000           0
      
      smartctl.exe -x -d areca,8/2 /dev/arcmsr0   | grep -e read -e write -e verify
                     ECC          rereads/    errors   algorithm      processed    uncorrected
                 fast | delayed   rewrites  corrected  invocations   [10^9 bytes]  errors
      read:          0        3         0         3    1342195      70617,506           0
      write:         0        3         0         3     150612       9470,062           0
      verify:        0        0         0         0      27327          0,000           0
      
      smartctl.exe -x -d areca,9/2 /dev/arcmsr0   | grep -e read -e write -e verify
                     ECC          rereads/    errors   algorithm      processed    uncorrected
                 fast | delayed   rewrites  corrected  invocations   [10^9 bytes]  errors
      read:          0        2         0         2    1353918      70632,087           0
      write:         0        0         0         0     169640       9469,646           0
      verify:        0        0         0         0      28129          0,000           0
      
      smartctl.exe -x -d areca,10/2 /dev/arcmsr0   | grep -e read -e write -e verify
                     ECC          rereads/    errors   algorithm      processed    uncorrected
                 fast | delayed   rewrites  corrected  invocations   [10^9 bytes]  errors
      read:          0        0         0         0    1437534      70609,679           0
      write:         0        1         0         1     194480       9469,155           0
      verify:        0        0         0         0      35782          0,000           0
      
      smartctl.exe -x -d areca,11/2 /dev/arcmsr0   | grep -e read -e write -e verify
                     ECC          rereads/    errors   algorithm      processed    uncorrected
                 fast | delayed   rewrites  corrected  invocations   [10^9 bytes]  errors
      read:          0       33         0        33    1533244      70605,138           0
      write:         0        4         0         4     150702       9456,181           0
      verify:        0        0         0         0      67674          0,000           0
      
      smartctl.exe -x -d areca,12/2 /dev/arcmsr0   | grep -e read -e write -e verify
                     ECC          rereads/    errors   algorithm      processed    uncorrected
                 fast | delayed   rewrites  corrected  invocations   [10^9 bytes]  errors
      read:          0       10         0        10    1385100      70602,212           0
      write:         0        1         0         1     108086       9456,083           0
      verify:        0        0         0         0      29600          0,000           0

      Please note the massive ECC corrections. This was due to a severe cabling problem I had while migrating from one RAID array to the other, maybe you’ve read about it in some of the other build log posts. Damn Y-cables. Now that the cabling is fixed, no more ECC errors. Still a strange reaction, but yeah.

      But you can definitely see: There are zero re-reads and zero re-writes. Your drive might have something like a head positioning problem, or maybe really a bad surface.

      If you look at the [statistics page] I’m generating each night, you can see that I’m 816TiB and 122TiB down the road for reads and writes respectively, across 12 drives. With zero re-reads / re-writes. I’d lean towards getting the drive replaced in your case, especially if the errors keep coming continuously.

      • Thank you Michael, for your prompt and full reply. What column do you mean in relation to “massive ECC corrections”? “Errors Corrected by ECC delayed/Total errors corrected” or “Correction algorithm invocations”? I have no experience in SCSI statistical data analyzing, but as far as I understood from that page, “Correction algorithm invocations” is a cumulative counter for all error types.

        Correction algorithm invocations. This parameter code specifies the counter that counts the total number of retries, or “times the retry algorithm is invoked”. If after five attempts a counter “Error corrected by rereads/rewrites” is recovered, then five is added to this counter. If three retries are required to get stable ECC syndrome before a counter “Errors Corrected by ECC: delayed” is corrected, then those three retries are also counted here.

        We can see zero read errors for disk 4 and 10, but myriads of “Correction algorithm invocations”, which is strange.
        In any case, trying to do direct mapping between SCSI and SATA parameters perhaps is not a good idea.

        • Hey Anton,

          Maybe “massive” was the wrong word here, I meant the “errors corrected”, not the algorithm invocations. Those never bothered me too much, because I’ve seen this behavior on other SAS and even parallel SCSI drives as well, with no other problems showing. The invocations are increasing for all my disks, while the “errors corrected” are at a complete standstill since the power cabling was fixed.

          It might be the case, that those are retries on the SAS links, because I’m running SAS/12Gbps over passive 3Gbps backplanes. It’s not unthinkable. I also have disparity errors and loss of DWORD sync errors in the disks’ logs, and those increment on every power cycle, indicating some troubles during the initial SAS link synchronization. It never caused any actual problems however.

          Also, the controller has never demoted the link speed down to 6 or 3Gbps either, so, no idea. Unless a drive gets kicked out or shows increased numbers of actual errors, I decided not to care about the algorithm invocations.

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre lang="" line="" escaped="" cssfile="">

(required)

(required)