GithubHelp home page GithubHelp logo

hdparm missing about ceph-container HOT 8 CLOSED

ceph avatar ceph commented on June 14, 2024
hdparm missing

from ceph-container.

Comments (8)

Ulexus avatar Ulexus commented on June 14, 2024

hdparm is not likely to run inside a container, anyway. It's likely going to need privileged mode and access to the /dev tree, at a minimum.

Where are you encountering the error?

from ceph-container.

leseb avatar leseb commented on June 14, 2024

I believe you saw this during the OSD startup, it usually tries to disable the write back cache of the journal device before opening it.
It's a warning not an error if I remember correctly.

Can you show the logs?

from ceph-container.

hookenz avatar hookenz commented on June 14, 2024

No I lost it. You're right it was more of a warning and just noticed it during the startup/init process somewhere.

Actually I was wanting to pre-initialise the ceph to use an SSD journal device rather than having a journal file or journal on the same device. I have managed to get that to work using ceph-disk prepare.
Then mounting the drives, then starting ceph-osd.

from ceph-container.

leseb avatar leseb commented on June 14, 2024

OK great, I'm closing this. Feel free to re-open.
I think we need to see if we can improve the journal support.

from ceph-container.

Ulexus avatar Ulexus commented on June 14, 2024

@hookenz I do exactly this on most of my nodes: 1 SSD journal for several OSDs. These containers will work perfectly if you simply mount your journal to /var/lib/ceph/osd/journal (the default journal location, if it exists).

I run my OSD containers with -v /var/lib/ceph/osd:/var/lib/ceph/osd and have my SSD journal mounted to /var/lib/ceph/osd/journal. Each OSD will be automatically assigned a separate directory in that directory, so things should just work.

from ceph-container.

Ulexus avatar Ulexus commented on June 14, 2024

I just noticed that this functionality is not described in the documentation; updating now.

from ceph-container.

hookenz avatar hookenz commented on June 14, 2024

So you use a journal file for each OSD instead of a journal partition?

I read somewhere about there being less overhead for a journal partition so I went that route. But I'm passing -v /dev:/dev to docker to make the disk available. I think I also need --privileged.
Your method avoids all that I think.
If I go the direction you recommend I'd have to create 2 journal mounts. It's a little more setup but I think I like your approach.

By the way, what filesystem are you initialising your journal drives with?

My configuration is 6 spinners and 2 SSD. So 3 spinners per SSD.

Oh and by the way, you're right about it coming through correctly when you pass /var/lib/ceph/osd. I was passing in /var/lib/ceph and then the filesystem was showing up as tmpfs. I haven't looked again to see if this is true. Maybe I did something else wrong. Anyway, it's working good.

from ceph-container.

Ulexus avatar Ulexus commented on June 14, 2024

I use all SSDs in my setup and all btrfs filesystems (journal and OSD). I used to use the parallel journaling support with btrfs, but somewhere along the line I quit doing so (I don't recall the reason, but parallel journaling requires --privileged, which I am not running).

I do recall hearing that the direct block device journals are better, but I haven't done any testing to say.

I think it's a reasonable trade (since disks are necessarily tied to host systems) to have the host system manage the mountpoints, so we just export /var/lib/ceph/osd for the container.

from ceph-container.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.