# Ceph Ce fichier explique les tests et etapes effectue avec ceph. + Déployer une conf minimal avec ceph et `services.ceph.global` deploye. + Creer une clé pour le cluster ```bash sudo ceph-authtool --create-keyring /tmp/ceph.mon.keyring --gen-key -n mon. --cap mon 'allow *' ``` + Creer un client admin ```bash sudo ceph-authtool --create-keyring /etc/ceph/ceph.client.admin.keyring --gen-key -n client.admin --cap mon 'allow *' --cap osd 'allow *' --cap mds 'allow *' --cap mgr 'allow *' ``` + Creer un bootstrap osd ```bash sudo ceph-authtool --create-keyring /var/lib/ceph/bootstrap-osd/ceph.keyring --gen-key -n client.bootstrap-osd --cap mon 'profile bootstrap-osd' --cap mgr 'allow r' ``` + On ajoute les cle generer au keyring ```bash sudo ceph-authtool /tmp/ceph.mon.keyring --import-keyring /etc/ceph/ceph.client.admin.keyring sudo ceph-authtool /tmp/ceph.mon.keyring --import-keyring /var/lib/ceph/bootstrap-osd/ceph.keyring ``` (ca copie juste les deux clé précédente dans `/tmp/ceph.mon.keyring`) + on donne le keyring a l'user ceph ```bash sudo chown ceph:ceph /tmp/ceph.mon.keyring ``` + Créer une monitor map ```bash monmaptool --create --add {hostname} {ip-address} --fsid {uuid} /tmp/monmap ``` + Créer un dossier pour le monitor ```bash sudo mkdir /var/lib/ceph/mon/{cluster-name}-{hostname} ``` + On ajoute la monitor map et le keyring au monitor ```bash sudo -u ceph ceph-mon [--cluster {cluster-name}] --mkfs -i {hostname} --monmap /tmp/monmap --keyring /tmp/ceph.mon.keyring ``` On check si le service monitor start bien Pour voir le status du cluster ```bash sudo ceph -s ``` # Dashboard - check si le module dashboard est activé ``` sudo ceph mgr module ls ``` - pour activer si pas activer ```bash ceph mgr module enable dashboard ``` Dans un premier temps pour le test j'ai desactiver le ssl : ```bash ceph config set mgr mgr/dashboard/ssl false ``` Pour voir sur quoi le dashboard ecoute (apres avoir desactive ssl) ```bash sudo ceph mgr services ``` Pour les user check https://docs.ceph.com/en/latest/mgr/dashboard/#username-and-password # OSD Pour créer un osd (attention de prendre le bon disque parce que ca supprime les données du disque) : ```bash sudo ceph-volume lvm create --data /dev/sdf --no-systemd ``` # Problèmes Si avec `ceph -s` vous avez : `1 monitors have not enabled msgr2`, activez le msgr2, afin que les vms proxmox puissent utiliser les disques : ```bash sudo ceph mon enable-msgr2 ``` `mons are allowing insecure global_id reclaim` alors ```bash ceph config set mon auth_allow_insecure_global_id_reclaim false ``` # Info - Monitor : c'est lui qui garde la map d'ou est quoi - Manager : il check si tout va bien, c'est lui qui a le dashboard - OSD : ca gere 1 disque physique # Proposition Architecture ## CephFS Il semble qu'il est préférable d'avoir 1 cephfs avec des sous répertoire. La raison principale est qu'il faut 1 mds/cephfs, et ca semble relativement gourmand en ressources. - cephfs - home-nounou - home-adh - mail - mirror > Note: on pourrait penser bouger le mirror vers du S3 ? ## RBD (raw block devices): - vm-adh - vm-nounou # Question en suspend - backup ? - postgresql - monitoring - il y a du prometheus et des dashboard grafana ca devrait le faire - user : - 1 user/"volume" ou 1user/host, autres ? - migration nfs -> cephfs ? # Plan Migration # Monitoring Les dashboard grafana viennent de : Pour activer prometheus (port 9283 par defaut) : ```bash ceph mgr module enable prometheus ```