wangyugui

updated

7 years ago

W

wangyugui

1 Rookie

31 Posts

0

3239

April 7th, 2019 22:00

when perccli set jbodwritecache=on, which of RAID Controller cache or HDD cache is used?

Hi, When perccli set jbodwritecache=on, which of RAID Controller cache or HDD cache is used? RAID Controller: H730 with cache and BBU. SAS HDD:Connect to H730 and configured as JBOD. What I want: I want to use the cache in H730 because there is BBU, and disable the cache in SAS HDD. Any way to do this? Best Regards
  • Daniel My

    12 Elder

    6205 Posts

    2694

    0

    Posted April 9th, 2019 11:00

    I went into the lab to test.

    Enabling/disabling jbodwritecache is a controller wide settings that affects drive cache on all drives set to non-RAID mode.

    So, if your controller is set to RAID mode and you have drives set to non-RAID the cache on the drives will not be used by default. If you set jbodwritecache to on then all drives on the controller in non-RAID mode will have the setting "Non-RAID HDD Disk Cache Policy" set to enabled. This is drive cache, not controller cache. Non-RAID drives will not use controller write cache.

    Thanks

  • Daniel My

    12 Elder

    6205 Posts

    2801

    0

    Posted April 8th, 2019 10:00

    Hello

    JBOD is a mode, so if the controller is in that mode you would use JBOD in commands that state the mode. I don't think the H730 is capable of JBOD mode. The two modes I'm aware of that the H730 supports are RAID and HBA. Controller write caching is not supported on non-RAID drives.

    perccli /c0 show jbodwritecache

    If you run that command it should state that it is not supported on this controller. If it states something else let me know.

    http://www.dell.com/storagecontrollermanuals/

    Thanks

  • wangyugui

    1 Rookie

    31 Posts

    2761

    0

    Posted April 8th, 2019 20:00

    We can see write cache is enabled when 'jbodwritecache=on', but which of RAID Controller cache or HDD cache is used?

  • wangyugui

    1 Rookie

    31 Posts

    2764

    0

    Posted April 8th, 2019 20:00

    [root@T630 ~]# perccli /c0 show jbodwritecache
    Controller = 0
    Status = Success
    Description = None


    Controller Properties :
    =====================

    --------------------------
    Ctrl_Prop Value
    --------------------------
    JBOD Write Cache Disabled
    --------------------------

     

    [root@T630 ~]# perccli /c0 set jbodwritecache=on
    Controller = 0
    Status = Success
    Description = None


    Controller Properties :
    =====================

    -----------------------
    Ctrl_Prop Value
    -----------------------
    JBOD Write Cache ON
    -----------------------

     

    [root@T630 ~]# perccli /c0 show jbodwritecache
    Controller = 0
    Status = Success
    Description = None


    Controller Properties :
    =====================

    -------------------------
    Ctrl_Prop Value
    -------------------------
    JBOD Write Cache Enabled
    -------------------------

     

    [root@T630 ~]# sdparm /dev/sda |grep WCE
    WCE 1 [cha: y, def: 0, sav: 0]
    [root@T630 ~]# perccli /c0 set jbodwritecache=off
    Controller = 0
    Status = Success
    Description = None


    Controller Properties :
    =====================

    -----------------------
    Ctrl_Prop Value
    -----------------------
    JBOD Write Cache OFF
    -----------------------

     

    [root@T630 ~]# sdparm /dev/sda |grep WCE
    WCE 0 [cha: y, def: 0, sav: 0]
    [root@T630 ~]#

  • Daniel My

    12 Elder

    6205 Posts

    2707

    0

    Posted April 9th, 2019 09:00

    That should be a controller command to controller 0 that is in personality mode JBOD. The use of the JBOD command does not appear to be fully documented. I would have to test in the lab to be certain of how it works.

    I suggest running these commands:

    perccli /c0 show personality

    That will show the personality mode that controller 0 is set.

    perccli show

    That should list your controllers. When you are using /cx it is not specifying a controller. Using something like /c0, /c1, etc specifies the controller number. We have been running commands against controller 0. Several commands will require specifying a controller.

    I am also curious what the output of this command is:

    perccli /c0 show jbod

    Thanks