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         [--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

DESCRIPTION

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

OPTIONS

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

COMMANDS

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

AVAILABILITY

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

SEE ALSO

565       ceph-volume(8),
566
568       2010-2022, 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                              Jun 22, 2022                       CEPHADM(8)
Impressum