Details

    • New Feature
    • Resolution: Unresolved
    • Minor
    • None
    • None
    • None
    • 3
    • 9223372036854775807

    Description

      Implement a simple in-memory OSD device for Lustre. This enables Lustre servers to be run without any backing filesystem, such as ldiskfs or openZFS.

      The main goal of this OSD is to make it easier to test Lustre on kernels which don't readily ldiskfs or openZFS. It will also make it simpler to set up a new Lustre dev environment, since many changes to Lustre do not depend on a particular filesystem.

       

      Attachments

        Issue Links

          Activity

            [LU-17995] In-memory OSD device

            "Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/58174/
            Subject: LU-17995 obdclass: remove obdname2fsname()
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: c40370698e32aafba5c0323f957bd700e3353cd9

            gerrit Gerrit Updater added a comment - "Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/58174/ Subject: LU-17995 obdclass: remove obdname2fsname() Project: fs/lustre-release Branch: master Current Patch Set: Commit: c40370698e32aafba5c0323f957bd700e3353cd9

            "Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/58163/
            Subject: LU-17995 osd-zfs: remove server_name_is_ost()
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: 4a7b1f6ad3e3f4c0dec35210b50240826fc4e8a2

            gerrit Gerrit Updater added a comment - "Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/58163/ Subject: LU-17995 osd-zfs: remove server_name_is_ost() Project: fs/lustre-release Branch: master Current Patch Set: Commit: 4a7b1f6ad3e3f4c0dec35210b50240826fc4e8a2

            "Timothy Day <timday@amazon.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/58174
            Subject: LU-17995 obdclass: remove obdname2fsname()
            Project: fs/lustre-release
            Branch: master
            Current Patch Set: 1
            Commit: 3bd06be6c011dd932f2570503b565a1189a7246f

            gerrit Gerrit Updater added a comment - "Timothy Day <timday@amazon.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/58174 Subject: LU-17995 obdclass: remove obdname2fsname() Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: 3bd06be6c011dd932f2570503b565a1189a7246f

            "Timothy Day <timday@amazon.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/58163
            Subject: LU-17995 osd-zfs: remove server_name_is_ost()
            Project: fs/lustre-release
            Branch: master
            Current Patch Set: 1
            Commit: e155e4eaec94f6329ba7a280077b33c9ec7e57dd

            gerrit Gerrit Updater added a comment - "Timothy Day <timday@amazon.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/58163 Subject: LU-17995 osd-zfs: remove server_name_is_ost() Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: e155e4eaec94f6329ba7a280077b33c9ec7e57dd

            "Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/57336/
            Subject: LU-17995 libcfs: implement libcfs_subsystem_debug
            Project: fs/lustre-release
            Branch: master
            Current Patch Set:
            Commit: 627c4b2b93484818f13c3e7158593ae0c097bf6c

            gerrit Gerrit Updater added a comment - "Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/57336/ Subject: LU-17995 libcfs: implement libcfs_subsystem_debug Project: fs/lustre-release Branch: master Current Patch Set: Commit: 627c4b2b93484818f13c3e7158593ae0c097bf6c

            "Timothy Day <timday@amazon.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/57336
            Subject: LU-17995 libcfs: implement libcfs_subsystem_debug
            Project: fs/lustre-release
            Branch: master
            Current Patch Set: 1
            Commit: 9ec8bfce24b204fa74086d52e18e4c71b843bc42

            gerrit Gerrit Updater added a comment - "Timothy Day <timday@amazon.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/57336 Subject: LU-17995 libcfs: implement libcfs_subsystem_debug Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: 9ec8bfce24b204fa74086d52e18e4c71b843bc42

            "Timothy Day <timday@amazon.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/57287
            Subject: LU-17995 osd-mem: test
            Project: fs/lustre-release
            Branch: master
            Current Patch Set: 1
            Commit: bbc088d5b51ded29f144b3fb5e7b5a638e71553b

            gerrit Gerrit Updater added a comment - "Timothy Day <timday@amazon.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/57287 Subject: LU-17995 osd-mem: test Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: bbc088d5b51ded29f144b3fb5e7b5a638e71553b
            timday Tim Day added a comment -

            Once I get to a base level of correctness, I going to spend some time speeding it up. There's going to be a lot of low hanging fruit perf wise. For persistence, it shouldn't be to hard to periodically serialize objects to disk a la Redis - https://redis.io/docs/latest/operate/oss_and_stack/management/persistence/. I think that'd be useful for debugging.

            timday Tim Day added a comment - Once I get to a base level of correctness, I going to spend some time speeding it up. There's going to be a lot of low hanging fruit perf wise. For persistence, it shouldn't be to hard to periodically serialize objects to disk a la Redis - https://redis.io/docs/latest/operate/oss_and_stack/management/persistence/. I think that'd be useful for debugging.

            Thanks, Tim - makes sense.  I suspect someone will eventually decide they want the in-memory OSD to be fast, too.  I can imagine someone wanting to shuffle IO off to a server and have it stored later with the cost of loss, etc.  (I'm not saying I think it's an idea with a huge window of utility, but I am saying I think someone will do it. )

            paf Patrick Farrell (Inactive) added a comment - Thanks, Tim - makes sense.  I suspect someone will eventually decide they want the in-memory OSD to be fast, too.  I can imagine someone wanting to shuffle IO off to a server and have it stored later with the cost of loss, etc.  (I'm not saying I think it's an idea with a huge window of utility, but I am saying I think someone will do it. )
            timday Tim Day added a comment -

            The use case is narrow, but I think the amount of work is (relatively) small. I think the biggest hassles were (a) recreating the necessary boilerplate to get the OSD to start correctly and (b) outdated documentation. Now that I'm more familiar with the code, it shouldn't be too hard to improve the API and docs - writing OSDs could be made much simpler.

            There might be other use-cases outside of testing and improving/understanding the APIs, but those were my main motivators. An in-memory OSD would be handy to have; the Lustre arcana involved dissuaded people from writing one, I think.

            timday Tim Day added a comment - The use case is narrow, but I think the amount of work is (relatively) small. I think the biggest hassles were (a) recreating the necessary boilerplate to get the OSD to start correctly and (b) outdated documentation. Now that I'm more familiar with the code, it shouldn't be too hard to improve the API and docs - writing OSDs could be made much simpler. There might be other use-cases outside of testing and improving/understanding the APIs, but those were my main motivators. An in-memory OSD would be handy to have; the Lustre arcana involved dissuaded people from writing one, I think.

            People

              timday Tim Day
              timday Tim Day
              Votes:
              0 Vote for this issue
              Watchers:
              10 Start watching this issue

              Dates

                Created:
                Updated: