Architecture de serveurs virtualisés

Transcription

Architecture de serveurs virtualisés
Architecture de serveurs virtualisés
pour la communauté mathématique
Jacquelin Charbonnel
Journées ARAMIS - Lyon, juin 2012
version 1.1
Plan
●
KVM pour un laboratoire
●
KVM pour la Plateforme en Ligne pour les Mathématiques
●
Exemple : plateforme d'hébergement web
●
Le projet PLACO
Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012
Architecture de serveurs virtualisés pour la communauté mathématique
2 / 47
KVM pour un laboratoire
Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012
Architecture de serveurs virtualisés pour la communauté mathématique
3 / 47
●
●
LAREMA
●
laboratoire de mathématiques
●
une demi-centaine d'utilisateurs
une dizaine de serveurs physiques
●
hyperviseurs
●
serveurs applicatifs interactifs
●
serveurs d'infrastructures (NFS, LDAP, DNS, DHCP, ntp)
●
serveurs de calcul
●
serveur de sauvegarde
Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012
Architecture de serveurs virtualisés pour la communauté mathématique
4 / 47
●
2 hyperviseurs
●
KVM sous CentOS 6
●
une quinzaine de VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
hyperviseur KVM
Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012
hyperviseur KVM
Architecture de serveurs virtualisés pour la communauté mathématique
5 / 47
Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012
Architecture de serveurs virtualisés pour la communauté mathématique
6 / 47
Candidats à la virtualisation
●
messagerie SMTP+IMAP (postfix+dovecot)
●
web + webmail (apache, squirrelmail, roundcube)
●
firewall + reverse proxy + MX principal (iptables, apache, postfix)
●
monitoring (icinga)
●
–
monitoring des ressources du laboratoire
–
monitoring des ressources de la DSI
serveurs ssh
–
tunnels pour les chercheurs du labo
tunnels pour les chercheurs de la fédération des Pays de Loire
divers
–
●
–
générateur d'images LTSP
Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012
Architecture de serveurs virtualisés pour la communauté mathématique
7 / 47
Jugés non virtualisables
●
serveurs applicatifs
–
●
serveur de sauvegarde
–
●
pour raison d'isolation
serveur de calcul
–
●
pour raison de performance
pour raison de performance (à approfondir)
serveurs d'infrastructure : nfs, ntp, ldap, dhcp, dns
–
services utilisés par les hyperviseurs
Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012
Architecture de serveurs virtualisés pour la communauté mathématique
8 / 47
Principe #1 : couches de serveurs
●
●
2 couches de serveurs
●
les hyperviseurs appartiennent à la couche #1
●
les VM appartiennent à la couche #2
principe :
●
la couche #1 ne doit pas utiliser les services de la couche #2
–
●
un hyperviseur ne doit pas dépendre de services hébergés sur une quelconque VM
pourquoi ?
●
écarter les interdépendances (bloquantes au démarrage)
Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012
Architecture de serveurs virtualisés pour la communauté mathématique
9 / 47
Principe #2 : les data
●
data = homedir, mailboxes, htdocs, etc.
●
aucun gros volume de données sur disques virtuels (containers)
●
●
data exportées par NFS depuis un serveur physique dédié
pourquoi ?
●
1 gros disque = 1 gros fichier sur l'hyperviseur (plusieurs Go)
–
lourd à copier, sauvegarder, déplacer, comparer
Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012
Architecture de serveurs virtualisés pour la communauté mathématique
10 / 47
Principe #2 : les data
●
data exportées par NFS depuis un serveur physique dédié
VM
VM
VM
VM
VM
VM
VM
VM
VM
NFS
Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012
NFS
Architecture de serveurs virtualisés pour la communauté mathématique
11 / 47
Principe #3 : les VM
les VM sont présentes sur chacun des 2 hyperviseurs
●
VM non attachées à l'hyperviseur (déplaçables)
●
chaque VM est
–
en production sur 1 host
–
en backup sur l'autre
pourquoi ?
●
PRA simple
●
équilibrage de charge (manuel) des VM en production
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012
VM
VM
VM
VM
VM
VM
VM
Architecture de serveurs virtualisés pour la communauté mathématique
12 / 47
Principe #4 : les containers
●
container = disque de VM
●
les containers sont sur LVM sur l'hyperviseur
●
pourquoi ?
●
bénéficier des snapshots au niveau du fs
VM
VM
VM
VM
VM
VM
VM
LVM
Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
LVM
Architecture de serveurs virtualisés pour la communauté mathématique
13 / 47
Backups
●
backups des data
●
backup des systèmes des VM
●
backup des containers
Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012
Architecture de serveurs virtualisés pour la communauté mathématique
14 / 47
Backup des data
●
backup du serveur NFS
●
intégré au système de backup général
●
archivage daily, weekly, monthly
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
NFS
VM
VM
VM
NFS
backup + archivage
Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012
Architecture de serveurs virtualisés pour la communauté mathématique
15 / 47
Backup des systèmes
●
systèmes sauvegardes via chaque VM
●
intégré au système de backup général des serveurs
●
archivage daily, weekly, monthly
VM
VM
VM
VM
VM
VM
VM
VM
VM
Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012
VM
VM
VM
VM
VM
rsync (backup + archivage)
VM
VM
VM
VM
rsync (backup + archivage)
Architecture de serveurs virtualisés pour la communauté mathématique
16 / 47
Backup des containers
●
sauvegardés 1 fois par mois
●
sur le second host
●
sans archivage
rsync (mensuel)
VM
VM
VM
VM
VM
VM
VM
LVM
Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
LVM
Architecture de serveurs virtualisés pour la communauté mathématique
17 / 47
Backup des containers
processus :
pause de toutes les VM (virsh suspend)
●
snapshot LVM du LV contenant les disques (lvcreate --snapshot)
●
redémarrage de toutes les VM (virsh resume)
●
rsync des disques du snapshot sur l'autre hyperviseur (rsync)
●
suppression du snapshot LVM (lvremove)
●
rsync des définitions de VM (.xml)
Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012
Architecture de serveurs virtualisés pour la communauté mathématique
18 / 47
moins d'1 sec
●
Reprise d'activités
●
démarrer la VM sur l'autre hyperviseur
●
restauration du dernier backup du système (backup)
●
reboot
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
rsync (restauration)
NFS
Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012
NFS
Architecture de serveurs virtualisés pour la communauté mathématique
19 / 47
La PLM
Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012
Architecture de serveurs virtualisés pour la communauté mathématique
20 / 47
●
●
Plate-forme en ligne pour les mathématiques
●
infrastructure répartie géographiquement
●
utilisée par 61 laboratoires (2168 utilisateurs)
4 sites techniques (Bordeaux, Lille, Angers et Lyon)
●
8 hyperviseurs sous CentOS 6
●
50 VM
Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012
Architecture de serveurs virtualisés pour la communauté mathématique
21 / 47
Les services
●
serveurs de licences logicielles
●
proxy de consultation des revues scientifiques en ligne
●
un annuaire de la communauté mathématique française
●
gestion de noms de domaine (math.cnrs.fr,
●
messagerie (@math.cnrs.fr)
●
outils de production et d'organisation personnelle (webmail, agenda, carnet d'adresses)
●
serveurs interactifs, de calcul
●
outils de travail collaboratif (hébergement web, listes de diffusion, partages réseaux,
subversion, web-conférence)
resinfo.org, etc.)
Historique
●
initialement sous VMware server 1.x
●
2009-2011 : migration vers KVM
●
2012 : normalisation de l'infrastructure
Pourquoi migrer, pourquoi KVM ?
●
●
VMware 1.x
●
fin de vie de VMware Server 1.x (2009)
●
1 petit bug jamais résolu au niveau des snapshots
VMware 2.x
●
pas de console native
–
●
console via un navigateur web
KVM
●
opensource
●
bien supporté par RedHat (-> natif dans CentOS)
●
communauté très active, développement rapide
Bilan
●
meilleures performances
●
installation + facile
●
intégré à la distribution CentOS
●
rien à recompiler à chaque nouveau kernel
●
pas de tools à installer sur les VM
2012 : la normalisation
●
simplifier au maximum
●
●
●
supprimer les dépendances entre sites
dissocier les fonctions
●
virtualisation
●
stockage
●
backup et archivage
sur chaque site :
●
banaliser les hyperviseurs
●
support d'un nombre quelconque d'hyperviseurs
2012 : la normalisation
●
●
1 site =
●
n hyperviseurs banalisés
●
1 serveur NFS
●
1 serveur pour PRA (miroir du serveur NFS)
●
1 vrai réseau interne privé physique
1 VM =
●
1 interface réseau interne NATée (ntp, dns, dhcp, NFS, log, ssh d'admin, system update)
●
1 interface publique si le service rendu est public
●
déplaçable d'un hyperviseur à l'autre
●
configuration gérée par Puppet
●
1 nouveau site pour le backup délocalisé (Grenoble)
site de la PLM
réseau public
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
hyperviseur KVM
hyperviseur KVM
VM
VM
VM
hyperviseur KVM
NAT
réseau interne
serveur NFS
Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012
serveur NFS miroir
Architecture de serveurs virtualisés pour la communauté mathématique
29 / 47
Principe #1 : les data
●
data = homedir, mailboxes, htdocs, etc.
●
aucun gros volume de données dans les containers
●
exportées via NFS depuis un serveur physique dédié
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
NFS
Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012
Architecture de serveurs virtualisés pour la communauté mathématique
30 / 47
Principe #2 : VM et containers
les VM et leurs containers sont sur LVM exporté par NFS
VM non attachée à l'hyperviseur (déplaçable)
VM
VM
VM
VM
VM
VM
VM
NFS
Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012
VM
VM
VM
VM
VM
VM
LVM
VM
LVM
VM
LVM
NFS
Architecture de serveurs virtualisés pour la communauté mathématique
31 / 47
Trafic NFS
●
pour minimiser le trafic NFS
●
pas de log en local sur les VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
syslog
Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012
Architecture de serveurs virtualisés pour la communauté mathématique
32 / 47
Backups
●
backups des data
●
backup des systèmes des VM
●
backup des containers
Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012
Architecture de serveurs virtualisés pour la communauté mathématique
33 / 47
Backup data + backup systèmes
●
backup du serveur NFS (backupPC)
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
backupPC
Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012
Architecture de serveurs virtualisés pour la communauté mathématique
34 / 47
Backup des containers
●
miroir avec DRBD
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
NFS
DRBD
Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012
Architecture de serveurs virtualisés pour la communauté mathématique
35 / 47
Plan de Reprise d'Activité
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
data
VM
VM
VM
containers
DRBD
Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012
Architecture de serveurs virtualisés pour la communauté mathématique
36 / 47
Plan de Reprise d'Activité
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
VM
NFS
DRBD
Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012
Architecture de serveurs virtualisés pour la communauté mathématique
37 / 47
Exemple : l'hébergement web
ou comment la virtualisation peut améliorer les perfs
Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012
Architecture de serveurs virtualisés pour la communauté mathématique
38 / 47
●
70 sites web
●
sites statiques, CMS (SPIP, drupal, etc.)
●
quelques sites gourmands en ressources
●
●
générateurs d'images à la volée
quelques sites très fréquentés
Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012
Architecture de serveurs virtualisés pour la communauté mathématique
39 / 47
Architecture initiale
●
1 front-end + 1 back-end
●
1 site = 1 virtual host
●
10 disques virtuels de 4Go
nagios
apache
http ssh
apache
http
rprox
/home1
/home2
/home3
http ssh
/htdocs1
/htdocs2
/htdocs3
/htdocs4
/htdocs5
cms
apache / mysql / sshd
hyperviseur VMware
Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012
Architecture de serveurs virtualisés pour la communauté mathématique
40 / 47
Architecture initiale
●
monolithique : 1 site peut impacter la performance des autres
●
gros disques virtuels (4Go) : lourd à gérer
nagios
apache
http ssh
apache
http
rprox
/home1
/home2
/home3
http ssh
/htdocs1
/htdocs2
/htdocs3
/htdocs4
/htdocs5
cms
apache / mysql / sshd
hyperviseur VMware
Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012
Architecture de serveurs virtualisés pour la communauté mathématique
41 / 47
Achitecture actuelle
●
RAM de chaque webxx : 2Go
●
granularité CPU / IO / RAM
●
plusieurs versions possibles (php, etc.)
apache
db
web01
apache
http
rprox
mysql
web02
http
web03
web04
web05
ssh
/ht
do
cs
cms
sshd
hyperviseur KVM
Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012
/h
/ht ome
do
cs
DRBD
Architecture de serveurs virtualisés pour la communauté mathématique
42 / 47
Le projet PLACO
Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012
Architecture de serveurs virtualisés pour la communauté mathématique
43 / 47
Architecture de PLACO
●
générateur de plates-formes collaboratives
●
les services :
●
listes de diffusion (sympa)
●
environnement personnel (horde)
–
agenda, carnet d'adresse, webmail
●
hébergement web (apache)
●
partage réseau (apache webdav)
●
versionning (subversion)
●
base d'authentification unique : OpenLDAP
●
2 hyperviseurs possibles : Xen et KVM
●
2 OS possible : Debian et CentOS
Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012
Architecture de serveurs virtualisés pour la communauté mathématique
44 / 47
Plateforme collaborative générée
apache
db
web
apache
http
rprox
mysql
ldap
http
subversion
sympa
hyperviseur Xen ou KVM
Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012
Architecture de serveurs virtualisés pour la communauté mathématique
45 / 47
Mode d'emploi
●
installer le générateur
# wget --no-check-certificate -P /tmp https://svn.math.cnrs.fr/placodev/tags/stable/install.sh
# . /tmp/install.sh
●
créer une plate-forme minimale (annuaire+reverse proxy)
# placosh init_platform
●
personnaliser (ajout de guests)
apache
# placosh install_sympa
db
web
# placosh install_web_hosting
apache
http
rprox
mysql
ldap
http
subversion
sympa
# placosh install_svn
...
hyperviseur Xen ou KVM
Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012
Architecture de serveurs virtualisés pour la communauté mathématique
46 / 47
En savoir plus...
http://placodev.mathrice.fr
Jacquelin Charbonnel - Journées ARAMIS, Lyon, juin 2012
Architecture de serveurs virtualisés pour la communauté mathématique
47 / 47