Details

    • Technical task
    • Resolution: Fixed
    • Blocker
    • Lustre 2.5.0
    • Lustre 2.5.0
    • 9891

    Description

      The procfs tuneable parameter that is used to define the default HSM archive ID is cannot be set persistently using lctl conf_param or lctl set_param -P. This is by design and is in part because the "hsm" procfs subtree is not created unless and until the HSM feature is itself activated.

      The parameter variable is: mdt.<fsname>-MDT*.hsm.archive_id

      Please consider a mechanism whereby the system-wide default for the archive ID is stored persistently by the MGS, as it simplifies administration overhead and makes other features such as server failover behave more predictably.

      Attachments

        Activity

          [LU-3828] Default HSM Archive Identifier is not Persistent
          pjones Peter Jones added a comment -

          Landed for 2.5.0

          pjones Peter Jones added a comment - Landed for 2.5.0
          jcl jacques-charles lafoucriere added a comment - Patch at http://review.whamcloud.com/7557

          It is not a "straightforward fix", but the simplest I see. I will work on a patch. Can you validate the other patch, so I will base this new one on the other one (will simplify the review)

          jcl jacques-charles lafoucriere added a comment - It is not a "straightforward fix", but the simplest I see. I will work on a patch. Can you validate the other patch, so I will base this new one on the other one (will simplify the review)

          I agree that the feature is useful and would like to see it implemented. If making the hsm procfs directory visible is a straightforward fix, then it has my support but someone else has to make the call.

          malkolm Malcolm Cowe (Inactive) added a comment - I agree that the feature is useful and would like to see it implemented. If making the hsm procfs directory visible is a straightforward fix, then it has my support but someone else has to make the call.

          This behavior is also true for all HSM tunable (except hsm_control). A solution is to make the proc hsm directory always visible even if HSM is off. If you agree on it I will work on a patch.

          jcl jacques-charles lafoucriere added a comment - This behavior is also true for all HSM tunable (except hsm_control). A solution is to make the proc hsm directory always visible even if HSM is off. If you agree on it I will work on a patch.

          Original test case:

          If I try to change the default archive ID using lctl conf_param instead of lctl set_param, the setting does not change.
          Tested as follows:

          On mount, default archive is set to 1 and archive commands work as expected (when no archive is specified, default is selected automatically).

          Using lctl set_param to change the default works as expected and lfs hsm_archive command picks up the change.

          Using lctl hsm_archive with --archive works as expected.

          lctl conf_param does not work:

          [root@m64-1 /]# lctl set_param mdt.scratch-MDT*.hsm.archive_id=2
          mdt.scratch-MDT0000.hsm.archive_id=2
          [root@m64-1 /]# lctl get_param mdt.scratch-MDT*.hsm.archive_id
          mdt.scratch-MDT0000.hsm.archive_id=2
          [root@m64-1 /]# lctl conf_param scratch-MDT*.mdt.hsm.archive_id=1
          [root@m64-1 /]# lctl get_param mdt.scratch-MDT*.hsm.archive_id
          mdt.scratch-MDT0000.hsm.archive_id=2

          I am assuming that this is the path one should use for conf_param. If I use conf_param the setting does not change.

          malkolm Malcolm Cowe (Inactive) added a comment - Original test case: If I try to change the default archive ID using lctl conf_param instead of lctl set_param, the setting does not change. Tested as follows: On mount, default archive is set to 1 and archive commands work as expected (when no archive is specified, default is selected automatically). Using lctl set_param to change the default works as expected and lfs hsm_archive command picks up the change. Using lctl hsm_archive with --archive works as expected. lctl conf_param does not work: [root@m64-1 /] # lctl set_param mdt.scratch-MDT*.hsm.archive_id=2 mdt.scratch-MDT0000.hsm.archive_id=2 [root@m64-1 /] # lctl get_param mdt.scratch-MDT*.hsm.archive_id mdt.scratch-MDT0000.hsm.archive_id=2 [root@m64-1 /] # lctl conf_param scratch-MDT*.mdt.hsm.archive_id=1 [root@m64-1 /] # lctl get_param mdt.scratch-MDT*.hsm.archive_id mdt.scratch-MDT0000.hsm.archive_id=2 I am assuming that this is the path one should use for conf_param. If I use conf_param the setting does not change.

          People

            jhammond John Hammond
            malkolm Malcolm Cowe (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: