1CEPHADM(8) Ceph CEPHADM(8)
2
3
4
6 cephadm - manage the local cephadm host
7
9 cephadm** [-h] [--image IMAGE] [--docker] [--data-dir DATA_DIR]
10 [--log-dir LOG_DIR] [--logrotate-dir LOGROTATE_DIR]
11 [--unit-dir UNIT_DIR] [--verbose] [--timeout TIMEOUT]
12 [--retry RETRY] [--no-container-init]
13 {version,pull,inspect-image,ls,list-networks,adopt,rm-daemon,rm-cluster,run,shell,enter,ceph-volume,unit,logs,bootstrap,deploy,check-host,prepare-host,add-repo,rm-repo,install}
14 ...
15
16 cephadm pull
17
18 cephadm inspect-image
19
20 cephadm ls [-h] [--no-detail] [--legacy-dir LEGACY_DIR]
21
22 cephadm list-networks
23
24 cephadm adopt [-h] --name NAME --style STYLE [--cluster CLUSTER]
25 [--legacy-dir LEGACY_DIR] [--config-json CONFIG_JSON]
26 [--skip-firewalld] [--skip-pull]
27
28 cephadm rm-daemon [-h] --name NAME --fsid FSID [--force]
29 [--force-delete-data]
30
31 cephadm rm-cluster [-h] --fsid FSID [--force]
32
33 cephadm run [-h] --name NAME --fsid FSID
34
35 cephadm shell [-h] [--fsid FSID] [--name NAME] [--config CONFIG]
36 [--keyring KEYRING] --mount [MOUNT [MOUNT ...]] [--env ENV]
37 [--] [command [command ...]]
38
39 cephadm enter [-h] [--fsid FSID] --name NAME [command [command ...]]
40
41 cephadm ceph-volume [-h] [--fsid FSID] [--config-json CONFIG_JSON]
42 [--config CONFIG] [--keyring KEYRING]
43 command [command ...]
44
45 cephadm unit [-h] [--fsid FSID] --name NAME command
46
47 cephadm logs [-h] [--fsid FSID] --name NAME [command [command ...]]
48
49 cephadm bootstrap [-h] [--config CONFIG] [--mon-id MON_ID]
50 [--mon-addrv MON_ADDRV] [--mon-ip MON_IP]
51 [--mgr-id MGR_ID] [--fsid FSID]
52 [--output-dir OUTPUT_DIR]
53 [--output-keyring OUTPUT_KEYRING]
54 [--output-config OUTPUT_CONFIG]
55 [--output-pub-ssh-key OUTPUT_PUB_SSH_KEY]
56 [--skip-ssh]
57 [--initial-dashboard-user INITIAL_DASHBOARD_USER]
58 [--initial-dashboard-password INITIAL_DASHBOARD_PASSWORD]
59 [--ssl-dashboard-port SSL_DASHBOARD_PORT]
60 [--dashboard-key DASHBOARD_KEY]
61 [--dashboard-crt DASHBOARD_CRT]
62 [--ssh-config SSH_CONFIG]
63 [--ssh-private-key SSH_PRIVATE_KEY]
64 [--ssh-public-key SSH_PUBLIC_KEY]
65 [--ssh-user SSH_USER] [--skip-mon-network]
66 [--skip-dashboard] [--dashboard-password-noupdate]
67 [--no-minimize-config] [--skip-ping-check]
68 [--skip-pull] [--skip-firewalld] [--allow-overwrite]
69 [--allow-fqdn-hostname] [--skip-prepare-host]
70 [--orphan-initial-daemons] [--skip-monitoring-stack]
71 [--apply-spec APPLY_SPEC]
72 [--registry-url REGISTRY_URL]
73 [--registry-username REGISTRY_USERNAME]
74 [--registry-password REGISTRY_PASSWORD]
75 [--registry-json REGISTRY_JSON]
76
77 cephadm deploy [-h] --name NAME --fsid FSID [--config CONFIG]
78 [--config-json CONFIG_JSON] [--keyring KEYRING]
79 [--key KEY] [--osd-fsid OSD_FSID] [--skip-firewalld]
80 [--tcp-ports TCP_PORTS] [--reconfig] [--allow-ptrace]
81
82 cephadm check-host [-h] [--expect-hostname EXPECT_HOSTNAME]
83
84 cephadm prepare-host
85
86 cephadm add-repo [-h] [--release RELEASE] [--version VERSION]
87 [--dev DEV] [--dev-commit DEV_COMMIT]
88 [--gpg-url GPG_URL] [--repo-url REPO_URL]
89
90 cephadm rm-repo
91
92 cephadm install [-h] [packages [packages ...]]
93
94 cephadm registry-login [-h] [--registry-url REGISTRY_URL]
95 [--registry-username REGISTRY_USERNAME]
96 [--registry-password REGISTRY_PASSWORD]
97 [--registry-json REGISTRY_JSON] [--fsid FSID]
98
99
101 cephadm is a command line tool to manage the local host for the cephadm
102 orchestrator.
103
104 It provides commands to investigate and modify the state of the current
105 host.
106
107 cephadm is not required on all hosts, but useful when investigating a
108 particular daemon.
109
111 --image IMAGE
112 container image. Can also be set via the "CEPHADM_IMAGE" env var
113 (default: None)
114
115 --docker
116 use docker instead of podman (default: False)
117
118 --log-dir LOG_DIR
119 base directory for daemon logs (default:.. option::
120 /var/log/ceph)
121
122 --logrotate-dir LOGROTATE_DIR
123 location of logrotate configuration files (default: /etc/logro‐
124 tate.d)
125
126 --unit-dir UNIT_DIR
127 base directory for systemd units (default: /etc/systemd/system)
128
129 --verbose, -v
130 Show debug-level log messages (default: False)
131
132 --timeout TIMEOUT
133 timeout in seconds (default: None)
134
135 --retry RETRY
136 max number of retries (default: 10)
137
138 --no-container-init
139 do not run podman/docker with --init (default: False)
140
142 add-repo
143 configure local package repository to also include the ceph repository.
144
145 Arguments:
146
147 • [--release RELEASE] use latest version of a named release
148 (e.g., octopus)
149
150 • [--version VERSION] use specific upstream version (x.y.z)
151
152 • [--dev DEV] use specified bleeding edge build from git
153 branch or tag
154
155 • [--dev-commit DEV_COMMIT] use specified bleeding edge build from git
156 commit
157
158 • [--gpg-url GPG_URL] specify alternative GPG key location
159
160 • [--repo-url REPO_URL] specify alternative repo location
161
162 adopt
163 Adopt a daemon deployed with a different deployment tool.
164
165 Arguments:
166
167 • [--name NAME, -n NAME] daemon name (type.id)
168
169 • [--style STYLE] deployment style (legacy, ...)
170
171 • [--cluster CLUSTER] cluster name
172
173 • [--legacy-dir LEGACY_DIR] base directory for legacy daemon data
174
175 • [--config-json CONFIG_JSON] Additional configuration information in
176 JSON format
177
178 • [--skip-firewalld] Do not configure firewalld
179
180 • [--skip-pull] do not pull the latest image before
181 adopting
182
183 bootstrap
184 Bootstrap a cluster on the local host. It deploys a MON and a MGR and
185 then also automatically deploys the monitoring stack on this host (see
186 --skip-monitoring-stack) and calls ceph orch host add $(hostname) (see
187 --skip-ssh).
188
189 Arguments:
190
191 • [--config CONFIG, -c CONFIG] ceph conf file to incorporate
192
193 • [--mon-id MON_ID] mon id (default: local hostname)
194
195 • [--mon-addrv MON_ADDRV] mon IPs (e.g., [v2:locali‐
196 paddr:3300,v1:localipaddr:6789])
197
198 • [--mon-ip MON_IP] mon IP
199
200 • [--mgr-id MGR_ID] mgr id (default: randomly generated)
201
202 • [--fsid FSID] cluster FSID
203
204 • [--output-dir OUTPUT_DIR] directory to write config, keyring,
205 and pub key files
206
207 • [--output-keyring OUTPUT_KEYRING] location to write keyring file with
208 new cluster admin and mon keys
209
210 • [--output-config OUTPUT_CONFIG] location to write conf file to con‐
211 nect to new cluster
212
213 • [--output-pub-ssh-key OUTPUT_PUB_SSH_KEY] location to write the clus‐
214 ter's public SSH key
215
216 • [--skip-ssh skip setup of ssh key on local host
217
218 • [--initial-dashboard-user INITIAL_DASHBOARD_USER] Initial user for
219 the dashboard
220
221 • [--initial-dashboard-password INITIAL_DASHBOARD_PASSWORD] Initial
222 password for the initial dashboard user
223
224 • [--ssl-dashboard-port SSL_DASHBOARD_PORT] Port number used to connect
225 with dashboard using SSL
226
227 • [--dashboard-key DASHBOARD_KEY] Dashboard key
228
229 • [--dashboard-crt DASHBOARD_CRT] Dashboard certificate
230
231 • [--ssh-config SSH_CONFIG] SSH config
232
233 • [--ssh-private-key SSH_PRIVATE_KEY] SSH private key
234
235 • [--ssh-public-key SSH_PUBLIC_KEY] SSH public key
236
237 • [--ssh-user SSH_USER] set user for SSHing to cluster hosts,
238 passwordless sudo will be needed for non-root users'
239
240 • [--skip-mon-network] set mon public_network based on boot‐
241 strap mon ip
242
243 • [--skip-dashboard] do not enable the Ceph Dashboard
244
245 • [--dashboard-password-noupdate] stop forced dashboard password change
246
247 • [--no-minimize-config] do not assimilate and minimize the
248 config file
249
250 • [--skip-ping-check] do not verify that mon IP is pingable
251
252 • [--skip-pull] do not pull the latest image before
253 bootstrapping
254
255 • [--skip-firewalld] Do not configure firewalld
256
257 • [--allow-overwrite] allow overwrite of existing --out‐
258 put-* config/keyring/ssh files
259
260 • [--allow-fqdn-hostname] allow hostname that is fully-quali‐
261 fied (contains ".")
262
263 • [--skip-prepare-host] Do not prepare host
264
265 • [--orphan-initial-daemons] Do not create initial mon, mgr, and
266 crash service specs
267
268 • [--skip-monitoring-stack] Do not automatically provision moni‐
269 toring stack] (prometheus, grafana, alertmanager, node-exporter)
270
271 • [--apply-spec APPLY_SPEC] Apply cluster spec after bootstrap
272 (copy ssh key, add hosts and apply services)
273
274 • [--registry-url REGISTRY_URL] url of custom registry to login to.
275 e.g. docker.io, quay.io
276
277 • [--registry-username REGISTRY_USERNAME] username of account to login
278 to on custom registry
279
280 • [--registry-password REGISTRY_PASSWORD] password of account to login
281 to on custom registry
282
283 • [--registry-json REGISTRY_JSON] JSON file containing registry login
284 info (see registry-login command documentation)
285
286 ceph-volume
287 Run ceph-volume inside a container:
288
289 cephadm ceph-volume inventory
290
291 Positional arguments: * [command] command
292
293 Arguments:
294
295 • [--fsid FSID] cluster FSID
296
297 • [--config-json CONFIG_JSON] JSON file with config and
298 (client.bootrap-osd) key
299
300 • [--config CONFIG, -c CONFIG] ceph conf file
301
302 • [--keyring KEYRING, -k KEYRING] ceph.keyring to pass through to the
303 container
304
305 check-host
306 check host configuration to be suitable for a Ceph cluster.
307
308 Arguments:
309
310 • [--expect-hostname EXPECT_HOSTNAME] Check that hostname matches an
311 expected value
312
313 deploy
314 deploy a daemon on the local host. Used by the orchestrator CLI:
315
316 cephadm shell -- ceph orch apply <type> ...
317
318 Arguments:
319
320 • [--name NAME] daemon name (type.id)
321
322 • [--fsid FSID] cluster FSID
323
324 • [--config CONFIG, -c CONFIG] config file for new daemon
325
326 • [--config-json CONFIG_JSON] Additional configuration information in
327 JSON format
328
329 • [--keyring KEYRING] keyring for new daemon
330
331 • [--key KEY] key for new daemon
332
333 • [--osd-fsid OSD_FSID] OSD uuid, if creating an OSD container
334
335 • [--skip-firewalld] Do not configure firewalld
336
337 • [--tcp-ports List of tcp ports to open in the host
338 firewall
339
340 • [--reconfig] Reconfigure a previously deployed daemon
341
342 • [--allow-ptrace] Allow SYS_PTRACE on daemon container
343
344 enter
345 Run an interactive shell inside a running daemon container:
346
347 cephadm enter --name mgr.myhost.ysubfo
348
349 Positional arguments: * [command] command
350
351 Arguments:
352
353 • [--fsid FSID] cluster FSID
354
355 • [--name NAME, -n NAME] daemon name (type.id)
356
357 install
358 install ceph package(s)
359
360 Positional arguments:
361
362 • [packages] packages
363
364 inspect-image
365 inspect local ceph container image.
366
367 list-networks
368 list IP networks
369
370 ls
371 list daemon instances known to cephadm on this host:
372
373 $ cephadm ls
374 [
375 {
376 "style": "cephadm:v1",
377 "name": "mgr.storage-14b-1.ysubfo",
378 "fsid": "5110cb22-8332-11ea-9148-0894ef7e8bdc",
379 "enabled": true,
380 "state": "running",
381 "container_id": "8562de72370a3836473ecfff8a22c9ccdd99815386b4692a2b30924fb5493c44",
382 "container_image_name": "docker.io/ceph/ceph:v15",
383 "container_image_id": "bc83a388465f0568dab4501fb7684398dca8b50ca12a342a57f21815721723c2",
384 "version": "15.2.1",
385 "started": "2020-04-21T01:16:41.831456",
386 "created": "2020-04-21T01:16:41.775024",
387 "deployed": "2020-04-21T01:16:41.415021",
388 "configured": "2020-04-21T01:16:41.775024"
389 },
390 ...
391
392 Arguments:
393
394 • [--no-detail] Do not include daemon status
395
396 • [--legacy-dir LEGACY_DIR] Base directory for legacy daemon data
397
398 logs
399 print journald logs for a daemon container:
400
401 cephadm logs --name mgr.myhost.ysubfo
402
403 This is similar to:
404
405 journalctl -u mgr.myhost.ysubfo
406
407 Can also specify additional journal arguments:
408
409 cephadm logs --name mgr.myhost.ysubfo -- -n 20 # last 20 lines
410 cephadm logs --name mgr.myhost.ysubfo -- -f # follow the log
411
412 Positional arguments:
413
414 • [command] command (optional)
415
416 Arguments:
417
418 • [--fsid FSID] cluster FSID
419
420 • [--name NAME, -n NAME] daemon name (type.id)
421
422 prepare-host
423 prepare a host for cephadm use
424
425 Arguments:
426
427 • [--expect-hostname EXPECT_HOSTNAME] Set hostname
428
429 pull
430 Pull the ceph image:
431
432 cephadm pull
433
434 registry-login
435 Give cephadm login information for an authenticated registry (url,
436 username and password). Cephadm will attempt to log the calling host
437 into that registry:
438
439 cephadm registry-login --registry-url [REGISTRY_URL] --registry-username [USERNAME]
440 --registry-password [PASSWORD]
441
442 Can also use a JSON file containing the login info formatted as:
443
444 {
445 "url":"REGISTRY_URL",
446 "username":"REGISTRY_USERNAME",
447 "password":"REGISTRY_PASSWORD"
448 }
449
450 and turn it in with command:
451
452 cephadm registry-login --registry-json [JSON FILE]
453
454 Arguments:
455
456 • [--registry-url REGISTRY_URL] url of registry to login to. e.g.
457 docker.io, quay.io
458
459 • [--registry-username REGISTRY_USERNAME] username of account to login
460 to on registry
461
462 • [--registry-password REGISTRY_PASSWORD] password of account to login
463 to on registry
464
465 • [--registry-json REGISTRY_JSON] JSON file containing login info for
466 custom registry
467
468 • [--fsid FSID] cluster FSID
469
470 rm-daemon
471 Remove a specific daemon instance
472
473 Arguments:
474
475 • [--name NAME, -n NAME] daemon name (type.id)
476
477 • [--fsid FSID] cluster FSID
478
479 • [--force] proceed, even though this may destroy valu‐
480 able data
481
482 • [--force-delete-data] delete valuable daemon data instead of making
483 a backup
484
485 rm-cluster
486 remove all daemons for a cluster
487
488 Arguments:
489
490 • [--fsid FSID] cluster FSID
491
492 • [--force] proceed, even though this may destroy valuable data
493
494 rm-repo
495 remove package repository configuration
496
497 run
498 run a ceph daemon, in a container, in the foreground
499
500 Arguments:
501
502 • [--name NAME, -n NAME] daemon name (type.id)
503
504 • [--fsid FSID] cluster FSID
505
506 shell
507 Run an interactive shell:
508
509 cephadm shell
510
511 Or one specific command inside a container:
512
513 cephadm shell -- ceph orch ls
514
515 Positional arguments:
516
517 • [command] command (optional)
518
519 Arguments:
520
521 • [--fsid FSID] cluster FSID
522
523 • [--name NAME, -n NAME] daemon name (type.id)
524
525 • [--config CONFIG, -c CONFIG] ceph.conf to pass through to the con‐
526 tainer
527
528 • [--keyring KEYRING, -k KEYRING] ceph.keyring to pass through to the
529 container
530
531 • [--mount MOUNT, -m MOUNT] mount a file or directory under /mnt
532 in the container
533
534 • [--env ENV, -e ENV] set environment variable
535
536 unit
537 Operate on the daemon's systemd unit.
538
539 Positional arguments:
540
541 • [command] systemd command (start, stop, restart, en‐
542 able, disable, ...)
543
544 Arguments:
545
546 • [--fsid FSID] cluster FSID
547
548 • [--name NAME, -n NAME] daemon name (type.id)
549
551 cephadm is part of Ceph, a massively scalable, open-source, distributed
552 storage system. Please refer to the documentation at
553 http://docs.ceph.com/ for more information.
554
556 ceph-volume(8),
557
559 2010-2021, Inktank Storage, Inc. and contributors. Licensed under Cre‐
560 ative Commons Attribution Share Alike 3.0 (CC-BY-SA-3.0)
561
562
563
564
565dev May 13, 2021 CEPHADM(8)