21
La production d’hubiC Object Storage basé sur Swi2 chez OVH

Meetup #13 osfr - ops - hubiC - pulbic

Embed Size (px)

Citation preview

La production d’hubiC

Object  Storage  basé  sur  Swi2  chez  OVH  

Jean-­‐Daniel  Sysadmin  OpenStack  *  @OVH  @pilgrimstack  

Romain  DevOp  OpenStack *  @OVH  

Arnaud  DevOp  OpenStack *  @OVH  

2  

1.  PrésentaJon  et  Architecture  2.  AutogesJon  3.  Déploiement  et  Upgrade  

3  

PRÉSENTATION ET ARCHITECTURE

4  

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  

6  

Swift  

Object Storage  

API  

Scalabilité  

Haute Disponibilité  

Applis  API  hubiC  

Swi2  Keystone  

OVH  

OpenStack  

7  

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  

AUTOGESTION

10  

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  

12  

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  

Changement  de  disque  en  2014  •  1302  sur  l’année  •  3,5  /  jour  

14  

• 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  

DÉPLOIEMENT ET UPGRADE

16  

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  

Merci *  

* on recrute !!!