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