Management Cluster Ceph » Historique » Version 24
Mehdi Abaakouk, 08/03/2017 10:16
1 | 10 | Mehdi Abaakouk | {{>toc}} |
---|---|---|---|
2 | 1 | Mehdi Abaakouk | |
3 | 10 | Mehdi Abaakouk | h1. Management Cluster Ceph |
4 | 9 | Mehdi Abaakouk | |
5 | 8 | Mehdi Abaakouk | h2. Liens |
6 | 8 | Mehdi Abaakouk | |
7 | 8 | Mehdi Abaakouk | * [[Openstack Management TTNN]] |
8 | 8 | Mehdi Abaakouk | * [[Openstack Setup VM pas dans openstack]] |
9 | 8 | Mehdi Abaakouk | * [[Openstack Installation nouvelle node du cluster]] |
10 | 8 | Mehdi Abaakouk | * [[Openstack Installation TTNN]] |
11 | 8 | Mehdi Abaakouk | * "Openstack tools for ttnn":/projects/git-tetaneutral-net/repository/openstack-tools |
12 | 8 | Mehdi Abaakouk | |
13 | 2 | Mehdi Abaakouk | h2. Ajout d'un OSD classique |
14 | 2 | Mehdi Abaakouk | |
15 | 22 | Mehdi Abaakouk | *DEBUT WORKAROUND BUG PREPARE* |
16 | 20 | Mehdi Abaakouk | |
17 | 24 | Mehdi Abaakouk | ID est le premier numero libre d'osd en partant de zero |
18 | 20 | Mehdi Abaakouk | |
19 | 20 | Mehdi Abaakouk | <pre> |
20 | 20 | Mehdi Abaakouk | mkdir /var/lib/ceph/osd/ceph-<ID> |
21 | 20 | Mehdi Abaakouk | chmod ceph:ceph /var/lib/ceph/osd/ceph-<ID> |
22 | 20 | Mehdi Abaakouk | </pre> |
23 | 1 | Mehdi Abaakouk | |
24 | 22 | Mehdi Abaakouk | *FIN WORKAROUND BUG PREPARE* |
25 | 21 | Mehdi Abaakouk | |
26 | 20 | Mehdi Abaakouk | |
27 | 2 | Mehdi Abaakouk | <pre> |
28 | 11 | Mehdi Abaakouk | $ ceph-disk prepare --zap-disk --cluster-uuid 1fe74663-8dfa-486c-bb80-3bd94c90c967 --fs-type=ext4 /dev/sdX |
29 | 2 | Mehdi Abaakouk | $ smartctl --smart=on /dev/sdX # Pour le monitoring. |
30 | 2 | Mehdi Abaakouk | </pre> |
31 | 2 | Mehdi Abaakouk | |
32 | 17 | Mehdi Abaakouk | Récuperer l'id avec (c'est celui tout en bas pas accroché à l'arbre): |
33 | 17 | Mehdi Abaakouk | |
34 | 17 | Mehdi Abaakouk | <pre> |
35 | 17 | Mehdi Abaakouk | ceph osd tree |
36 | 17 | Mehdi Abaakouk | </pre> |
37 | 17 | Mehdi Abaakouk | |
38 | 2 | Mehdi Abaakouk | Pour un HDD: |
39 | 1 | Mehdi Abaakouk | <pre> |
40 | 17 | Mehdi Abaakouk | $ ceph osd crush add osd.<ID> 0 root=default host=<host> |
41 | 2 | Mehdi Abaakouk | </pre> |
42 | 2 | Mehdi Abaakouk | |
43 | 1 | Mehdi Abaakouk | Pour un SSD: |
44 | 2 | Mehdi Abaakouk | <pre> |
45 | 17 | Mehdi Abaakouk | $ ceph osd crush add osd.<ID> 0 root=ssd host=<host>-ssd |
46 | 2 | Mehdi Abaakouk | </pre> |
47 | 2 | Mehdi Abaakouk | |
48 | 2 | Mehdi Abaakouk | Ensuite, autoriser Ceph à mettre des data dessus: |
49 | 2 | Mehdi Abaakouk | |
50 | 2 | Mehdi Abaakouk | <pre> |
51 | 2 | Mehdi Abaakouk | $ /root/tools/ceph-reweight-osds.sh osd.<ID> |
52 | 2 | Mehdi Abaakouk | </pre> |
53 | 2 | Mehdi Abaakouk | |
54 | 19 | Mehdi Abaakouk | |
55 | 19 | Mehdi Abaakouk | |
56 | 19 | Mehdi Abaakouk | h2. Vider un OSD: |
57 | 19 | Mehdi Abaakouk | |
58 | 19 | Mehdi Abaakouk | <pre> |
59 | 19 | Mehdi Abaakouk | vider_osp(){ |
60 | 19 | Mehdi Abaakouk | name="$1" |
61 | 19 | Mehdi Abaakouk | ceph osd out ${name} |
62 | 19 | Mehdi Abaakouk | ceph osd crush reweight ${name} 0 |
63 | 19 | Mehdi Abaakouk | ceph osd reweight ${name} 0 |
64 | 19 | Mehdi Abaakouk | } |
65 | 19 | Mehdi Abaakouk | </pre> |
66 | 19 | Mehdi Abaakouk | |
67 | 19 | Mehdi Abaakouk | h2. Suppression d'un OSD: |
68 | 19 | Mehdi Abaakouk | |
69 | 19 | Mehdi Abaakouk | <pre> |
70 | 19 | Mehdi Abaakouk | remove_osd(){ |
71 | 19 | Mehdi Abaakouk | name="$1" |
72 | 19 | Mehdi Abaakouk | ceph osd out ${name} |
73 | 19 | Mehdi Abaakouk | systemctl stop ceph-osd@${name#osd.} |
74 | 19 | Mehdi Abaakouk | ceph osd crush remove ${name} |
75 | 19 | Mehdi Abaakouk | ceph auth del ${name} |
76 | 19 | Mehdi Abaakouk | ceph osd rm ${name} |
77 | 19 | Mehdi Abaakouk | ceph osd tree |
78 | 19 | Mehdi Abaakouk | } |
79 | 19 | Mehdi Abaakouk | </pre> |
80 | 19 | Mehdi Abaakouk | |
81 | 19 | Mehdi Abaakouk | h2. Arrêter les IO de recovery: |
82 | 19 | Mehdi Abaakouk | |
83 | 19 | Mehdi Abaakouk | <pre> |
84 | 19 | Mehdi Abaakouk | ceph osd set nobackfill |
85 | 19 | Mehdi Abaakouk | ceph osd set norebalance |
86 | 19 | Mehdi Abaakouk | ceph osd set norecover |
87 | 19 | Mehdi Abaakouk | </pre> |
88 | 19 | Mehdi Abaakouk | |
89 | 23 | Mehdi Abaakouk | h2. Procédure d'upgrade |
90 | 23 | Mehdi Abaakouk | |
91 | 23 | Mehdi Abaakouk | + |
92 | 23 | Mehdi Abaakouk | _*/!\Lire la release note (contient très très souvent des trucs à faire en plus) /!\*_+ |
93 | 23 | Mehdi Abaakouk | |
94 | 23 | Mehdi Abaakouk | |
95 | 23 | Mehdi Abaakouk | h4. Upgrade des MONs: |
96 | 23 | Mehdi Abaakouk | |
97 | 23 | Mehdi Abaakouk | Mettre le flags noout: |
98 | 23 | Mehdi Abaakouk | |
99 | 23 | Mehdi Abaakouk | <pre>ceph osd set noout</pre> |
100 | 23 | Mehdi Abaakouk | |
101 | 23 | Mehdi Abaakouk | Sur chaque MONs (g1/g2/g3) |
102 | 23 | Mehdi Abaakouk | <pre> |
103 | 23 | Mehdi Abaakouk | apt-get upgrade -y |
104 | 23 | Mehdi Abaakouk | systemctl restart ceph-mon@g* |
105 | 23 | Mehdi Abaakouk | ceph -s |
106 | 23 | Mehdi Abaakouk | </pre> |
107 | 23 | Mehdi Abaakouk | |
108 | 23 | Mehdi Abaakouk | Note que seulement le node 'leader/master' va provoquer une micro/nano coupure, souvent c'est même invisible. |
109 | 23 | Mehdi Abaakouk | |
110 | 23 | Mehdi Abaakouk | h4. Upgrade des OSDs: |
111 | 23 | Mehdi Abaakouk | |
112 | 23 | Mehdi Abaakouk | Pour chaque machine |
113 | 23 | Mehdi Abaakouk | <pre> |
114 | 23 | Mehdi Abaakouk | apt-get upgrade -y |
115 | 23 | Mehdi Abaakouk | systemctl restart ceph-osd@* |
116 | 23 | Mehdi Abaakouk | </pre> |
117 | 23 | Mehdi Abaakouk | |
118 | 23 | Mehdi Abaakouk | Puis attendre que le recovery termine avant de faire la suivante. |
119 | 23 | Mehdi Abaakouk | |
120 | 23 | Mehdi Abaakouk | Une fois toutes les OSDs upgrader et relancer, faire: |
121 | 23 | Mehdi Abaakouk | |
122 | 23 | Mehdi Abaakouk | <pre>ceph osd unset noout</pre> |
123 | 23 | Mehdi Abaakouk | |
124 | 19 | Mehdi Abaakouk | h2. Remplacement à froid d'un tier cache: |
125 | 19 | Mehdi Abaakouk | |
126 | 19 | Mehdi Abaakouk | upstream doc: http://docs.ceph.com/docs/master/rados/operations/cache-tiering/ |
127 | 19 | Mehdi Abaakouk | |
128 | 19 | Mehdi Abaakouk | <pre> |
129 | 19 | Mehdi Abaakouk | ceph osd tier cache-mode ec8p2c forward |
130 | 19 | Mehdi Abaakouk | rados -p ec8p2c cache-flush-evict-all |
131 | 19 | Mehdi Abaakouk | ceph osd tier remove-overlay ec8p2 |
132 | 19 | Mehdi Abaakouk | ceph osd tier remove ec8p2 ec8p2c |
133 | 19 | Mehdi Abaakouk | |
134 | 19 | Mehdi Abaakouk | rados rmpool ec8p2c ec8p2c --yes-i-really-really-mean-ita |
135 | 19 | Mehdi Abaakouk | ceph osd pool create ec8p2c 128 128 replicated |
136 | 19 | Mehdi Abaakouk | |
137 | 19 | Mehdi Abaakouk | ceph osd tier add ec8p2 ec8p2c |
138 | 19 | Mehdi Abaakouk | ceph osd tier cache-mode ec8p2c writeback |
139 | 19 | Mehdi Abaakouk | ceph osd tier set-overlay ec8p2 ec8p2c |
140 | 19 | Mehdi Abaakouk | |
141 | 19 | Mehdi Abaakouk | ceph osd pool set ec8p2c size 3 |
142 | 19 | Mehdi Abaakouk | ceph osd pool set ec8p2c min_size 2 |
143 | 19 | Mehdi Abaakouk | ceph osd pool set ec8p2c hit_set_type bloom |
144 | 19 | Mehdi Abaakouk | |
145 | 19 | Mehdi Abaakouk | ceph osd pool set ec8p2c hit_set_count 1 |
146 | 19 | Mehdi Abaakouk | ceph osd pool set ec8p2c hit_set_period 3600 |
147 | 19 | Mehdi Abaakouk | ceph osd pool set ec8p2c target_max_bytes 200000000000 |
148 | 19 | Mehdi Abaakouk | ceph osd pool set ec8p2c target_max_objects 10000000 |
149 | 19 | Mehdi Abaakouk | ceph osd pool set ec8p2c cache_target_dirty_ratio 0.4 |
150 | 19 | Mehdi Abaakouk | ceph osd pool set ec8p2c cache_target_full_ratio 0.8 |
151 | 19 | Mehdi Abaakouk | </pre> |
152 | 19 | Mehdi Abaakouk | |
153 | 16 | Mehdi Abaakouk | h2. Ajout d'un OSD qui partage le SSD avec l'OS (OBSOLETE PLUS COMPATIBLE AVEC LES FUTURES VERSION DE CEPH) |
154 | 2 | Mehdi Abaakouk | |
155 | 2 | Mehdi Abaakouk | |
156 | 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 |
157 | 2 | Mehdi Abaakouk | mais pour le SSD de tetaneutral qui a aussi l'OS, voici la méthode |
158 | 2 | Mehdi Abaakouk | |
159 | 2 | Mehdi Abaakouk | Création manuelle de la partition de data ceph /dev/sda2 ici |
160 | 7 | Mehdi Abaakouk | |
161 | 7 | Mehdi Abaakouk | Debian (MBR format): |
162 | 2 | Mehdi Abaakouk | <pre> |
163 | 5 | Mehdi Abaakouk | apt-get install partprobe |
164 | 5 | Mehdi Abaakouk | fdisk /dev/sda |
165 | 5 | Mehdi Abaakouk | |
166 | 2 | Mehdi Abaakouk | n |
167 | 14 | Mehdi Abaakouk | p |
168 | 14 | Mehdi Abaakouk | <enter> |
169 | 14 | Mehdi Abaakouk | <enter> |
170 | 14 | Mehdi Abaakouk | <enter> |
171 | 14 | Mehdi Abaakouk | <enter> |
172 | 14 | Mehdi Abaakouk | w |
173 | 14 | Mehdi Abaakouk | |
174 | 14 | Mehdi Abaakouk | $ partprobe |
175 | 14 | Mehdi Abaakouk | </pre> |
176 | 14 | Mehdi Abaakouk | |
177 | 14 | Mehdi Abaakouk | Ubuntu (GPT format): |
178 | 2 | Mehdi Abaakouk | <pre> |
179 | 2 | Mehdi Abaakouk | # parted /dev/sdb |
180 | 2 | Mehdi Abaakouk | GNU Parted 2.3 |
181 | 13 | Mehdi Abaakouk | Using /dev/sdb |
182 | 13 | Mehdi Abaakouk | Welcome to GNU Parted! Type 'help' to view a list of commands. |
183 | 13 | Mehdi Abaakouk | (parted) print |
184 | 18 | Mehdi Abaakouk | Model: ATA SAMSUNG MZ7KM480 (scsi) |
185 | 13 | Mehdi Abaakouk | Disk /dev/sdb: 480GB |
186 | 13 | Mehdi Abaakouk | Sector size (logical/physical): 512B/512B |
187 | 13 | Mehdi Abaakouk | Partition Table: msdos |
188 | 13 | Mehdi Abaakouk | |
189 | 13 | Mehdi Abaakouk | Number Start End Size Type File system Flags |
190 | 2 | Mehdi Abaakouk | 1 1049kB 20.0GB 20.0GB primary ext4 boot |
191 | 2 | Mehdi Abaakouk | 2 20.0GB 36.0GB 16.0GB primary linux-swap(v1) |
192 | 15 | Mehdi Abaakouk | |
193 | 15 | Mehdi Abaakouk | (parted) mkpart |
194 | 15 | Mehdi Abaakouk | Partition type? primary/extended? |
195 | 15 | Mehdi Abaakouk | Partition type? primary/extended? primary |
196 | 15 | Mehdi Abaakouk | File system type? [ext2]? xfs |
197 | 15 | Mehdi Abaakouk | Start? |
198 | 15 | Mehdi Abaakouk | Start? 36.0GB |
199 | 15 | Mehdi Abaakouk | End? 100% |
200 | 1 | Mehdi Abaakouk | (parted) print |
201 | 1 | Mehdi Abaakouk | Model: ATA SAMSUNG MZ7KM480 (scsi) |
202 | 1 | Mehdi Abaakouk | Disk /dev/sdb: 480GB |
203 | 1 | Mehdi Abaakouk | Sector size (logical/physical): 512B/512B |
204 | 1 | Mehdi Abaakouk | Partition Table: msdos |
205 | 1 | Mehdi Abaakouk | |
206 | 1 | Mehdi Abaakouk | Number Start End Size Type File system Flags |
207 | 1 | Mehdi Abaakouk | 1 1049kB 20.0GB 20.0GB primary ext4 boot |
208 | 1 | Mehdi Abaakouk | 2 20.0GB 36.0GB 16.0GB primary linux-swap(v1) |
209 | 1 | Mehdi Abaakouk | 3 36.0GB 480GB 444GB primary |
210 | 1 | Mehdi Abaakouk | |
211 | 1 | Mehdi Abaakouk | (parted) quit |
212 | 1 | Mehdi Abaakouk | Information: You may need to update /etc/fstab. |
213 | 1 | Mehdi Abaakouk | </pre> |
214 | 1 | Mehdi Abaakouk | |
215 | 1 | Mehdi Abaakouk | On prepare le disk comme normalement |
216 | 1 | Mehdi Abaakouk | |
217 | 1 | Mehdi Abaakouk | <pre> |
218 | 1 | Mehdi Abaakouk | ceph-disk prepare --fs-type=ext4 --cluster-uuid 1fe74663-8dfa-486c-bb80-3bd94c90c967 /dev/sda2 |
219 | 1 | Mehdi Abaakouk | ceph-disk activate /dev/sda2 |
220 | 1 | Mehdi Abaakouk | ceph osd crush add osd.<ID> 0 root=ssd host=g3-ssd |
221 | 1 | Mehdi Abaakouk | </pre> |
222 | 1 | Mehdi Abaakouk | |
223 | 1 | Mehdi Abaakouk | Ensuite, autoriser Ceph à mettre des data dessus: |
224 | 1 | Mehdi Abaakouk | |
225 | 1 | Mehdi Abaakouk | <pre> |
226 | 1 | Mehdi Abaakouk | $ /root/tools/ceph-reweight-osds.sh osd.<ID> |
227 | 1 | Mehdi Abaakouk | </pre> |