home

Vidéo “Best practices” pour une architecture serveurs web hautement disponible et performante avec l’exemple de @Cybercartes. #Shake14

June 26th, 2014

Dans le cadre du premier opus de salon dédié e-commerce sur Marseille #Shake14, nous avons pu animer une conférence sur le thème de l’architecture d’une plateforme web pour tenir une fréquentation allant jusqu’à 1 million de visiteurs uniques sur une journée.
Nous avons pris l’exemple que nous suivons depuis 2008 à savoir l’architecture de cybercartes.com qui a évolué années après années pour tenir une charge en pic toujours plus grande.
Voici la video de la conférence (un grand merci à Antoine pour cette dernière) :
Les intervenants (de gauche à droite): Grégory d’Evolix, Jean Pierre Fanni – PDG de Cybercartes, et moi-même.


#shake14 par sebfox

Et voici les slides projetés :
slide

Je résiste pas à partager aussi une photo du superbe lieu où Shake14 s’est déroulé : Le Palai du Pharo !
palai pharo shake14
palai pharo shake14

À votre disposition pour étudier avec vous votre propre infrastruture critique :D

Diskstats Plugin de Munin et valeurs par défaut (Debian Wheezy)

June 23rd, 2014

Vous avez activé les alertes mails Munin en cas de dépassement du niveau Warning en ajoutant dans /etc/munin/munin.conf quelquechose du type : contact.someuser.command mail -s "Munin notification" somejuser@fnord.comm ?
Et vous recevez trop de mails notamment à cause de latence disque [vous êtes en virtualisé, ou vous avez juste pas de bonne performance] ?

La solution :
Modifier les valeurs par défaut du plugin Diskstats en ajoutant dans la configuration du node vos valeurs personnalisées (avant de faire un service munin-node restart) :
exemple :

[dozer.sdubois.fr]
address 127.0.0.1
use_node_name yes
diskstats_latency.sda.avgrdwait.warning 0:10
diskstats_latency.sda.avgrdwait.critical -5:5

ps : pour l’aspect cosmétique, il faut éditer /etc/munin/plugins/diskstats

avgrdwait.warning 0:10
avgwrwait.warning -5:5

Alternative :
Spécifiquement pour ce plugin vous pouvez désactiver les alertes mails :
en mettant (toujours dans la configuration du node):

diskstats.contacts no

ps : merci à @alex_cline pour son post bien caché sur le sujet :p

Accèder au système de fichier d’une VM (KVM en .qcow2 avec LVM) sans la démarrer depuis l’hyperviseur

April 28th, 2014

Les raisons pour avoir besoin de faire ceci sont souvent malheureuses ;) : mauvaises manipulations ayant corrompu le système par exemple et un(e) snapshot/sauvegarde un peu trop ancienne pour être remise en place sans tenter mieux.
Même si on est dans un cas pas idéal (à savoir .qcow2 avec LVM comparé au format raw que les systèmes Linux peuvent monter en utilisant une “loopack device”) la procédure existe :
LA page utile : http://en.wikibooks.org/wiki/QEMU/Images

En résumé :

1/ Bien penser à ce que l’image en question soit non utilisée (machine stoppée)

2/ La commande magique à utiliser étant : qemu-nbd
Cette commande fournie par KVM (qemu-kvm), permet de lancer le module kernel “Network Block Device” et de créer un point de montage
Il faut modifier le “max_part” qui est bas par défaut alors qu’il est probable que vous ayez plusieurs partitions dans votre système

modprobe nbd max_part=16;
qemu-nbd -c /dev/nbd0 #nomdevotreimage.qcow2;
partprobe /dev/nbd0;

3/ Ensuite avec fdisk vous pourrez lister les différentes partitions dans nbd0.
fdisk /dev/nbd0
Command (m for help): p

Disk /dev/nbd0: 966.4 GB, 966367641600 bytes
255 heads, 63 sectors/track, 117487 cylinders, total 1887436800 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000a9ebc

Device Boot Start End Blocks Id System
/dev/nbd0p1 * 2048 499711 248832 83 Linux
/dev/nbd0p2 501758 1887434751 943466497 5 Extended
/dev/nbd0p5 501760 1887434751 943466496 8e Linux LVM

4/ On ne peut pas monter les partitions LVM juste avec un ‘mount’. Il faut passer par l’étape :

root@AAA:# vgscan
Reading all physical volumes. This may take a while...
Found volume group "#volumegroup" using metadata type lvm2
root@AAA:# vgchange -ay
6 logical volume(s) in volume group "#volumegroup" now active

5/ Vous pouvez alors monter :
mkdir /mnt/partition_#logicalvolname_#volumegroup; mount /dev/#volumegroup/#logicalvolname /mnt/partition_#logicalvolname_#volumegroup
avec #logicalvolname qui est le nom du volume logique présent dans votre #volumegroup (il y a notamment root a priori)

6/ Vous pouvez alors accéder enfin aux données

7/ Une fois que vous avez sauvé les meubles ou réparé le système, il est important de bien tout démonter ce que vous avez fait :
umount /mnt/partition_#logicalvolname_#volumegroup;
qemu-nbd -d /dev/nbd0;
vgchange -an #volumegroup;
killall qemu-nbd;

Calendrier Evolix 2014 !

January 8th, 2014

2014 a une résonnance particulière pour Evolix créée en février 2004, ce sont nos 10 ans !

Le calendrier de cette année fait donc un petit clin d’oeil à notre grand âge :)
Voici la maquette du second semestre [le premier semestre sera plus intéressant côté "ponts" avec 3 Jeudi fériés]

calendrier2014evolix

Bientôt dans vos boîtes aux lettres (n’hésitez pas à nous contacter pour recevoir le vôtre).

  • Photos

    • www.flickr.com
      sdubois' photos More of sdubois' photos