Support - Cours - Services Réseaux Et Téléphonie Sur IP
Support - Cours - Services Réseaux Et Téléphonie Sur IP
Support - Cours - Services Réseaux Et Téléphonie Sur IP
téléphonie sur IP
INGE4 - Institut Saint Jean ,2021/2022
NGNOULAYE Janvier, PhD
Chargé de cours, Université de Yaoundé 1
Enseignant associé : ENSP, SUPPTIC , ESIREM - Université de Bourgogne
Expert-consultant Système, Réseau et Cybersécurité
Expert groupe de travail de l’Union Africaine en Cybersécurité
Instructeur agrée des Académies CISCO, membre Afrinic.net, icann.org
Whatsp: 00237 660 66 71 16, Tél: 00237 677 72 03 34, Email : [email protected]
Objectifs du cours
Disposer des outils nécessaires pour le déploiement
de services indispensables dans un Intranet en
utilisant des solutions OpenSource Linux.
designer le stockage en utilisant les niveaux RAID et
la technologie LVM,
identifier le système de fichier adéquat pour un
serveur,
déployer un ensemble de services réseaux,
capturer des trames réseaux et les analyser
et enfin, comprendre et déployer un serveur de VoIP.
Programme ❖ System Startup
Création d’un niveau d’exécution sur mesure avec applications spécifiques
Réinstallation de GRUB après corruption
Autres méthodes de chargement du noyau
❖ Services Réseau
DNS, Active Directory (Samba4), DHCP
Web, Proxy Web, Archivage
FTP, NFS, E-Mail, iSCSI
VPN, Rsyncd, iSCSI, RDP
SSH, Cluster (DRBD, Corosync, Pacemaker, PCS)
❖ Filesystem and Devices
Gestion et configuration des systèmes de fichiers
Les sauvegardes au niveau Filesystem
Sauvegardes, duplication et synchronisation de données
Gestion des disques durs
❖ Advanced Storage Device Administration
Création et exploitation d’un volume logique sur le disque RAID
Extension du volume logique
Logical Volume Manager (LVM)
❖ Networking Configuration
Programme Attribution dynamique et statique d'une adresse IP
Outils de diagnostic des couches réseau, transport et application
Compilation des applications Procédure de compilation GNU
Remise locale des messages : Alternatives à la messagerie
❖ Capture et Analyse des Trames Réseaux
Bibliothèque libpcap
Utilisation de l'outil tcpdump
Utilisation de l'application Wireshark
❖ VoIP
Contraintes de la VoIP
Signalisation et protocoles
CODECS audios et vidéo
Protocoles de transport (UDP, TCP, RTCP, RTCP)
Protocole SIP (SIPS) : Architecture, méthodes, réponses, Adressage,
modes de transmission, transport flux média, interconnexion
SIP/GSM
Protocoles SDP, SCCP
Pédagogie
❖ Cours magistral
❖ Exposés d’étudiants
❖ Travaux pratiques
❖ Contrôle continu
❖ Examen final
- Réinstallation de
GRUB après corruption
- Autres méthodes de
chargement du noyau
System Startup / Démarrage du système (en 6 étapes)
1ère étape :
BIOS = Basic Input/Output system : système élémentaire
d'entrée/sortie. C'est un ensemble de fonctions contenu
le BIOS dans la mémoire morte (ROM) de la carte mère d'un
ordinateur lui permettant d'effectuer des opérations
élémentaires lors de sa mise sous tension.
Exécute des opérations de vérification de l'intégrité du
système.
Cherche, charge et exécute le programme d'amorçage.
Il cherche le programme d'amorçage sur un disque dur,
une disquette, un CD-Rom ou une clé USB.
Une fois le programme d'amorçage trouvé et chargé en
mémoire, le BIOS lui donne le contrôle.
Simplement, le BIOS exécute la MBR.
System Startup / Démarrage du système (en 6 étapes)
MBR = Master Boot Record : la zone amorce.
2e étape : C'est le premier secteur adressable d'un disque dur. Le
plus souvent appelé /dev/hda ou /dev/sda.
le MBR La taille de cette zone est de 512 bits au maximum. Elle
contient :
le programme d'amorçage se trouve dans les 446 premier bits.
la table des partitions (les 4 partitions primaires) du disque dur
sur les 64 bits suivants.
vérification de la validité du MBR dans les 2 derniers bits.
Il contient une routine d'amorçage dont le but est de
charger le système d'exploitation (ou le « boot loader
»/chargeur d'amorçage s'il existe - GRUB ou LiLo)
présent sur la partition active.
Simplement, le MBR exécute le programme d'amorçage
System Startup / Démarrage du système (en 6 étapes)
3e étape : GRUB = Grand Unified Bootloader : un programme
d'amorçage de micro-ordinateur.
Lorsque le micro-ordinateur héberge plusieurs systèmes (on
le GRUB parle alors de multi-amorçage), il permet à l'utilisateur de
choisir quel système démarrer.
Il présente une interface qui permet à l'utilisateur de choisir
quel système d'exploitation démarrer.
Si vous avez plus d'un noyau installé sur votre système, il est
possible de sélectionner celui que vous voulez exécuter.
Il connaît le système de fichiers (ext3, ext4, Btrfs, etc.)
utilisé sur le système.
Simplement, GRUB charge et exécute le noyau sélectionné
et l'image initrd (image d'un système minimal initialisé au
démarrage du système = Initial Ram Disk).
System Startup / Démarrage du système (en 6 étapes)
Monte le système de fichiers racine (« root »). Donc, relie une
partition ou un périphérique à un répertoire, répertoire par
4e étape : lequel les données présentes sur la partition ou le périphérique
sont accessibles.
le noyau Le noyau charge et exécute le programme /sbin/init.
Comme le programme init est le premier programme a être
exécuté par le noyau Linux, il porte le PID (ID du processus)
numéro 1.
Le initrd permet ainsi d'avoir un système minimal pouvant
ensuite charger le système de fichier principal ou bien des
systèmes sans disques. Il peut être instable d'avoir "en dur"
dans le kernel tous les drivers de disques. Pour éviter cela, les
distributions compilent un kernel minimal avec les options de
bases puis chargent les modules obligatoires nécessaires
contenus dans l'archive de l'initrd.
System Startup / Démarrage du système (en 6 étapes)
5e étape : Il consulte le fichier /etc/inittab pour décider quel niveau
d'exécution démarrer.
Les niveaux d'exécution sont :
init
0 - Arrêt
1- Mode mono-utilisateur
2 - Mode multi-utilisateur sans serveur applicatif
3 - Mode multi-utilisateur avec serveur applicatif
4 - Inutilisé ou X11 -> interface graphique selon la distribution
5 - X11 -> interface graphique selon la distribution
6 - Redémarrage
Dans ces répertoires, on retrouve des noms de programme qui commencent par la lettre S et K.
Ceux qui commencent par la lettre S sont exécutés au démarrage du système (la lettre S pour « startup »
= démarrage).
Ceux qui commencent par la lettre K sont exécutés à l'arrêt du système (la lettre K pour « kill » = arrêt).
De plus, dans le nom de ces programmes, il y a un chiffre après la lettre S ou K. Ce chiffre indique l'ordre
d'exécution de chaque programme lors du démarrage ou de l'arrêt du système. Par exemple, S12syslog est
le 12e programme qui s'exécutera au démarrage du système.
System Startup / Démarrage du système (en 6 étapes)
Activités Installez une distribution Linux (Debian, Ubuntu ou
pratiques CentOs) soit en dual boot ou en machine virtuelle, si
vous ne l’avez pas encore fait
A partir de votre distribution installée, découvrez les
services ou programmes qui s’exécutent à chaque
niveau d’exécution au démarrage de votre système,
listez ceux du niveau 3 et ceux du niveau 5
Paramétrez votre système à ce qu’il s’exécute
seulement au niveau 3
Spécifiez un programme particulier de votre choix
existant dans votre ordinateur pour qu’il s’exécute au
démarrage du système au niveau 5
Lire le support de cours et exercices sur les rappels sur
Linux, remis par l’enseignant.
Programme ❖ System Startup
Création d’un niveau d’exécution sur mesure avec applications spécifiques
Réinstallation de GRUB après corruption
Autres méthodes de chargement du noyau
❖ Services Réseau
DNS, Active Directory (Samba4), DHCP
Web, Proxy Web, Archivage
FTP, NFS, E-Mail, iSCSI
VPN, Rsyncd, RDP
SSH, Cluster (DRBD, Corosync, Pacemaker, PCS)
❖ Filesystem and Devices
Gestion et configuration des systèmes de fichiers
Les sauvegardes au niveau Filesystem
Sauvegardes, duplication et synchronisation de données
Gestion des disques durs
❖ Advanced Storage Device Administration
Création et exploitation d’un volume logique sur le disque RAID
Extension du volume logique
Logical Volume Manager (LVM)
❖ Services Réseau
DNS, Active Directory (Samba4), DHCP
Web, Proxy Web, Archivage
FTP, NFS, E-Mail, iSCSI
VPN, Rsyncd, iSCSI, RDP
SSH, Cluster (DRBD, Corosync, Pacemaker, PCS)
16
Les ateliers
Atelier groupe 1: Web, Proxy Web, Archivage
Atelier groupe 2: VPN, Rsyncd, RDP, SSH
Atelier groupe 3: FTP, NFS, iSCSI
Atelier groupe 4: Cluster (DRBD, Corosync, Pacemaker, PCS), SSH
Atelier groupe 5: DNS, Active Directory (Samba4), DHCP
18
Services Réseau: Rappels sur la notion client/serveur
Définitions
Est conforme au modèle client-serveur tout
processus utilisant des services offerts par un
autre processus, et communiquant avec lui à
l’aide de messages.
19
Services Réseau: Rappels sur la notion client/serveur
20
Services Réseau: Rappels sur la notion client/serveur
CLIENT
Processus qui demande l'exécution d'une
opération par l'envoi d'une demande.
SERVEUR
Processus qui exécute la demande du client et qui
transmet la réponse.
REQUÊTE (Request)
Message transmis par le client.
REPONSE (Reply)
Message transmis par le serveur. 21
Services Réseau: Rappels sur la notion client/serveur
Sockets
23
Services Réseau: Rappels sur la notion client/serveur
Sockets
25
Services Réseau: Rappels sur la notion client/serveur
26
Services Réseau: Rappels sur la notion client/serveur
28
Services Réseau: Rappels sur la notion client/serveur
Exemple de communication entre client et serveur
29
Services Réseau: Rappels sur la notion client/serveur
Processus de Sockets
30
Services Réseau: Rappels sur la notion client/serveur
31
Services Réseau: Rappels sur la notion client/serveur
Sockets en mode connecté
Principe
-flot bidirectionnel d’octets transférés
de façon fiable (ni perte, ni duplication) et ordonnée
entre deux locuteurs préalablement « connectés »
= = > service TCP utilisé
-trois phases nécessaires à programmer :
établissement de connexion:
• Un initiateur (l’entité « client » : ouverture active)
• Un répondant (l’entité « serveur » : ouverture passive)
transfert de données:
• Requêtes, réponses (selon le protocole applicatif)
libération de connexion
• Bi partie
32
Services Réseau: Rappels sur la notion client/serveur
34
Sockets en mode connecté:
36
Sockets en mode connecté:
Programmation en JAVA
Classe ServerSocket
Méthode accept
38
Sockets en mode connecté:
Transfert de données (des deux côtés) :
Conception :
EMISSION : Revient à Ecrire/Envoyer un message (x
octets) sur la connexion
RECEPTION : Revient à Lire/Recevoir un message (x
octets) sur la connexion
Programmation en JAVA
Classe Socket
Emission : méthode getInputStream
Réception : méthode getOuputStream
39
Sockets en mode connecté:
Libération de connexion (des deux côtés) :
Conception :
Fermeture totale :revient à fermer l’extrémité d’une
connexion : = = > émission et réception deviennent
impossibles
Fermeture partielle : possible selon les technologies
= = > émission ou réception devient impossible
Programmation en JAVA:
Classe Socket
méthode close
méthodes shudownInput et shutdownOutput
40
Sockets en mode non connecté:
Principe:
Datagrammes individuels transférés
-de façon non fiable, du « mieux »possible
-pas de connexion entre émetteur(s) et récepteur
= = > service UDP utilisé
Une seule phase à programmer :(transfert de données)
-envoi et réception possibles (de requêtes et de réponses
selon le protocole applicatif)
-détermination de l’expéditeur par le récepteur; Il peut
ensuite devenir destinataire.
Libération de port après usage
41
Sockets en mode non connecté:
Programmation en JAVA
Classe DatagramSocket
Trois constructeurs possibles
-sans paramètre : port anonyme local
-avec no_port local
-et @sse IP_locale
42
Sockets en mode non connecté:
Transfert de données (des deux côtés) :
Conception :
EMISSION : Envoyer X octets vers une socket distante dont on précise les
caractéristiques
RECEPTION : Recevoir X octets provenant d’une socket distante dont on récupère
les caractéristiques pour en déterminer l’origine.
Programmation en JAVA
Classe SocketDatagram
-Emission : méthode send
-Réception : méthode receive
-Gestion d’association : méthodes connect et disconnect
Classe DatagramPacket
-Constructeurs pour l’envoi
-Constructeurs pour la réception
Services Réseau: Rappels sur la notion client/serveur
44
❖ Services Réseau
DNS, Active Directory (Samba4), DHCP
Web, Proxy Web, Archivage
FTP, NFS, E-Mail, iSCSI
VPN, Rsyncd, iSCSI, RDP
SSH, Cluster (DRBD, Corosync, Pacemaker, PCS)
45
E-Mail
Les Services de Messagerie Internet
E-Mail: Principe de fonctionnement SMTP « route » le
message vers
Noulaye depuis son l’adresse SMTP
client de messagerie à
Recherche DNS renvoyée par DNS
Le Message est remis Enregistrement MX
l’Institut St Jean, confie dans la boîte aux
son message au du domaine
Serveur SMTP de
lettres du destinataire microsoft.com
l’opérateur Internet Serveur SMTP
Serveur SMTP microsoft.com
Opérateur Internet
biloa.aline
récupère le
message sur
son poste à
De : [email protected] l’aide des
protocoles
A : [email protected]
POP ou IMAP
Objet : salutations depuis Ydé à l’ISJ
Ma chère sœur Aline ….
Mail SMTP
MTA MTA
Transfert émetteur destination
Etape 3: Transmission du message
Agent
Etape 4: Réception du message
Etape 2:
Envoi du
message Etape 5: Stockage Mail
du message Delivery
Boite à MDA
lettres Agent
SMTP
Etape 6: Restitution Mail
Mail des messages MAA Access
User MUA
émetteur Agent
Agent
Etape 7: Lecture des messages PO3, IMAP4
Etape 1:
composition MUA
du message destination
SMTP
Envoi et routage des messages
POP
Récupération des messages.
Messages complets uniquement
IMAP
Récupération des messages.
Lecture des entêtes de messages
Lecture sans pièces jointes
Le Protocole SMTP
Simple Mail Transport Protocol
Il permet d'envoyer des messages texte ASCII vers des hôtes disposant
de services de courrier.
Il utilise le port TCP 25
Il et est décrit dans la RFC 821.
Les dernières RFC concernant SMTP et le format des messages sont les
RFC 2821 et 2822.
Les commandes SMTP
Les réponses du serveur SMTP
Exemple de dialogue SMTP
Extension SMTP-Auth
Le serveur répond simplement par +OK ou -ERR si la commande à provoqué une erreur.
Le Protocole IMAP 4
Contrairement à POP, IMAP permet de manipuler les messages
directement sur le serveur
Ces principales fonctionnalités sont les suivantes :
Accéder et manipuler des portions de messages sur le serveur
sans avoir à les télécharger
Voir les messages et les pièces jointes sans les télécharger
Télécharger tous les messages pour les consulter hors
connexion
Créer, supprimer et renommer une boîte aux lettres
Vérifier l'arrivée de nouveaux messages
Supprimer des messages de la boîte aux lettres
Reconnaître les en-têtes RFC 822 et décoder les messages
MIME
Le Protocole IMAP 4
IMAP4 utilise le port TCP 143 et est décrit dans les RFC 1731, 2060,
2086, 2087, 2088 et 2095
Tout comme POP3, IMAP4 ne spécifie pas de méthode d'envoi de
courrier. Cette fonctionnalité doit être gérée par un autre protocole
comme SMTP
Paramétrage d’un Client POP
Principe de fonctionnement
MTA MTA
SMTP
SMTP
MDA
LMTP
UA
UA
POP/IMAP
MAA
Le WebMail
L’ UA est remplacée par une application Serveur accessible en HTML via
un navigateur standard.
Le client n’a donc pas besoin d’installer une application particulière sur
sa machine et peut consulter ses messages à partir de n’importe quel
poste disposant d’un navigateur.
C’est l’application Serveur WebMail qui interroge les boîtes aux lettres à
l’aide du protocole IMAP.
IMAP 4 HTTP
69
❖ Services Réseau
DNS, Active Directory (Samba4), DHCP
Web, Proxy Web, Archivage
FTP, NFS, E-Mail, iSCSI
VPN, Rsyncd, iSCSI, RDP
SSH, Cluster (DRBD, Corosync, Pacemaker, PCS)
70
Les ateliers
Atelier groupe 1: Web, Proxy Web, Archivage
Atelier groupe 2: VPN, Rsyncd, RDP, SSH
Atelier groupe 3: FTP, NFS, iSCSI
Atelier groupe 4: Cluster (DRBD, Corosync, Pacemaker, PCS), SSH
Atelier groupe 5: DNS, Active Directory (Samba4), DHCP
Fonctionnement
structure
Les équipements
Protocoles
Sécurité
Les types
Avantages et inconvénients
Définitions
La Voix sur IP est une technologie qui permet
d’acheminer, grâce au protocole IP, des paquets de
Fonctionnement données correspondant à des échantillons de voix
numérisée
structure
La VoIP est utilisée dans Skype, Windows live Messenger,
ZOOM, Whatsapp, et d’autre logiciels professionnels de
Vidéoconférence.
Les
Cette technologie est notamment utilisée pour supporter
équipements
le service de téléphonie IP (ToIP)
Protocoles
Sécurité
Signaux Signaux
vocaux digitaux
Les types
Avantages et
inconvénients
Le principe de fonctionnement de la VoIP
Définitions
La ToIP permet de téléphoner sur un réseau IP, cette téléphonie
s’effectue grâce à un IPBX : Autocommutateur IP
Fonctionnement La ToIP permet d’utiliser tous les services déjà présent en
téléphonie classique.
Avec la ToIP, il est possible de téléphoner sur une ligne
structure
analogique depuis une ligne numérique (et inversement)
Les
les codecs audio de l'émetteur procèdent à la
équipements
numérisation et à la compression de la voix.
• Latence
Fonctionnement • Gigue
• Paquets perdus
structure La latence désigne le délai entre le moment où une information
est envoyée et celui où elle est reçue.
Les Une gigue c'est la variation de délai, c'est la constante qui permet
équipements de préserver la synchronisation entre l'émetteur et le récepteur.
Et les paquets perdus sont les paquets perdus..
Protocoles
La structure de la VoIP se compose des quatre blocs suivants :
structure
Routeur
Les
équipements
Switch
Protocoles
Sécurité Téléphone Ip
Les types
Avantages et Un ordinateur
inconvénients
Définitions
Fonctionnement
structure
Les
équipements
Protocoles
Sécurité
Les types
Avantages et
inconvénients
•Les principaux protocoles utilisés pour l'établissement de
Définitions connexions en Voix sur IP sont:
1-Protocole SIP :
Fonctionnement
Les types
Avantages et
inconvénients
•Les principaux protocoles utilisés pour l'établissement de
Définitions connexions en Voix sur IP sont:
Fonctionnement
H323 :
structure
définit des échanges en pair à pair entre quatre types
Les d'équipements :
équipements
des terminaux de visiophonie ou de Voix sur IP,
Protocoles des passerelles entre le réseau téléphonique et le réseau de
Voix sur IP,
des équipements offrant des services particuliers.
Sécurité des gatekeeper (centres de contrôle) pour l'administration de
la bande passante et faire fonction d’autocommutateurs
virtuels.
Les types
Avantages et
inconvénients
•Les principaux protocoles utilisés pour l'établissement de
Définitions connexions en Voix sur IP sont:
Fonctionnement
MGCP/MEGACO :
Protocoles SCCP :
Avantages et
inconvénients
•Les principaux protocoles utilisés pour l'établissement de
Définitions connexions en Voix sur IP sont:
Fonctionnement
Jingle :
structure
Sécurité
Les types
Avantages et
inconvénients
•Les principaux protocoles utilisés pour le transport de la
Définitions voix sont :
RTP :
Fonctionnement
Protocoles
RTCP :
Avantages et
inconvénients
Pour une bonne sécurité il faut éviter ces menaces:
Définitions
Fonctionnement
structure
Les
équipements
Protocoles
Sécurité
Les types
Avantages et
inconvénients
•Téléphonie IP PC à PC :
Définitions
Fonctionnement
structure
Les
équipements
Protocoles
Sécurité
Les types
Avantages et
inconvénients
•PC à poste téléphonique :
Définitions
Fonctionnement
structure
Les
équipements
Protocoles
Sécurité
Les types
Avantages et
inconvénients
•poste téléphonique à poste téléphonique :
Définitions
Fonctionnement
structure
Les
équipements
Protocoles
Sécurité
Les types
Avantages et
inconvénients
Définitions
avantages
Fonctionnement
structure L’accessibilité
Les
équipements Réduction des
couts
Protocoles
Avantages et
inconvénients
Définitions
Fonctionnement Inconvénients :
structure
Les Dépendance de
équipements Fiabilité et l’infrastructure
qualité sonore technologique et
Protocoles support
Technologie
administratif
émergente et
exigeant :
constante
Sécurité évolution des
normes
Les types
Avantages et
inconvénients
Définitions
Fonctionnement
structure
Les
Application:
équipements
Asterisk sur Linux
Protocoles
Sécurité
Les types
Avantages et
inconvénients
Asterisk sur Linux
IPBX / Protocoles utilisés
Comme en téléphonie classique, un PBX est nécessaire : ici c’est un IPBX.
Dans le cas de ce cours cet IPBX s’appelle Asterisk
Asterisk un logiciel gratuit qui permet de convertir un ordinateur ordinaire en
un serveur de voix sur IP riche en fonctionnalités
Asterisk implémente les protocoles H.320 H.323 et SIP, ainsi que IAX (Inter-
Asterisk eXchange)
IAX permet la communication entre deux serveurs Asterisk ainsi qu'entre
client et serveur Asterisk.
92
Sip : schéma protocolaire cas 1
Il est possible de téléphoner à travers l’IPBX Asterisk. Le tel A envoie un
paquet à Asterisk qui le réenvoie au tel B.
93
Sip : schéma protocolaire cas 2
Cas spécial : pas de
service de téléphonie
complémentaire (double
appel…) en
plus sur Asterisk.
Ici, une fois l’appel en
place, Asterisk envoie une
trame« Direct RTP » et
l’appel se fait en
« Point à Point »
entre le Tel A et B.
94
Un IPBX est nécessaire pour la distribution
d’appels : Asterisk qui est un logiciel doit être
installé sur une machine physique.
Cette machine physique peut-être n’importe
quel ordinateur ayant un des OS suivant : Linux
et Unix.
Il existe des solutions toutes packagées
Trixbox, Phonics sont des OS tout près avec
Asterisk à l’intérieur.
95
Ilexiste des équipements embarquant
Asterisk comme Wisp-e ou encore Aastra
Mastra qui est hybride
Asterisk/propriétaire.
96
Les postes téléphoniques peuvent être de
3 types : Numériques (ip-phone), Logiciels
(Softphones) ou analogiques (téléphones
classiques).
Un IP-Phone, est un téléphone qui prend
directement en charge la ToIP, il dispose
d’un port RJ45 et est connecté à l’IPBX
Un softphone est un logiciel simulant un
téléphone (grâce à un compte SIP): X-lite
Il existe un adaptateur permettant de
connecter un téléphone analogique sur un
lien numérique : il faut renseigner les
identifiants d’un compte sip et le boitier
convertit le signal analogique en IP.
97
Distributions
Trixbox
Anciennement Asterisk@Home
Sponsorisée par Fonality
Distribution basée sur CentOS et centrée sur Asterisk
Intègre différents logiciels développés par la communauté Asterisk :
FreePBX, FOP, SugarCRM, A2Billing…
AsteriskNOW
Développé par Digium
Distribution Linux personnalisée intégrant Asterisk, son interface GUI, et tous les
packages requis pour un système Asterisk
Installation et administration facilitées
VXIasterisk
Extensions
Softphones :
X-Lite
Idefisk (SIP et IAX2)
Wengophone
Bol SipPhone
Kapanga
Express Talk
Snom360
SJphone
Windows Messenger
Box
Asterisk Appliance
Pour les PME (2 à 50 utilisateurs)
Solution entièrement VoIP ou hybride
Fourni avec Asterisk Business Edition et
AsteriskGUI
LumenVox (reconnaissance vocale) et Cepstral
(TTS)
Un an de support Digium
5 ports Ethernet (4 LAN, 1 WAN)
Jusqu’à 8 ports TDM
Annulation d’écho
Carte Compact Flash 1 Go
8 Mo de mémoire Flash embarquée
64 Mo de RAM embarquée
VoIP seulement : $995
4 FXS / 4 FXO : $1,540
8 FXO : $1,595
Webographie
103
Place à la pratique
RAID 1 en « duplexing ».
Le RAID 1
Dans la majorité des cas, la carte RAID ou le circuit intégré (sur
certaine cartes mères d’entrée de gamme, le contrôleur IDE intégré
gère le RAID) ne possède qu’un seul contrôleur. On parle alors de
« mirroring ».
Le schéma (ci-à droite) présente un RAID 1 en « mirroring ». Seul 25
Go sont exploitables et les performances en lecture sont multipliées
par deux.
Le RAID 1
Disk1 1 0 1 0
Disk2 0 1 1 1
SOS 1 1 0 1
Le RAID 3
Supposons maintenant que le disk1 est H.S
La valeur sur le disk 1 va être:
ValDisk1 = SOS Xor ValDisk2
SOS 1 1 0 1
Disk2 0 1 1 1
Disk1 1 0 1 0
Le RAID 3
Au moment où les données sont écrites, des informations indiquant
sur quel disque ont été stocké les données sont enregistrées dans le
disque de parité (informations de parité)
Si l’un des disques contenant des données tombe en panne, alors le
disque de parité et les disques restant permettent de reconstruire
les données qui étaient stockées sur le disque endommagé.
Le RAID 3
Lorsque le disque de parité tombe en panne le système continue de
fonctionner en mode RAID 0 avec les disques restants qui contiennent
les données. Lorsque l’on rajoute un nouveau disque de parité, les
informations de parité sont reconstruites et le RAID 3 redevient actif.
Le RAID 3 apporte donc la tolérance de panne car le système supporte la perte d’un disque quel
qu’il soit (données ou parité). En revanche si deux disques durs tombent en panne
simultanément, les données sont perdues.
Le RAID 3
Fonctionnement du RAID 3 pour un accès en lecture
•Tous les disques (sauf le disque de parité)
travaillent de concert ce qui augmente
fortement les performances.
•Dans l’exemple ci-contre, on veut lire un fichier
nommé « film.avi » situé sur un ensemble RAID 3
composé de trois disques. Les données du fichier
ont été réparties sur les deux premiers disques.
Le disque de parité n’est pas sollicité lors des
opérations de lecture.
•Dans le cas d’un accès en lecture d’un ensemble
RAID 3 composé de trois disques se comporte
comme un ensemble RAID 0 composé de 2
disques.
•Lors de la lecture du film les deux disques
travaillerons en parallèle : chacun lisant une
partie des données, ce qui va quasiment
multiplier les performances par deux.
Le RAID 3
• Fonctionnement du RAID 3 pour un accès en écriture
Le raid3 a un gros défaut.
A chaque fois qu’on écrit un fichier sur le disque, il est
découpé en morceaux qui sont copiés en même temps sur
chacun des disques (sauf le disque de parité). Et à chaque
écriture sur l’un des disques, il y a une écriture sur le
disque de parité.
Cela signifie que le disque de parité travaille plus que les
autres disques. Par exemple, dans un RAID 3 composé de 3
disques, le travail du disque de parité est deux fois plus
important que celui des autres disques.
De même dans un système RAID 3 composé de 6 disques,
les accès en écriture au disque de parité seront cinq fois
plus importants que ceux des cinq premiers disques. Cela
est généralisable, ainsi lorsqu’on a un ensemble composé
de n disques, les accès au disque de parité sont (n-1) fois
plus nombreux que pour les autres disques.
Le RAID 3
• Fonctionnement du RAID 3 pour un accès en écriture
Le disque de parité se
révèle être un véritable
goulot d’étranglement
au niveau des
performances en
écriture.
Comme sa charge de
travail est plus élevée,
le disque de parité à
tendance à tomber en
panne très
fréquemment.
Le RAID 3
• Exemple
On met en place un RAID 3 composé de 3 disques
durs. Le système d’exploitation verra un seul disque
dur d’une capacité de 120 Go. Cela peut sembler
étrange car la capacité physique totale des trois
disques durs est de 215 Go (75 Go+ 60 Go + 80 Go =
215 Go).
Capacité
utilisable = (taille du disque le plus petit ) *
(nombre de disques – 1)
le RAID 5
le RAID 5
De par ses nombreux avantages le RAID 5 est très
populaire dans le monde professionnel car il apporte
la tolérance de panne tout en conservant
d’excellentes performances en lecture et en écriture.
De plus si on utilise une interface qui supporte le
branchement à chaud ou "hot plug" (SCSI ou Sata), il
n’est même plus nécessaire d’éteindre le serveur.
Bien entendu la mise en place d’un ensemble RAID 5
fait perdre de l’espace disque (en fait l’espace
réservé à la parité qui représente la taille d’un
disque).
La répartition de la parité sur l’ensemble des disques
entraîne une remise en ordre un peu lente lorsqu’un
disque dur est échangé suite à une panne.
l'orthogonal RAID 5
L’Orthogonal RAID 5 est une technique
logicielle crée par IBM.
Ce mode est identique au RAID 5 dans toutes
ses fonctionnalités.
Sa seule différence notable est l’utilisation
d’un contrôleur par disque.
Cela permet d’augmenter la sécurité des
données. En effet, même si l’un des
contrôleurs tombe en panne les données sont
sauves.
le RAID 6
Le RAID 6 met en place une double
redondance des données de parité.
Les informations de parité sont stockées en
doubles exemplaires.
Tout comme pour le RAID 5, les informations
de parité sont réparties équitablement sur
l’ensemble des disques.
La double redondance des données permet la
perte de deux disques sans qu’aucune
donnée ne soit perdue.
le RAID 6
Le RAID 6 nécessite au moins quatre disques durs
pour fonctionner.
En ce qui concerne la capacité utilisable de
stockage, on perd l’espace de deux disques. Donc
dans un système utilisant n disques, la capacité
utilisable est définie par la relation suivante :
Capacité utilisable = (taille du disque le plus petit ) *
(nombre de disques – 2)
Les performances en lecture comme en écriture sont
augmentées.
Avec un nombre de disques équivalents, un
ensemble RAID 6 sera moins performant qu’un
ensemble RAID 5 (car un disque de plus est utilisé
pour la parité).
le RAID 7
Ce mode est utilisé pour avoir un niveau de
sécurité ou des performances très supérieures
aux autres modes RAID.
Il utilise un grand nombre de disques (avec un
maximum de 48 disques).
On peut définir manuellement le nombre de
disques dédiés au stockage de la parité et au
stockage des données.
Le nombre de disques que le système peut
perdre est proportionnel au nombre de disques
dédiés au stockage des informations de parité.
le RAID 7
Le RAID 7 fait appel à une carte microprocesseur
qui calcule la parité, la gestion du disque et qui
gère la surveillance des disques en temps
réel. Tous les transferts de données se font en
mode asynchrone ce qui augmente de 1,5 à 6 fois
les performances en écriture.
Il est peu utilisé car il
très coûteux en
équipement et difficile à
mettre en place.
Conclusion
Pour conclure, les modes les plus intéressant sont les modes 0, 1 et 5.
Les autres modes sont peu ou pas utilisés car :
le RAID 2 est obsolète
le RAID 3 et 4 utilisent un disque de parité ce qui crée un goulot
d’étranglement.
Le RAID 6 est onéreux
le RAID 7 est très onéreux et difficile à mettre en place
Conclusion
Voici un petit tableau comparatif des trois modes
les plus intéressants fonctionnant avec 10 disques
durs d’une capacité unitaire de 120 Go et ayant
un débit réel en lecture/écriture de 70/50 Mo/s.
RAID 0 RAID 1 RAID 5
capacité 1200 Go (100 120 Go (10 %) 1080 Go
%) (90%)
débit en 700 Mo/s 700 Mo/s 620 Mo/s
lecture
débit en 500 Mo/s 50 Mo/s 450 Mo/s
écriture
Tolérance de aucun jusqu’à 9 un disque
panne(nombr disques
e de disques)
Place à la pratique
Programme ❖ System Startup
Création d’un niveau d’exécution sur mesure avec applications spécifiques
Réinstallation de GRUB après corruption
Autres méthodes de chargement du noyau
❖ Services Réseau
DNS, Active Directory (Samba4), DHCP
Web, Proxy Web, Archivage
FTP, NFS, E-Mail, iSCSI
VPN, Rsyncd, iSCSI, RDP
15/03/2022 150
Sommaire
Présentation : qu’est ce que le clustering ?
Problématique (problèmes d’architecture)
Les clusters d’applications
architecture
algorithmes utilisés
librairies
exemples
Les clusters de fichiers
conception
structure des fichiers
statistiques
Conclusion
15/03/2022 151
Qu’est ce que le clustering ?
Définition :
15/03/2022 152
Quelques mots de vocabulaire
Node :
Node Server :
15/03/2022 153
Problématique
15/03/2022 154
1ère partie
15/03/2022 155
Pourquoi des clusters d’application ?
15/03/2022 156
Comparaison
Architecture multiprocesseurs
coût important
maximum de 16 processeurs (systèmes Linux)
calculs rapides
accès facile à l’application et à la mémoire
Architecture en clusters
utilisationde machines du réseau
coût de mise en œuvre relativement abordable
architecture client serveur difficile à mettre en place
nécessite une bande passante importante
15/03/2022 157
Architecture multiprocesseurs
Concepts :
15/03/2022 158
Exemple d’architecture multiprocesseurs
Mémoire
15/03/2022 159
Architecture multiprocesseurs
Bilan :
mise en place aisée
coût important
limites de développement
problème de redondance
nécessite du code écrit pour être exécuté sur
plusieurs processeurs en parallèle
accès à la mémoire
accès au code
15/03/2022 160
Architecture en clusters
Concepts :
partage de l’exécution d’une application entre
plusieurs machines d’un réseau
redondance
haute disponibilité
accélération des temps d’exécution de façon
significative
problème de charge réseau : échange de messages
temps de latence
15/03/2022 161
Architecture en clusters
Application
Echange de messages
15/03/2022 162
Comment ça marche ?
Algorithmes utilisés :
méthode de partage du calcul des boucles d’exécution
(for, while)
délégation des calculs
redondance
échange de messages
15/03/2022 163
Partage du calcul des boucles
int sum = 0;
for (i = 0; i < 1000; i++)
{
sum += i * 50;
}
15/03/2022 164
Partage du calcul des boucles
Programme partagé dans un cluster de deux machines :
Bilan :
nécessite un code approprié
écriture des sources plus difficiles
langages supportés : C et Fortran
partage d’information sur le réseau
l’application« fork » un processus d’une machine
à une autre machine du réseau
15/03/2022 166
Émission de messages
Concepts :
application client / serveur
émission des informations propres à un processus
vers la node cliente afin que cette dernière
puisse exécuter le code (« fork » sur le réseau )
librairies portables
bande passante importante
15/03/2022 167
Émission de messages
Passage de messages
Librairie libre de droits
Portable
Implémentée dans les couches supérieures du modèle OSI
(au dessus des sockets)
Réseaux hétérogènes
15/03/2022 169
MPI (Message Passing Interface)
15/03/2022 170
AFAPI (Aggregate Function API)
15/03/2022 171
Émission de messages
Bilan :
protocole haut niveau de communication client /
serveur afin d’implémenter les systèmes en cluster
portable et fonctionnant sur des systèmes hétérogènes
gourmand en bande passante (entre 20 et 50 Mbits par
seconde)
demande de faible temps de latence (moins de 200 ms)
15/03/2022 172
Exemples d’utilisation
Earth Simulator
Architecture NEC SX
640 nodes
8 processeurs par node
16 Gb de mémoire par node
5120 processeurs
40 téra instructions par seconde
10 téra octets de mémoire
700 téra octets de disque dur
15/03/2022 173
Exemples d’utilisation
ASCI White
15/03/2022 174
2ème partie
15/03/2022 175
Les clusters de fichiers
redondance
multi-sites
pratiques
facilement administrables
15/03/2022 176
Les clusters de fichiers
Exemple MOPI (Mosix)
Principes :
partage de fichiers entre plusieurs nodes
fragments de données indépendants
stockages de fichiers de grande taille
redondance
accès transparent aux fichiers
15/03/2022 177
Les clusters de fichiers
MFS : Mosix File System
Méthode d’accès aux fichiers :
15/03/2022 178
Structure des fichiers
MetaUnit : contrôle les inodes et
les emplacements des fichiers
15/03/2022 179
Composants MOPI
Niveau utilisateur et
application
Démons
Interface shell
Niveau système
15/03/2022 180
Statistiques
Comparaison MFS / NFS :
60 stations de travail
Architecture Pentium III 1,3 GHz 512 Mo disque
dur, 20 Go disque dur.
Access Method
Block
Local MFS NFS
1K 14,4 18 162
4K 13,2 15,4 162
8K 13 15 161,6
16 K 13 15 162
32 K 13,8 15,4 162,8
64 K 14,2 16,4 163
15/03/2022 181
Conclusion clusters de fichiers
15/03/2022 182
Quelques références
Sous Linux :
beowolf :
Optimisation du taux d’occupation de la bande
passante
Nombre important de nodes sur le réseau local
mosix :
Nécessite de patcher le noyau linux
Load balancing dynamique
15/03/2022 183
Conclusion
15/03/2022 184
Haute disponibilité
Contexte
Technologie de virtualisation
Technologie de clustering
OpenVZ
Pacemaker
Solution mise en oeuvre
Bilan
15/03/20
185
22
OpenVz, Pacemaker
Problématique de départ
Sécuriser les services de la DMZ
- Emission des messages électroniques (SMTP)
- Serveurs web institutionnels
- Machines d’accès et de transfert de fichiers
- Serveur d’agendas (OBM, Phpgroupware)
Renouvellement de la solution existante
- Mécanismes de haute disponibilité
- Virtualisation
15/03/20
186
22
OpenVz, Pacemaker
Plan de l’exposé
Contexte
Technologie de virtualisation
Technologie de clustering
OpenVZ
Pacemaker
Solution mise en œuvre
Bilan
15/03/20
187
22
OpenVz, Pacemaker
Technologie de virtualisation
15/03/20
188
22
OpenVz, Pacemaker
Technologie de virtualisation
Intérêts :
Economique : mutualisation du matériel, bénéfice en terme de
coût d’acquisition, de possession (rack, électricité, climatisation,
réseau) et d’exploitation
Facilité d’administration : installation, déploiement et migration
aisées des machines virtuelles entre serveurs physiques,
simulation d’environnements de qualification ou de pré-
production, création de plateforme de tests ou de
développements réutilisables à volonté
Sécurisation : séparation des systèmes virtuels et hôtes
(invisibles), répartition des utilisateurs, allocation dynamique des
ressources, dimensionnement des serveurs facilités
15/03/20
189
22
OpenVz, Pacemaker
Technologie de virtualisation
Différentes techniques :
Machine virtuelle : Utilisation d’un logiciel. Emulation partielle ou
totale d’une machine
Hyperviseur complet : Utilisation d’un noyau hôte léger
permettant de faire tourner des systèmes d’exploitations natifs
Paravirtualiseur : Utilisation d’un noyau hôte allégé permettant
de faire tourner des systèmes d’exploitations invités, adaptés et
optimisés
Isolation : Séparation forte entre différents contextes logiciels sur
un même noyau de systèmes d’exploitation
15/03/20
190
22
OpenVz, Pacemaker
Technologie de virtualisation
Machine virtuelle :
Emulation logicielle
Bonne isolation
Coût en performance
Exemples :
- Qemu
- VMWare
- VirtualPC, VirtualServer
- VirtualBox
15/03/20
191
22
OpenVz, Pacemaker
Technologie de virtualisation
Hyperviseur complet :
Utilisation d’un micro-noyau
Outils de supervision
Emulation des I/O
Instructions spécifiques
Exemples :
- QEMU
- KVM
- VMWare Server
- VirtualPC, VirtualServer
- VirtualBox
15/03/20
192
22
OpenVz, Pacemaker
Technologie de virtualisation
Paravirtualiseur :
Micro-noyau hôte optimisé
OS invités adaptés et optimisés
Sans instructions spécifiques
Exemples :
- XEN
- KVM (avec Virtio)
- VMWare ESX et ESXi
- Microsoft Hyper-V Server
- Oracle VM
15/03/20
193
22
OpenVz, Pacemaker
Technologie de virtualisation
Isolateur :
Séparation en contextes
Régi par l’OS hôte
Mais cloisonnés
Un seul noyau
N espaces utilisateurs
Solution très légère
Exemples
- Linux-VServer
- BSD Jail
- OpenVZ
15/03/20
194
22
OpenVz, Pacemaker
Plan de l’exposé
Contexte
Technologie de virtualisation
Technologie de clustering
OpenVZ
Pacemaker
Solution mise en œuvre
Bilan
15/03/20
195
22
OpenVz, Pacemaker
Technologie de clustering
Cluster = agrégat de machines dans un but de travail
coopératif.
Cluster : pour 2 fonctionnalités
Augmentation de la puissance de traitement (scalability) : on
veut que la puissance de traitement suive de manière linéaire le
nombre de machines du cluster.
Augmentation de la disponibilité (availability): on veut minimiser
les inconvénients liées aux pannes par la redondance des
machines entre elles.
15/03/20
196
22
OpenVz, Pacemaker
Cluster Haute-Disponibilité
Obligatoirement :
le service doit pouvoir supporter :
un arrêt brutal.
un redémarrage brutal.
15/03/20
197
22
OpenVz, Pacemaker
Cluster Actif-Passif
OpenVz, Pacemaker
Cluster Actif-Actif
OpenVz, Pacemaker
Cluster à répartition de charges
Ferme de serveurs
Répartition d’un même service sur plusieurs machines
Pour le monde extérieur : un serveur unique
15/03/20
200
22
OpenVz, Pacemaker
Plan de l’exposé
Contexte
Technologie de virtualisation
Technologie de clustering
OpenVZ
Pacemaker
Solution mise en œuvre
Bilan
15/03/20
201
22
OpenVz, Pacemaker
OpenVZ : principes
C'est une virtualisation au niveau noyau en réalisant un
partitionnement des ressources systèmes
C'est le noyau du système d'exploitation qui fait une isolation
entre des machines virtuelles et permet d'exécuter des
applications dans des contextes différents
Chaque contexte d'exécution est une machine virtuelle (VPS)
se partageant le même noyau.
Un processus d'une machine virtuelle ne peut pas faire de déni
de service en dehors de sa machine virtuelle
Il n'y a pas d'« émulation » à proprement parler comme dans
d'autres système de virtualisation. 15/03/20
202
22
OpenVz, Pacemaker
OpenVZ : fonctionnalités
Chaque « Virtual Private Servers » VPS est un système
indépendant
Les VPS sont des systèmes Linux normaux (file system,
scripts, programmes) : aucune spécificité openVZ
Les VPS sont totalement isolés les uns des autres (mémoire,
file system, communication inter-processus (IPC))
Chaque VPS a sa propre adresse réseau, les adresses multiples
par VPS sont permises. Le trafic réseau de chaque VPS est
isolé (pas de snooping possible).
15/03/20
203
22
OpenVz, Pacemaker
OpenVZ : fonctionnalités
Migration à chaud : Sauvegarde sur disque de l’état du serveur
virtuel via un mécanisme de snaphot. Ce fichier peut alors être
transféré sur une autre machine et restauré en état de marche
en quelques secondes.
Les « beancounters » : Ensemble de paramètres (une
vingtaine) pouvant être attribué à chaque serveur virtuel pour
imposer des limites et préserver les ressources de la machine
hôte.
Gestion des ressources : Outils permettant de contrôler
l’utilisation des ressources de l’hôte par machine virtuelle
(mémoire résidente et virtuelle, quotas d’utilisation CPU et
disque, priorités d’accès CPU et disque)
OS template : « file system » d'une distribution Linux
permettant de « peupler » les VPS, disponibles sous forme de
paquetages ou pouvant être créés.
15/03/20
204
22
OpenVz, Pacemaker
OpenVZ : avantages
Pas besoin d’image disque de machine. Il suffit de copier un
file system pour installer une machine virtuelle
Consommation mémoire légère (la mémoire est mutualisée
entre le serveur hôte et les VPS et la mémoire demandée à
l'hôte est celle réellement utilisée par les processus du VPS)
Cela peut simplement être vu comme un chroot du file system
amélioré par une isolation des processus
Tous les processus des machines virtuelles font les appels
système à un seul noyau. Les E/S sont donc plus efficaces que
sur un système qui tournerait à travers une émulation
Intégré dans la distribution Debian en standard
Gestion fines des ressources
15/03/20
205
22
OpenVz, Pacemaker
OpenVZ : Installation sous Debian
Installation (noyau patché + utilitaires) :
aptitude install linux-image-2.6.26-2-openvz-amd64
aptitude install vzctl vzdump vzquota vzprocps
shutdown -r now
uname –r : 2.6.26-1-openvz-686
OpenVz, Pacemaker
OpenVZ : Installation sous Debian
Récupération d'un template d'OS :
cd /vz/template/cache
wget http://download.openvz.org/template/precreated/debian-
5.0-amd64-minimal.tar.gz/
Création et configuration du VE :
vzctl create 101 --ostemplate \
debian-5.0-amd64-minimal.tar.gz
vzctl set 101 --onboot yes –save
vzctl set 101 --hostname xstra –save
vzctl set 101 --ipadd 172.16.0.101 –save
vzctl set 101 --nameserver 130.79.200.200 –save
vzctl set CTID –-diskspace 80G:80G –save
vzctl set 100 –-privvmpages 250M:250M –save
vzctl start 101
15/03/20
207
vzctl enter 101 22
OpenVz, Pacemaker
OpenVZ : Installation sous Debian
Autres commandes utiles :
vzlist
vzctl stop 101
vzctl destroy 101
vzctl exec 101 ps ax ou vztop
vzmemcheck, vzcpucheck, vzcalc
Sauvegarde et restauration :
Par défaut dans /var/lib/vz/dump
vzdump –compress –dumpdir /mnt/xstra/ --stop 101 –mailto
[email protected]
vzdump –restore /mnt/xstra/xstra.tgz 101
Migration à chaud :
Fonctionne avec rsync et ssh (automatisation via clé ssh)
208
Vzmigrate –r no –online –v 172.16.0.102 101 15/03/20
22
OpenVz, Pacemaker
OpenVZ : Configuration
OpenVz, Pacemaker
OpenVZ : Configuration
Exemple : fichier vz.conf
## Global parameters
VIRTUOZZO=yes
LOCKDIR=/var/lib/vz/lock
DUMPDIR=/var/lib/vz/dump
VE0CPUUNITS=1000
## Logging parameters
LOGGING=yes
LOGFILE=/var/log/vzctl.log
LOG_LEVEL=0
VERBOSE=0
## Disk quota parameters
DISK_QUOTA=yes
VZFASTBOOT=yes
# The name of the device whose ip address will be used as source ip for VE.
# By default automatically assigned.
#VE_ROUTE_SRC_DEV="eth0"
# Controls which interfaces to send ARP requests and modify APR tables on.
NEIGHBOUR_DEVS=detect
## Template parameters
TEMPLATE=/var/lib/vz/template
## Defaults for VEs
VE_ROOT=/var/lib/vz/root/$VEID
VE_PRIVATE=/var/lib/vz/private/$VEID
CONFIGFILE="vps.basic"
#DEF_OSTEMPLATE="fedora-core-4"
DEF_OSTEMPLATE="debian"
## Load vzwdog module
VZWDOG="no"
## IPv4 iptables kernel modules
IPTABLES="ipt_REJECT ipt_tos ipt_limit ipt_multiport iptable_filter iptable_mangle ipt_TCPMSS ipt_tcpmss ipt_ttl ipt_length"
## Enable IPv6
IPV6="no"
## IPv6 ip6tables kernel modules 15/03/20
210 IP6TABLES="ip6_tables ip6table_filter ip6table_mangle ip6t_REJECT" 22
OpenVz, Pacemaker
OpenVZ : Configuration
Exemple : fichier <ctid>.conf
ONBOOT="no"
# UBC parameters (in form of barrier:limit)
KMEMSIZE="14372700:14790164"
LOCKEDPAGES="356:356"
TCPSNDBUF="1720320:2703360"
TCPRCVBUF="1720320:2703360"
OTHERSOCKBUF="1126080:2097152"
DGRAMRCVBUF="262144:262144"
NUMOTHERSOCK="360:360"
DCACHESIZE="3409920:3624960"
NUMFILE="9312:9312"
AVNUMPROC="180:180"
NUMIPTENT="128:128"
# Disk quota parameters (in form of softlimit:hardlimit)
DISKSPACE="1048576:1153024"
DISKINODES="200000:220000"
QUOTATIME="0"
# CPU fair sheduler parameter
CPUUNITS="1000"
VE_ROOT="/dataipcmsdmz/lv-serveur-web-11/root/$VEID"
VE_PRIVATE="/dataipcmsdmz/lv-serveur-web-11/private/$VEID"
OSTEMPLATE="debian-5.0-amd64-minimal"
ORIGIN_SAMPLE="vps.basic"
HOSTNAME="serveur-web-11.u-strasbg.fr"
NAMESERVER="130.79.200.200"
IP_ADDRESS="130.79.210.3"
NETIF="ifname=eth0,mac=00:18:51:7C:A9:57,host_ifname=veth2010.0,host_mac=00:18:51:91:C1:E5"
15/03/20
211
22
OpenVz, Pacemaker
Plan de l’exposé
Contexte
Technologie de virtualisation
Technologie de clustering
OpenVZ
Pacemaker
Solution mise en œuvre
Bilan
15/03/20
212
22
OpenVz, Pacemaker
Pacemaker
Solution OpenSource de clustering
Gestion de la haute disponibilité des services et données
Evolution de hearbeat (différentes branches, version 3)
Gestion de cluster jusqu’à 16 noeuds
Gestion de différents modes : Actif/Passif, Actif/Actif
Depuis la version 2 gestion intégrée des ressources
Déplacement dynamique/manuel des ressources
Co-location et ordre de lancement des ressources
15/03/20
213
22
OpenVz, Pacemaker
Pacemaker (évolutions)
Linux-HAv1 :
Limitation à 2 nœuds en actif/passif
Configuration par scripts (haresources)
Pas de gestion automatique des ressources
Linux-HAv2 :
Ajout d’un gestionnaire de ressources (CRM)
16 nœuds en actif/actif ou actif/passif
Les communications se font via la couche heartbeat
Configuration par scripts XML ou interface graphique
Gestion automatique des ressources
Branche de développement arrêtée en 2007
15/03/20
214
22
OpenVz, Pacemaker
Pacemaker (évolutions)
Pacemaker :
Nouvelle branche de développement (OpenAIS)
16 nœuds en actif/actif ou actif/passif
Communications via heartbit ou OpenAIS
Configuration par scripts XML ou interface graphique
Possibilité de simuler des scénarios
Outils de diagnostiques performants
OpenVz, Pacemaker
Pacemaker (évolutions)
15/03/20
216
22
OpenVz, Pacemaker
Pacemaker : Installation sous Debian
Modification du fichier /etc/apt/source.list :
deb http://www.backports.org/debian lenny-backports main contrib non-
free
deb http://people.debian.org/~madkiss/ha lenny main
OpenVz, Pacemaker
Pacemaker : Installation sous Debian
Configuration corosync :
via le fichier /etc/corosync/corosync.conf
modifier au minimum :
interface {
# The following values need to be set based on your
# environment
ringnumber: 0
bindnetaddr: 172.16.152.130
mcastaddr: 226.94.1.1
mcastport: 5405
}
OpenVz, Pacemaker
Pacemaker : Configuration
Via les commandes du gestionnaire de ressources :
crm : Exemple
primitive fs-serveur-web-01 ocf:heartbeat:Filesystem \
operations $id="fs-serveur-web-01-operations" op \
monitor interval="20" timeout="40" \
params device="/dev/vg-dataipcmsdmz/lv-serveur-web-01" \
directory="/dataipcmsdmz/lv-serveur-web-01" \
fstype="ext3"
OpenVz, Pacemaker
Pacemaker (GUI)
15/03/20
220
22
OpenVz, Pacemaker
Pacemaker (GUI)
15/03/20
221
22
OpenVz, Pacemaker
Plan de l’exposé
Contexte
Technologie de virtualisation
Technologie de clustering
OpenVZ
Pacemaker
Solution mise en œuvre
Bilan
15/03/20
222
22
OpenVz, Pacemaker
Solution mise en œuvre
VE 100 VE 101 failover VE 105 VE 106
OS Virtualisation OS Virtualisation
OpenVZ OpenVZ
Pacemaker Pacemaker
Corosync Corosync
Node 1 Node 2
Stockage partagé
2,25 Tb en raid 6
15/03/20
223
22
Solution mise en œuvre
VE1000
eth0 Web-proxy
bridge
eth1
br0 VE1001
eth2 OBM
130.79.210.0/28
VE1002
FTP
VE1003
VE2003
Mysql VE2003
bridge VE2002
VE2001
br1 VE2000
VE1004
Web-05
Web-04
Postgresql Web-03
Web-02
172.16.153.0/24 Web-01
15/03/20
224
22
OpenVz, Pacemaker
Solution mise en œuvre
Baie Provigo 610 SAS :
8 disques de 500 Go SATA à 7200 tr/min
1 disque Hot Spare
1 Raid Group (7 disques) en Raid 6 (2,5 To utile)
1 contrôleur, cache 1 Go, unité batterie
alimentation redondante
double connexions SAS vers les 2 serveurs
2 Serveurs Calleo 121
Quad Core
8 Go de mémoire, 160 Go (en mirroir), 2 x 1 Gb Ethernet + IPMI
Cluster
Actif/Actif
SMTP, OBM, SSH, HTTP, HTTPS, MYSQL, POSTGRESQL
15/03/20
225
22
OpenVz, Pacemaker
Place à la pratique
Support de TP en annexe