Das Upgrade von Jewel nach Luminous hält doch den einen oder anderen Fallstrick parat. Vor allem, wenn wie unserem Fall das Upgrade per apt auf den Nodes selbst vorgenommen wird. 

Hier die Schritte im Einzelnen:

Die Nodes vorbereiten

ceph osd set sortbitwise
ceph set noout

Die Quellen für apt anpassen: 

sed -i 's/jewel/luminous/' /etc/apt/sources.list.d/ceph.list

Und das eigentliche Update durchführen:

apt-get update && apt-get dist-upgrade

Dann die MON Dienste neustarten

systemctl restart ceph-mon@<id>

Schließlich noch die OSDs

systemctl restart ceph-osd.target

Und schließlich mit 

ceph osd require-osd-release luminous
ceph osd crush tunables optimal
ceph osd unset noout

den Cluster für Luminous optimieren. 

Soweit alles ganz problemlos und genauch nach ceph-Manual

Was die offizielle ceph Dokumentation leider verschweigt, ist das auf diese Weise der neue Dienst ceph-mgr nicht installiert wird, was ceph health nicht nur mit der ungewohnten Meldung "no active mgr" quittiert, sondern auch sämtliche Pools als inexistent ausweist 

ceph status
  cluster:
    id:     046d138f-6d9a-4aaa-918b-142ea99cffbc
    health: HEALTH_WARN
            no active mgr
 
  services:
    mon: 3 daemons, quorum ham-nebula-01,ham-nebula-02,ham-nebula-03
    mgr: no daemons active
    osd: 3 osds: 3 up, 3 in
 
  data:
    pools:   0 pools, 0 pgs
    objects: 0 objects, 0 bytes
    usage:   0 kB used, 0 kB / 0 kB avail
    pgs:  

Nachdem der ersten Schrecken aus den Beinkleidern gewichen, erst mal über ceph-mgr kundig gemacht und wie in den Release Notes zu lesen ist der MGR Dienst seit Luminous ein notwendiger notwendiger Bestandteil geworden. 

Zuerst einfach auf allen MON Nodes das Paket ceph-mgr mit 

apt-get install ceph-mgr

nachinstallieren. Dann wird es etwas tricky: 

Für jeden MGR-Node einen Keyring generieren 

ceph auth get-or-create mgr.<mgr-name> mon 'allow profile mgr' osd 'allow *' mds 'allow *'
ceph auth get mgr.<mgr-name>

exported keyring for mgr.<mgr-name>

[mgr.<mgr-name>]

key = xxxxxxxxxxxxxxxxxxxxxxxx==
caps mds = "allow *"
caps mon = "allow profile mgr"
caps osd = "allow *"

und unter /var/lib/ceph/mgr/<cluster>-<mgr-name>/keyring speichern. Dabei muss der File-Eigentümer unbedingt auf ceph:ceph geändert werden. 

Wenn das erledigt ist kann der Dienst enabled und gestartet werden 

systemctl enable ceph-mgr@mgr3.service
systemctl start ceph-mgr@mgr3

Und als kleines Extra noch das nagelneue Dashboard in Betrieb nehmen mit 

ceph mgr module enable dashboard

Damit steht ein schickes Web Dashboard unter Port 7000 zur Verfügung

Ceph MGR Dashboard