Management Cluster Ceph » Historique » Version 4
Version 3 (Mehdi Abaakouk, 05/11/2015 16:47) → Version 4/56 (Mehdi Abaakouk, 06/11/2015 06:54)
h1. Management Cluster Ceph
h2. Ajout d'un OSD classique
<pre>
$ ceph-disk prepare --zap-disk --cluster-uuid 1fe74663-8dfa-486c-bb80-3bd94c90c967 --fs-type=xfs /dev/sdX
$ smartctl --smart=on /dev/sdX # Pour le monitoring.
</pre>
Pour un HDD:
<pre>
$ ceph osd crush add osd.<ID> 0 root=default host=g3
</pre>
Pour un SSD:
<pre>
$ ceph osd crush add osd.<ID> 0 root=ssd host=g3-ssd
</pre>
Ensuite, autoriser Ceph à mettre des data dessus:
<pre>
$ /root/tools/ceph-reweight-osds.sh osd.<ID>
</pre>
h2. Ajout d'un OSD qui partage le SSD avec l'OS
En général avec ceph, on donne un disque, ceph créé 2 partitions une pour le journal de l'OSD, l'autre pour les datas
mais pour le SSD de tetaneutral qui a aussi l'OS, voici la méthode
Création manuelle de la partition de data ceph /dev/sda2 ici
<pre>
apt-get install partprobe
fdisk /dev/sda
n
p
<enter>
<enter>
<enter>
<enter>
w
$ partprobe
</pre>
On prepare le disk comme normalement
<pre>
ceph-disk prepare --fs-type=xfs --cluster-uuid 1fe74663-8dfa-486c-bb80-3bd94c90c967 /dev/sda2
ceph-disk activate /dev/sda2
</pre>
Le disque n'étant pas utilisé uniquement par ceph, le service ceph ne le chargera pas automatiquement:
Il faut ajouter le nom du device dans le /etc/rc.local pour qu'il lance:
<pre>
ceph-disk activate /dev/sda2
</pre>
h2. Suppression d'un OSD:
<pre>
name="osd.2"
ceph osd out ${name}
stop ceph-osd id=${name#osd.} # ou sous debian: /etc/init.d/ceph stop ${name}
ceph osd crush remove ${name}
ceph auth del ${name}
ceph osd rm ${name}
ceph osd tree
</pre>
h2. Remplacement à froid d'un tier cache:
upstream doc: http://docs.ceph.com/docs/master/rados/operations/cache-tiering/
<pre>
ceph osd tier cache-mode ec8p2c forward
rados -p ec8p2c cache-flush-evict-all
ceph osd tier remove-overlay ec8p2
ceph osd tier remove ec8p2 ec8p2c
rados rmpool ec8p2c ec8p2c --yes-i-really-really-mean-ita
ceph osd pool create ec8p2c 128 128 replicated
ceph osd tier add ec8p2 ec8p2c
ceph osd tier cache-mode ec8p2c writeback
ceph osd tier set-overlay ec8p2 ec8p2c
ceph osd pool set ec8p2c size 3
ceph osd pool set ec8p2c min_size 2
ceph osd pool set ec8p2c hit_set_type bloom
ceph osd pool set ec8p2c hit_set_count 1
ceph osd pool set ec8p2c hit_set_period 3600
ceph osd pool set ec8p2c target_max_bytes 200000000000
ceph osd pool set ec8p2c target_max_objects 10000000
ceph osd pool set ec8p2c cache_target_dirty_ratio 0.4
ceph osd pool set ec8p2c cache_target_full_ratio 0.8
</pre>
h2. Ajout d'un OSD classique
<pre>
$ ceph-disk prepare --zap-disk --cluster-uuid 1fe74663-8dfa-486c-bb80-3bd94c90c967 --fs-type=xfs /dev/sdX
$ smartctl --smart=on /dev/sdX # Pour le monitoring.
</pre>
Pour un HDD:
<pre>
$ ceph osd crush add osd.<ID> 0 root=default host=g3
</pre>
Pour un SSD:
<pre>
$ ceph osd crush add osd.<ID> 0 root=ssd host=g3-ssd
</pre>
Ensuite, autoriser Ceph à mettre des data dessus:
<pre>
$ /root/tools/ceph-reweight-osds.sh osd.<ID>
</pre>
h2. Ajout d'un OSD qui partage le SSD avec l'OS
En général avec ceph, on donne un disque, ceph créé 2 partitions une pour le journal de l'OSD, l'autre pour les datas
mais pour le SSD de tetaneutral qui a aussi l'OS, voici la méthode
Création manuelle de la partition de data ceph /dev/sda2 ici
<pre>
apt-get install partprobe
fdisk /dev/sda
n
p
<enter>
<enter>
<enter>
<enter>
w
$ partprobe
</pre>
On prepare le disk comme normalement
<pre>
ceph-disk prepare --fs-type=xfs --cluster-uuid 1fe74663-8dfa-486c-bb80-3bd94c90c967 /dev/sda2
ceph-disk activate /dev/sda2
</pre>
Le disque n'étant pas utilisé uniquement par ceph, le service ceph ne le chargera pas automatiquement:
Il faut ajouter le nom du device dans le /etc/rc.local pour qu'il lance:
<pre>
ceph-disk activate /dev/sda2
</pre>
h2. Suppression d'un OSD:
<pre>
name="osd.2"
ceph osd out ${name}
stop ceph-osd id=${name#osd.} # ou sous debian: /etc/init.d/ceph stop ${name}
ceph osd crush remove ${name}
ceph auth del ${name}
ceph osd rm ${name}
ceph osd tree
</pre>
h2. Remplacement à froid d'un tier cache:
upstream doc: http://docs.ceph.com/docs/master/rados/operations/cache-tiering/
<pre>
ceph osd tier cache-mode ec8p2c forward
rados -p ec8p2c cache-flush-evict-all
ceph osd tier remove-overlay ec8p2
ceph osd tier remove ec8p2 ec8p2c
rados rmpool ec8p2c ec8p2c --yes-i-really-really-mean-ita
ceph osd pool create ec8p2c 128 128 replicated
ceph osd tier add ec8p2 ec8p2c
ceph osd tier cache-mode ec8p2c writeback
ceph osd tier set-overlay ec8p2 ec8p2c
ceph osd pool set ec8p2c size 3
ceph osd pool set ec8p2c min_size 2
ceph osd pool set ec8p2c hit_set_type bloom
ceph osd pool set ec8p2c hit_set_count 1
ceph osd pool set ec8p2c hit_set_period 3600
ceph osd pool set ec8p2c target_max_bytes 200000000000
ceph osd pool set ec8p2c target_max_objects 10000000
ceph osd pool set ec8p2c cache_target_dirty_ratio 0.4
ceph osd pool set ec8p2c cache_target_full_ratio 0.8
</pre>