1CEPHADM(8)                           Ceph                           CEPHADM(8)
2
3
4

NAME

6       cephadm - manage the local cephadm host
7

SYNOPSIS

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

DESCRIPTION

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

OPTIONS

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

COMMANDS

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

AVAILABILITY

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

SEE ALSO

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)
Impressum