Download - Meetup #13 osfr - ops - hubiC - pulbic
Jean-‐Daniel Sysadmin OpenStack * @OVH @pilgrimstack
Romain DevOp OpenStack * @OVH
Arnaud DevOp OpenStack * @OVH
2
hubiC in a nutshell • + 450 000 accounts
• 3 x 6 Po • 3 Md d’objets • 4700 nodes
Sep 2011 Cloud NAS
Dec 2011 hubiC
Dec 2012 hubiC passe sur Swi2
5
Keystone Galera
HAProxy
Proxy Node
Storage Node
x 1500
Zone RBX
Zone GRA
Zone SBG
Zone RBX
Puppet
Shinken
En vrac • Havana • Préférence des services proches • Round Robin DNS sur les HAProxy
8
# swift-recon -d =============================================================================== --> Starting reconnaissance on 2826 hosts =============================================================================== [2015-01-13 18:08:20] Checking disk usage now Distribution Graph: 31% 1 40% 44 * 41% 178 ***** 42% 145 **** 43% 72 ** 44% 49 * 45% 9 46% 4 55% 2 80% 1 81% 81 ** 82% 919 *************************** 83% 2330 ********************************************************************* 84% 1487 ******************************************** 85% 287 ******** 86% 28 87% 1 Disk usage: space used: 8968121433358336 of 11209460259983360 Disk usage: space free: 2241338826625024 of 11209460259983360 Disk usage: lowest: 31.34%, highest: 87.13%, avg: 80.0049353435% 2819/2826 hosts succeeded, 7 error[s] while checking hosts. ===============================================================================
9
Ac=ve
1 ssh / node 1 PUT + GET + MD5 / infra
Passive
Disque, Réseau Charge, dmesg Process Swi2 ...
2 serveurs shinken 12 instances acJve/
passive Thruk pour agréger
108 K probes
11
Reboot < 1/mois Humain
Changement de disque < 1/mois Humain
Nombre d’alertes en même temps
Seuil en foncJon de
l’infra Humain
13
• Monitoring • Collecte d’infos
IdenJfi-caJon
DownJme dans shinken
Mise en mainte-nance
• Ticket datacenter • Puppet
Correc-Jon
SorJe de downJme
SorJe de
mainte-nance
15
AdministraJf • InserJon en base
• DéfiniJon du rôle
Puppet • 20 modules • Pas d’intervenJon humaine
Swi2 • Refresh Ring • Rebalance
17
d1
d2
d3
d4
0000…. ffff….
echo '/account/container/object' | md5sum 905800fbbe50068719815db4b82765b1
adresse de object 9058...
d1
d2
d3
d4
d5
adresse de object 9058...
Refresh Ring
18
database
admin
shinken
object1
object2
object3
1. Sync DB/Ring
2. Collect dispersion 3. Get dispersion
4. Palier +100
5. Get Ring
6. Move parJJon
Refresh Ring
19
Upgrade SélecJon d’une zone
RéinstallaJon via l’API OVH
Script post-‐install Run Puppet
Sync
RécupéraJon github
Patch
ReconstrucJon de paquets
Mise a jour du dépôt
Pinning
Upgrade
System OpenStack
20