Projet

Général

Profil

Management Cluster Ceph » Historique » Version 2

Mehdi Abaakouk, 04/11/2015 12:14

1 1 Mehdi Abaakouk
h1. Management Cluster Ceph
2 1 Mehdi Abaakouk
3 2 Mehdi Abaakouk
h2. Ajout d'un OSD classique
4 2 Mehdi Abaakouk
5 2 Mehdi Abaakouk
<pre>
6 2 Mehdi Abaakouk
$ ceph-disk prepare --zap-disk --cluster-uuid 1fe74663-8dfa-486c-bb80-3bd94c90c967 --fs-type=xfs /dev/sdX
7 2 Mehdi Abaakouk
$ smartctl --smart=on /dev/sdX  # Pour le monitoring.
8 2 Mehdi Abaakouk
</pre>
9 2 Mehdi Abaakouk
10 2 Mehdi Abaakouk
Pour un HDD: 
11 2 Mehdi Abaakouk
<pre>
12 2 Mehdi Abaakouk
$ ceph osd crush add osd.<ID> 0 root=default host=g3
13 2 Mehdi Abaakouk
</pre>
14 2 Mehdi Abaakouk
15 2 Mehdi Abaakouk
Pour un SSD:
16 2 Mehdi Abaakouk
<pre>
17 2 Mehdi Abaakouk
$ ceph osd crush add osd.<ID> 0 root=ssd host=g3-ssd
18 2 Mehdi Abaakouk
</pre>
19 2 Mehdi Abaakouk
20 2 Mehdi Abaakouk
Ensuite, autoriser Ceph à mettre des data dessus:
21 2 Mehdi Abaakouk
22 2 Mehdi Abaakouk
<pre>
23 2 Mehdi Abaakouk
$ /root/tools/ceph-reweight-osds.sh osd.<ID>
24 2 Mehdi Abaakouk
</pre>
25 2 Mehdi Abaakouk
26 2 Mehdi Abaakouk
27 2 Mehdi Abaakouk
h2. Ajout d'un OSD qui partage le SSD avec l'OS
28 2 Mehdi Abaakouk
29 2 Mehdi Abaakouk
30 2 Mehdi Abaakouk
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
31 2 Mehdi Abaakouk
mais pour le SSD de tetaneutral qui a aussi l'OS, voici la méthode
32 2 Mehdi Abaakouk
33 2 Mehdi Abaakouk
Création manuelle de la partition de data ceph /dev/sda2 ici
34 2 Mehdi Abaakouk
<pre>
35 2 Mehdi Abaakouk
apt-get install partprobe
36 2 Mehdi Abaakouk
fdisk /dev/sda
37 2 Mehdi Abaakouk
38 2 Mehdi Abaakouk
n
39 2 Mehdi Abaakouk
p
40 2 Mehdi Abaakouk
<enter>
41 2 Mehdi Abaakouk
<enter>
42 2 Mehdi Abaakouk
<enter>
43 2 Mehdi Abaakouk
<enter>
44 2 Mehdi Abaakouk
w
45 2 Mehdi Abaakouk
46 2 Mehdi Abaakouk
$ partprobe
47 2 Mehdi Abaakouk
</pre>
48 2 Mehdi Abaakouk
49 2 Mehdi Abaakouk
On prepare le disk comme normalement
50 2 Mehdi Abaakouk
51 2 Mehdi Abaakouk
<pre>
52 2 Mehdi Abaakouk
ceph-disk prepare --fs-type=xfs --cluster-uuid 1fe74663-8dfa-486c-bb80-3bd94c90c967 /dev/sda2
53 2 Mehdi Abaakouk
ceph-disk activate /dev/sda2
54 2 Mehdi Abaakouk
</pre>
55 2 Mehdi Abaakouk
Le disque n'étant pas utilisé uniquement par ceph, le service ceph ne le chargera pas automatiquement:
56 2 Mehdi Abaakouk
Il faut ajouter le nom du device dans le /etc/rc.local pour qu'il lance:
57 2 Mehdi Abaakouk
58 2 Mehdi Abaakouk
<pre>
59 2 Mehdi Abaakouk
ceph-disk activate /dev/sda2
60 2 Mehdi Abaakouk
</pre>
61 2 Mehdi Abaakouk
62 2 Mehdi Abaakouk
h2. Suppression d'un OSD:
63 2 Mehdi Abaakouk
64 2 Mehdi Abaakouk
<pre>
65 2 Mehdi Abaakouk
name="osd.2" 
66 2 Mehdi Abaakouk
ceph osd out ${name}
67 2 Mehdi Abaakouk
/etc/init.d/ceph stop ${name}
68 2 Mehdi Abaakouk
ceph osd crush remove ${name}
69 2 Mehdi Abaakouk
ceph auth del ${name}
70 2 Mehdi Abaakouk
ceph osd rm ${name}
71 2 Mehdi Abaakouk
ceph osd tree
72 2 Mehdi Abaakouk
</pre>
73 2 Mehdi Abaakouk
74 2 Mehdi Abaakouk
Il 
75 2 Mehdi Abaakouk
76 1 Mehdi Abaakouk
h2. Remplacement à froid d'un tier cache:
77 1 Mehdi Abaakouk
78 1 Mehdi Abaakouk
upstream  doc: http://docs.ceph.com/docs/master/rados/operations/cache-tiering/
79 1 Mehdi Abaakouk
80 1 Mehdi Abaakouk
<pre>
81 1 Mehdi Abaakouk
ceph osd tier cache-mode ec8p2c forward
82 1 Mehdi Abaakouk
rados -p ec8p2c cache-flush-evict-all
83 1 Mehdi Abaakouk
ceph osd tier remove-overlay ec8p2
84 1 Mehdi Abaakouk
ceph osd tier remove ec8p2 ec8p2c
85 1 Mehdi Abaakouk
86 1 Mehdi Abaakouk
rados rmpool ec8p2c ec8p2c  --yes-i-really-really-mean-ita
87 1 Mehdi Abaakouk
ceph osd pool create ec8p2c 128 128 replicated
88 1 Mehdi Abaakouk
89 1 Mehdi Abaakouk
ceph osd tier add ec8p2 ec8p2c
90 1 Mehdi Abaakouk
ceph osd tier cache-mode ec8p2c writeback
91 1 Mehdi Abaakouk
ceph osd tier set-overlay ec8p2 ec8p2c
92 1 Mehdi Abaakouk
93 1 Mehdi Abaakouk
ceph osd pool set ec8p2c size 3
94 1 Mehdi Abaakouk
ceph osd pool set ec8p2c min_size 2
95 1 Mehdi Abaakouk
ceph osd pool set ec8p2c hit_set_type bloom
96 1 Mehdi Abaakouk
97 1 Mehdi Abaakouk
ceph osd pool set ec8p2c hit_set_count 1
98 1 Mehdi Abaakouk
ceph osd pool set ec8p2c hit_set_period 3600
99 1 Mehdi Abaakouk
ceph osd pool set ec8p2c target_max_bytes 200000000000
100 1 Mehdi Abaakouk
ceph osd pool set ec8p2c target_max_objects 10000000
101 1 Mehdi Abaakouk
ceph osd pool set ec8p2c cache_target_dirty_ratio 0.4
102 1 Mehdi Abaakouk
ceph osd pool set ec8p2c cache_target_full_ratio 0.8
103 1 Mehdi Abaakouk
</pre>