Forum Discussion

mogultekin's avatar
mogultekin
Level 2
16 years ago

DMP default IOPOLICY is different for different kind of storage

[root@hostname]/> vxdmpadm getattr enclosure EMC0 iopolicy
ENCLR_NAME     DEFAULT        CURRENT
============================================
EMC0           MinimumQ       Adaptive
[root@hostname]/> vxdmpadm getattr enclosure HDS9500-ALUA0  iopolicy
ENCLR_NAME     DEFAULT        CURRENT
============================================
HDS9500-ALUA0  Round-Robin    Single-Active
[root@hostname]/>

When I look at the DMP iopolicy for different storages I see that the default DMP mechanism is different. How is this default value set and is there any documentation on this. Also is there any recomendations from the storage vendor depending on the storage's host usage and throughput.

  • from your output it appears the host may be using VxVM 5.0 - from the VxVM 5.0 Administrator's Guide:
    --------------------
    minimumq

    This policy sends I/O on paths that have the minimum number of outstanding I/O requests in the queue for a LUN. This is suitable for low-end disks or JBODs where a significant track cache does not exist. No further configuration is possible as DMP automatically determines the path with the shortest queue.

    The following example sets the I/O policy to minimumq for a JBOD:

    # vxdmpadm setattr enclosure Disk iopolicy=minimumq

    This is the default I/O policy for A/A arrays.

    [...]

    round-robin

    This policy shares I/O equally between the paths in a round-robin sequence. For example, if there are three paths, the first I/O request would use one path, the second would use a different path, the third would be sent down the remaining path, the fourth would go down the first path, and so on. No further configuration is possible as this policy is automatically managed by DMP.

    The next example sets the I/O policy to round-robin for all Active/Active arrays:

    # vxdmpadm setattr arraytype A/A iopolicy=round-robin

    This is the default I/O policy for A/P and Asymmetric Active/Active (A/A-A) arrays.
    --------------------
    (relevant page: http://sfdoccentral.symantec.com/sf/5.0/solaris/html/vxvm_admin/ag_ch_dmp_vm25.html )

    Thus, on 5.0 - EMC is an A/A array, so the default iopolicy is minimumq; the HDS array is A/P(?) and so has default iopolicy of round-robin.

    In 5.0MP3 minimumq is the default I/O policy for all arrays per the 5.0MP3 Administrator's Guide

    Regarding guidelines/recommendations for settings - refer to the Administrator's Guide for more details (under Administering DMP using vxdmpadm -> Specifying the I/O policy -- link for 5.0 is above; if your version differs refer to the correct guide for your version)

  • from your output it appears the host may be using VxVM 5.0 - from the VxVM 5.0 Administrator's Guide:
    --------------------
    minimumq

    This policy sends I/O on paths that have the minimum number of outstanding I/O requests in the queue for a LUN. This is suitable for low-end disks or JBODs where a significant track cache does not exist. No further configuration is possible as DMP automatically determines the path with the shortest queue.

    The following example sets the I/O policy to minimumq for a JBOD:

    # vxdmpadm setattr enclosure Disk iopolicy=minimumq

    This is the default I/O policy for A/A arrays.

    [...]

    round-robin

    This policy shares I/O equally between the paths in a round-robin sequence. For example, if there are three paths, the first I/O request would use one path, the second would use a different path, the third would be sent down the remaining path, the fourth would go down the first path, and so on. No further configuration is possible as this policy is automatically managed by DMP.

    The next example sets the I/O policy to round-robin for all Active/Active arrays:

    # vxdmpadm setattr arraytype A/A iopolicy=round-robin

    This is the default I/O policy for A/P and Asymmetric Active/Active (A/A-A) arrays.
    --------------------
    (relevant page: http://sfdoccentral.symantec.com/sf/5.0/solaris/html/vxvm_admin/ag_ch_dmp_vm25.html )

    Thus, on 5.0 - EMC is an A/A array, so the default iopolicy is minimumq; the HDS array is A/P(?) and so has default iopolicy of round-robin.

    In 5.0MP3 minimumq is the default I/O policy for all arrays per the 5.0MP3 Administrator's Guide

    Regarding guidelines/recommendations for settings - refer to the Administrator's Guide for more details (under Administering DMP using vxdmpadm -> Specifying the I/O policy -- link for 5.0 is above; if your version differs refer to the correct guide for your version)

  • Hi,

     Yes the default DMP I/O policies are changed in 5.0. Refer to below document,
    which explains DMP in much detail along with default policies as well.


    https://www-secure.symantec.com/connect/sites/default/files/dynamic-multi-pathing.pdf


    Regards
    Srini


  • Hello Mert,

    DMP sets default IOPolicy depending on the type of array which is very much expected.

    Imagine an A/P array with a round robin policy ? that would surely be incorrect as passive path will never send an IO untill Active path has failed.

    So, first consideration for setting a default policy is what type of array do you use ?

    Also, there are some customizable policies depending on how do you use your array, for example, Clariion will have a default policy of Single Active, so all the IOs are directed through one IO path only.

    Setting of arraymode also can affect your IOpolicy setting.

    As mentioned above, if you read the full description of IOPolicy section in VxVM admin guide, you should get all your answers.

    Thanks

    Gaurav Sangamnerkar