Comments (6)
I might tie the bootstrap keys into the ceph-cli work. The way i now have the osds bootstapping is fast. I am pretty sure i can hotplug them.
from ceph-container.
@leseb I think it sounds like a good idea. The additional --privileged
requirement makes me less sanguine, but it seems there is the choice of having the OSD fully bootstrapped (with the privileges that entails) or having to work something outside the container.
I'm also not sold on the use of ceph-disk
; it's an enormous script with a lot of assumptions built in. I was fairly permanently put off of ceph-deploy
thanks to those assumptions and complexity. On the other hand, it's maintained by the Ceph project, so it's probably less fragile than manually building the OSDs.
Originally, I preferred the approach of separation, but for more massive deployments than my own, a fully-bootstrapped approach seems more sensible.
You'll still need to be able to safely reference which block devices to use, and unless we open up ceph-disk, configuration-wise, this will be less flexible. I would definitely prefer to maintain a path for handing over a filesystem to the OSD, rather than have it all done for you, but I think that could be best done with better detection, rather than explicit environment variables, as is done currently.
Overall, I like it.
from ceph-container.
The prototype can be found in #78 here: https://github.com/ceph/ceph-docker/pull/78/files#diff-b9c25bf1154f3e0eb1449dd01310fbc3R187
from ceph-container.
I'm really in favour of using ceph-disk
can (as your said) its maintained by the Ceph core developer. It is intended to best user experience, along with best practices.
What I don't like with the OSD directory path is that it requires a pre-configuration (it can be automated on the host though) where with ceph-disk
you just pass a block device and that's it.
from ceph-container.
I'd like to make sure its options (filesystem and journal types) are exposed, but if you're confident in it, I'm fine with using it.
I certainly agree regarding the preconfiguration, but I do think that should still be an allowed setup. I don't think that's a mutually-exclusive feature; we just need to tighten up the detection mechanism. The OSD store has everything necessary in it in a nicely-readable format. We just need to use it.
from ceph-container.
I agree. Operators shouldn't be forced to use --privileged
thus we need to propose different ways of setting up the OSD. At the moment I can think of two:
- keep the current format where we need to prepare the OSD disk, filesystem, mount, create and expose the OSD directory
- use
ceph-disk
from ceph-container.
Related Issues (20)
- /opt/ceph-container/bin/osd_disk_prepare.sh: line 46: ceph-disk: command not found HOT 7
- Need fix for CVE-2022-21797 HOT 4
- Bootstrap process hangs up for hours HOT 2
- not found /var/lib/ceph/osd/ceph-2//keyring HOT 2
- dnf update in ceph v18 container image is failing HOT 2
- RocksDBStore - cannot set permissions: Operation not permitted HOT 2
- /usr/bin/ceph: stderr Error EIO: Module 'cephadm' has experienced an error and cannot handle commands: ContainerInspectInfo HOT 2
- add ceph-mgr-callhome to IBM downstream container HOT 2
- cephadm has failed ContainerInspectInfo HOT 2
- populate_kvstore error HOT 1
- rename and repurpose this repository HOT 19
- reef builds don't work HOT 12
- Question about osd directory HOT 2
- docker-compose setup dose not run as expected mds and osd HOT 3
- With new quay.io/ceph/ceph:v16 image, ceph-csi meet segfault error HOT 2
- ceph/demo container does not expose mon port 3300 HOT 2
- Instructions for getting the zabbix template to work with rook-ceph HOT 2
- smartctl could not scrape metrics from HPE Smart Array in HBA mode HOT 2
- support VERSION=8 for contrib/compose-rhcs.sh
- Include cephfs-shell HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ceph-container.