Jump to content

Guzzi

Members
  • Posts

    219
  • Joined

  • Last visited

Posts posted by Guzzi

  1. @Tom:

    Would it help to enhance the driver logging and let ppl post logs with and without the issue?

    In bugzilla of kernel.org I found some hints how to do that - could you assist what is the right method for unRaid?

    [...] provide the driver logs by setting the driver logging level to 0x3f8.

    Here are the steps to set the mpt2sas driver logging level

    a.While loading the driver

            modprobe mpt2sas logging_level=0x3f8

    b. If driver is in ramdisk, then in RHEL5/SLES/OEL5 OS, following line has to be added in /etc/modprobe.conf and reboot the system

    options mpt2sas logging_level=0x3f8

    (Or)

    Add below word at the end of kernel module parameters line in /boot/grub/menu.lst or /boot/grub/grub.conf file and reboot the system

    mpt2sas.logging_level=0x3f8

    c. During driver run time

            echo 0x3f8 > /sys/module/mpt2sas/parameters/logging_level

    driver options according modinfo mpt2sas:

    parm:          logging_level: bits for enabling additional logging info (default=0)

    parm:          max_sectors:max sectors, range 64 to 32767  default=32767 (ushort)

    parm:          missing_delay: device missing delay , io missing delay (array of int)

    parm:          max_lun: max lun, default=16895  (int)

    parm:          diag_buffer_enable: post diag buffers (TRACE=1/SNAPSHOT=2/EXTENDED=4/default=0) (int)

    parm:          prot_mask: host protection capabilities mask, def=7  (int)

    parm:          max_queue_depth: max controller queue depth  (int)

    parm:          max_sgl_entries: max sg entries  (int)

    parm:          msix_disable: disable msix routed interrupts (default=0) (int)

    parm:          max_msix_vectors: max msix vectors  (int)

    parm:          mpt2sas_fwfault_debug: enable detection of firmware fault and halt firmware - (default=0)

    parm:          disable_discovery: disable discovery  (int)

    iirc, the exact values can be found in teh LSI documentation...

  2. Not explicitly mentioned, but the dashboard page has now additional indicators to show in real-time the utilization of the flash drive, /var/log location and docker image.

    Hi bonienl,

    nice addition - but there might be a little bug there in case, no dockers are used (and no docker image exists) - in that case it always shows "20%" - I'd suggest to simply not display docker image usage in case there is none!?

    That's not a bug, it's a feature!  It doubles as ram % usage when docker is disabled [emoji3]

    Are you sure? As RAM usage is already in the row right above and show different value. And even IF that is the case, then the text would have to be adapted, as it still shows "flash : log : docker" even if there is no docker enabled and no docker image file present.

  3. Not explicitly mentioned, but the dashboard page has now additional indicators to show in real-time the utilization of the flash drive, /var/log location and docker image.

    Hi bonienl,

    nice addition - but there might be a little bug there in case, no dockers are used (and no docker image exists) - in that case it always shows "20%" - I'd suggest to simply not display docker image usage in case there is none!?

  4. Hi coppit, thanks for working on this. May I also point you to the unraid changes fro upcoming 6.1 version:

    http://lime-technology.com/forum/index.php?topic=42259.0;topicseen

    So as a workaround, I could use, what was mentioned in the unmenu thread:

    ln -s /usr/local/sbin/mdcmd /root
    

    (otherwise, the scripts won't find mdcmd), but finally, the plugin should be adapted to use the new script locations.

    when manually executing the drive_temps.sh script I also get a list of the drives with "<drive>:", but no temps - smartctrl does output them ok. When I change the temp grabbing to "unconditional", it works:

    Instead of

      if ! $HDPARM -C $device 2>&1 | $GREP -cq standby
      then
        temp=$($SMARTCTL -A $device | $GREP -m 1 -i Temperature_Celsius | $AWK '{print $10}')
      fi
    

    just using

       temp=$($SMARTCTL -A $device | $GREP -m 1 -i Temperature_Celsius | $AWK '{print $10}')
    

    Nice thing is, that the temps are read even if hdparm -C reports the drive being in standby (without spinning up the drive).

     

  5. Hi bonienl, I noted, that the display of the drive size is different depending on the used file system. I do have 1TB drives - they show as "1 TB" when using reiserFS, but showing as "1000 GB" when using XFS file system. 2TB disks are not affected - they show up as "2 TB" with either filesystem. It's only a visual glitch, but I wanted to report it.

    disksize-display.jpg.8c6a7831cabd1ca91cf45abf44f06be3.jpg

  6. Sorry for another post, but continued some reading and it seems that also shell scripts are supported:

    # Run a shell script containing:
    #
    # #!/bin/sh
    # echo hello world
    # echo hi there
    # exit 35
    #
    # exec .1.3.6.1.4.1.2021.50 shelltest /bin/sh /tmp/shtest
    
    # Other ideas:
    #
    # exec .1.3.6.1.4.1.2021.51 ps /bin/ps
    # exec .1.3.6.1.4.1.2021.52 top /usr/local/bin/top
    # exec .1.3.6.1.4.1.2021.53 mailq /usr/bin/mailq
    

    So it shouldn't be too difficult to use the respective parts from e.g. dynamix temp plugin (shell script), that is already determining temperature and disk status and output to a MIB.

     

    # Identify the drives in your array so we can test their temperature
    COUNT=1
    for d in $(ls /dev/[hs]d? | grep -v "$flash")
    do
    <------>HD[$COUNT]=$d
    <------>#echo HDD=${HD[$COUNT]}><------><------><------><------><------><------><------># Uncomment for debugging
    <------>COUNT=$[$COUNT+1]
    done
    <------>while [ $CURRENT_DRIVE -le $NUM_OF_DRIVES ]
    <------>do
    <------><------>SLEEPING=`hdparm -C ${HD[$CURRENT_DRIVE]} | grep -c standby`
    <------><------>if [ "$SLEEPING" -eq 0 ]; then
    <------><------><------>CURRENT_TEMP=`smartctl -A ${HD[$CURRENT_DRIVE]} | grep -m 1 -i Temperature_Celsius | awk '{print $10}'`
    <------><------>fi
    <------><------>CURRENT_DRIVE=$[$CURRENT_DRIVE+1]
    <------>done
    

    hdparm tells us, if the drive is in standby - smartctrl tells us the drive's temp.

    Question: I had a look into myMain.awk code of unmenu - it also uses smartctl to gather disk temp - and also gets them when disk is spun down - iirc, this is not possible with all drives/manufacturers, but it would be nice to get temps continously :-).

    I did a quick test with my drives on the command line and smartctl -A /dev/sdx does not spin up the drive and nicely reports the data...

    Hope that helps?

  7. Curious. Do you want just Linux SNMP or are you wanting a unRAID specific MIB ... or some combination of both?

    It should be unRAID specific MIBs - adding MIBs for disk temperature, disk spinup/down status gives great history view on unraid machine. However, imho this is something that should be integrated into the core, as the information for the extgended agent functionality probably should be provided by emhttp to make sure it is consistant (and to avoid querying disks again?).

  8. Checked it myself - if I understand it correct, it should be possible:

    See http://www.net-snmp.org/docs/man/snmpd.conf.html

    So snmpd.conf has to be extended by Agent functionality.

    Current content of /usr/local/emhttp/plugins/snmp/snmpd.conf is:

    rocommunity public
    syslocation Here
    syscontact root@tower
    disk /mnt/disk1
    disk /mnt/disk2
    disk /mnt/disk3
    disk /mnt/disk4
    disk /mnt/disk5
    disk /mnt/disk6
    disk /mnt/disk7
    disk /mnt/disk8
    disk /mnt/disk9
    disk /mnt/disk10
    disk /mnt/disk11
    disk /mnt/disk12
    disk /mnt/disk13
    disk /mnt/disk14
    disk /mnt/disk15
    disk /mnt/disk16
    disk /mnt/disk17
    disk /mnt/disk18
    disk /mnt/disk19
    disk /mnt/disk20
    disk /mnt/cache
    

    Extended agents could be implemented like this:

    Extending Agent Functionality
    
    Arbitrary Extension Commands
    
    Old Style
    
        exec [MIBOID] NAME PROG ARGS"
        sh   [MIBOID] NAME PROG ARGS"
        execfix NAME PROG ARGS"
    
    New Style
    
        extend [MIBOID] NAME PROG ARGS"
        extendfix [MIBOID] NAME PROG ARGS"
    

    So if it is possible to get the information from emhttp via perl, it should be doable, iiuc?

  9. Hi coppit,

    is there any chance to add the drive temperatures to the MIBs the same way, you added the unraid drives?

    .. and while thinking about it: It would be nice to add the up/down state also to MIBs - that would give a great historical view on the spinning status of the drives!

    Is this possible?

  10. Hi - due to the existing issues with spinup/down (some drives don't even react on GUI klicks at all - while at the same time spinning up/down via unmenu still works) and the temps (which might be related?) I'd like to go back to 6.0.1 until this is fixed. Can I simply copy bzimage etc. to downgrade or will there be issues with the 6.1rc2 konfig files used with 6.0.1?

  11. I have the situation that a number of my disks do not spin down. In the GUI this is presented as spun-down state WITH temperature (see attachment).

     

    Forcing all disks to spin-up and then forcing all disks to spin-down doesn't resolve the situation (I verify the actual disk state with hdparm).

     

    Anyone else has the same observation in v6.1rc2 ?

    Can confirm to see the same.

    While Unraid GUI shows all disks down and temperature on some of the drives and on some not, unmenu's myMain shows none of them are spinning.

     

    While this is completely unrelated to this issue - may I ask, why myMain is able to show disk temperature also when disk is spun down and unraid's GUI cannot? I vagely remember, that the ability to read disk temp when drive is spun down is depending on hard disk model/manufacturer - in my case I have all WD drives, which DO support reading temps when drive is not spinning - it would be nice to have the unraid GUI support that too - is this possible? As a side note: To get temperature reading, I have to add "smartopt -A" to some of the drives parameter settings, depending on what controller they're connected to.

  12. ... some more thoughts: cache_dirs could calculate the runtime internally and write it to e.g. sys/module/cache_dirs/runtime via "echo $RUNTIME > sys/module/cache_dirs/runtime" - the Dynamix plugin could then easily read and display that value in the GUI.

  13. Is there a simple way to tell if cache_dirs is working?

    if you just want to know, if it is running, check the process list.

    If you want to know, if it is "working", simply list content of cached directories and verify, that no disks are accessed for that.

    If you're asking if there is a GUI indicator showing, that caching was complete/successful - no, we don't have that yet.

    Could it be done? ... hmmm, the only thing I could think of is checking the runtime that the internal dir-reading of cache_dirs requires - if it is reading the content from disk, it'll take quite some time - if it is reading from memory, it should be very fast.

    Maybe the plugin could simply show the raw runtime? Afaik the problem is, that the cache_dirs script itself is maintained my JoeL, so there would need to be changes done. The plugin actually is a wrapper to allow comfortable usage and GUI integration, but won't be able to achieve such changes without changing the cache_dirs script itself...

  14. I think I have the same problem, using M1015 cards (which is afaik same chipset). Same hardware was working fine with v5 and now has performance degradation after update to v6(.0.1).

    @Tom: Is it possible, that this is a problem with the (64bit) drivers for this card or the init settings? Would it help to post the syslog parts of the card initialization? Here is mine:

    Jul  4 11:01:04 XMS-GMI-01 kernel: mpt2sas version 20.100.00.00 loaded (System)
    Jul  4 11:01:04 XMS-GMI-01 kernel: mpt2sas0: 64 BIT PCI BUS DMA ADDRESSING SUPPORTED, total mem (3920328 kB) (Drive related)
    Jul  4 11:01:04 XMS-GMI-01 kernel: mpt2sas0: MSI-X vectors supported: 1, no of cores: 2, max_msix_vectors: 8 (Drive related)
    Jul  4 11:01:04 XMS-GMI-01 kernel: mpt2sas0-msix0: PCI-MSI-X enabled: IRQ 29 (Drive related)
    Jul  4 11:01:04 XMS-GMI-01 kernel: mpt2sas0: iomem(0x00000000f04c0000), mapped(0xffffc90010870000), size(16384) (Drive related)
    Jul  4 11:01:04 XMS-GMI-01 kernel: mpt2sas0: ioport(0x000000000000ee00), size(256) (Drive related)
    Jul  4 11:01:04 XMS-GMI-01 kernel: mpt2sas0: sending message unit reset !! (Drive related)
    Jul  4 11:01:04 XMS-GMI-01 kernel: mpt2sas0: message unit reset: SUCCESS (Drive related)
    Jul  4 11:01:04 XMS-GMI-01 kernel: mpt2sas0: Allocated physical memory: size(7445 kB) (Drive related)
    Jul  4 11:01:04 XMS-GMI-01 kernel: mpt2sas0: Current Controller Queue Depth(3307), Max Controller Queue Depth(3432) (System)
    Jul  4 11:01:04 XMS-GMI-01 kernel: mpt2sas0: Scatter Gather Elements per IO(128) (Drive related)
    Jul  4 11:01:04 XMS-GMI-01 kernel: mpt2sas0: LSISAS2008: FWVersion(20.00.04.00), ChipRevision(0x03), BiosVersion(07.39.00.00) (Drive related)
    Jul  4 11:01:04 XMS-GMI-01 kernel: mpt2sas0: Protocol=(Initiator,Target), Capabilities=(TLR,EEDP,Snapshot Buffer,Diag Trace Buffer,Task Set Full,NCQ) (Drive related)
    Jul  4 11:01:04 XMS-GMI-01 kernel: scsi host2: Fusion MPT SAS Host (Drive related)
    Jul  4 11:01:04 XMS-GMI-01 kernel: mpt2sas0: sending port enable !! (Drive related)
    Jul  4 11:01:04 XMS-GMI-01 kernel: mpt2sas0: host_add: handle(0x0001), sas_addr(0x500605b0053a9ad0), phys( (Drive related)
    Jul  4 11:01:04 XMS-GMI-01 kernel: mpt2sas0: port enable: SUCCESS (Drive related)
    Jul  4 11:01:04 XMS-GMI-01 kernel: mpt2sas1: 64 BIT PCI BUS DMA ADDRESSING SUPPORTED, total mem (3920328 kB) (Drive related)
    Jul  4 11:01:04 XMS-GMI-01 kernel: mpt2sas1: MSI-X vectors supported: 1, no of cores: 2, max_msix_vectors: 8 (Drive related)
    Jul  4 11:01:04 XMS-GMI-01 kernel: mpt2sas1-msix0: PCI-MSI-X enabled: IRQ 30 (Drive related)
    Jul  4 11:01:04 XMS-GMI-01 kernel: mpt2sas1: iomem(0x00000000f0ac0000), mapped(0xffffc90010940000), size(16384) (Drive related)
    Jul  4 11:01:04 XMS-GMI-01 kernel: mpt2sas1: ioport(0x000000000000de00), size(256) (Drive related)
    Jul  4 11:01:04 XMS-GMI-01 kernel: mpt2sas1: sending message unit reset !! (Drive related)
    Jul  4 11:01:04 XMS-GMI-01 kernel: mpt2sas1: message unit reset: SUCCESS (Drive related)
    Jul  4 11:01:04 XMS-GMI-01 kernel: mpt2sas1: Allocated physical memory: size(7445 kB) (Drive related)
    Jul  4 11:01:04 XMS-GMI-01 kernel: mpt2sas1: Current Controller Queue Depth(3307), Max Controller Queue Depth(3432) (System)
    Jul  4 11:01:04 XMS-GMI-01 kernel: mpt2sas1: Scatter Gather Elements per IO(128) (Drive related)
    Jul  4 11:01:04 XMS-GMI-01 kernel: mpt2sas1: LSISAS2008: FWVersion(20.00.04.00), ChipRevision(0x03), BiosVersion(07.39.00.00) (Drive related)
    Jul  4 11:01:04 XMS-GMI-01 kernel: mpt2sas1: Protocol=(Initiator,Target), Capabilities=(TLR,EEDP,Snapshot Buffer,Diag Trace Buffer,Task Set Full,NCQ) (Drive related)
    Jul  4 11:01:04 XMS-GMI-01 kernel: scsi host16: Fusion MPT SAS Host (Drive related)
    Jul  4 11:01:04 XMS-GMI-01 kernel: mpt2sas1: sending port enable !! (Drive related)
    Jul  4 11:01:04 XMS-GMI-01 kernel: mpt2sas1: host_add: handle(0x0001), sas_addr(0x500605b0053c1650), phys( (Drive related)
    Jul  4 11:01:04 XMS-GMI-01 kernel: mpt2sas1: port enable: SUCCESS (Drive related)
    

    Can anybody check, how the card is initialized in v5 - maybe it is different?

    I am not experienced with Linux, but checking "modinfo mpt2sas" shows possible parameters, maybe extended logging can discover what happens?

    On LSI site, in the readme of the driver package there is explanation about all option setting, including logging_level.

     

  15. I think in 6.0.1 standby mode still is not available for SSDs, right?

    The question came up, IF a SSD does support standby and if that has any advantage for the user - which could only be power saving.

    Looking into data sheets, there is indeed a different power consumption between "idle" and "standby/sleep" - depending on model it might not be too high. Example Samsung Evo:

    http://www.samsung.com/global/business/semiconductor/minisite/SSD/de/html/ssd850pro/specifications.html

    Active Read (Average) : Max. 3.3W (1TB)
    Active Write (Average) : Max. 3.0W (1TB)
    Idle : Max. 0.4W
    Device Sleep : 2mW
    

    So the difference in this example is only approx 1/2 W.

    Regardless of that, I personally agree to craigr and some others, that I would keep the setting and let the user decide, if or if not such mode should be used. I agree with NAS too, that "standby" or "sleep" is a better naming for that state (at least if it is a SSD).

    Regarding the questions of users about "sleep for SSDs" it would be a siple line added to the (very nice!) help system/text.

  16. Hi bonienl,

    it seems, I have some trouble with the autodetected PWM controllers.

    when I check the system with pwmconfig, it tells me to use

    /sys/class/hwmon/hwmon1/device/pwm2

    for fancontrol (which worked for me in unraid5 and fancontrol script in go script).

    The dropdown to PWM2 in autofan however uses the PWM2 selection from device tree, resulting in following command line:

    /bin/bash /usr/local/sbin/autofan -c /sys/devices/platform/it87.552/pwm2 -f /sys/devices/platform/it87.552/fan2_input -l 75 -t 31 -T 41 -m 3

    The reading of the fanspeed works fine - but the setting does not.

    Any recommendations?

    A short feedback if others wonder what was the issue:

    Everything is fine on Dynamix plugins and the chosen approach is fine. I replaced the motherboard (with exactly same type and model!) and now it works as expected - seems, it was a hardware defect...

    As known, either perl needs to be installed for the internal sensors-detect script - or if the required drivers are known they can be entered manually in the respective field in the temp plugin.

  17. Hi @bonienl,

    I think I have read it before somewhere, that on the dashboard, the CPU frequency is NOT the current speed - while e.g. fan speed IS current.

    Is it possible to change that, so the user can verify, if powermanagement works properly?

    I was successful to get the current CPU frequency with

    cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq
    

    What do you think?

  18. Apologies for repeating a previously asked question but I am still trying to get AutoFan working and have not seen a reply.

     

    I was wondering how to set up and use the AutoFan script in Dynamix.

     

    I had a quick look and could not get any of the PWM channels on my motherboard to be detected. Is there anything I need to run first or edit to get my PWM channels detected correctly? PWM Controller dropdown just has "None" as the only entry. I am running 6beta15 with no additional plugins.

     

    Motherboard used : Gigabyte H97N-WIFI with two PWM channels (one for CPU, one for case fans)

     

    The plugin scans the system in order to populate the PWM controller list automatically. If it stays empty then nothing could be found. It uses the command:

     

    find /sys/devices -type f -iname 'pwm[0-9]'

     

    You may want to try manually to see the results.

    Hi bonienl,

    it seems, I have some trouble with the autodetected PWM controllers.

    when I check the system with pwmconfig, it tells me to use

    /sys/class/hwmon/hwmon1/device/pwm2

    for fancontrol (which worked for me in unraid5 and fancontrol script in go script).

    The dropdown to PWM2 in autofan however uses the PWM2 selection from device tree, resulting in following command line:

    /bin/bash /usr/local/sbin/autofan -c /sys/devices/platform/it87.552/pwm2 -f /sys/devices/platform/it87.552/fan2_input -l 75 -t 31 -T 41 -m 3

    The reading of the fanspeed works fine - but the setting does not.

    Any recommendations?

  19. Hi - I have the same problem, that I have to run resetperms after I created new directories - so seems they're not created with nobody ownder or correct permissions.

     

    I do access (and create/copy) files to the array via smb-extra.conf (which I do since years with UnRaid 4.x - no problems there ever):

     

    [sERVER-Root]
        path = /mnt/user
        read only = No
        browsable=no
        comment = Consolidated User Shares View
        valid users = adm
        read list = adm, clnt
        write list = adm
    

     

    Can anybody show me what I need to change/add so dirs/files are created with proper owner/permissions (I am not very experiences with Linux, so please forgive me, if it is something obvious from your point of view).

    Thanks

×
×
  • Create New...