\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{geometry}
\geometry{top=15mm, bottom=15mm, left=1cm, right=1cm}
\usepackage[french]{babel}
\usepackage{pslatex}
\usepackage[colorlinks=true,urlcolor=black]{hyperref}
\usepackage{graphicx}
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\footrulewidth}{0.4pt}
\fancyfoot[L]{Uubu.fr}
\fancyfoot[R]{lun. janv. 26 14:08:58 CET 2015}
\lfoot{\Large \textit{Uubu.fr}}
\hypersetup{pdfinfo={
Title={Corosync - Présentation},
Author={Sylvain Girod},
Creator={Bash script from uubu.fr's format version 1},
Producer={Bash script and PDFLaTeX},
Subject={Présentation du moteur de cluster Corosync},
CreationDate={D:20150126140858},
ModDate={D:20150126140858},
Keywords={clustering;cluster messaging layer}
}}
\begin{document}
 
\begin{center}
{\Huge Corosync - Présentation }
\end{center}
\vspace{1cm}
 
\begin{flushleft}
 
{\large Présentation du moteur de cluster Corosync}
 
\vspace{10mm}
 
\vspace{1cm}{\huge Description }
 
\
 
\hspace{1mm}  Le projet corosync est un projet pour implémenter un outil de développement de haute disponibilité haute performance et faible charge. Le focus majeur de la haute disponibilité dans le passé a été de masquer les erreurs hardware. Les pannes dans d'autres composants du système restaient non-résolus jusqu'à corosync. Corosync est conçu pour les applications pour répliquer leur état jusqu'à 16 processeurs. Les processeurs contiennent tous un réplica de l'état de l'application.
\vspace{5mm} \\
\hspace{1mm}  Le projet corosync fournis une API de message de groupe appelé CPG, qui implément un modèle de messagerie de groupe fermé présentant des garantie de synchronisation virtuel garantie.
\vspace{5mm} \\
\hspace{1mm}  Pour gérer les conditions où les processus exécutant l'échange CPG plante, on fournis le Simple Availability Manager (SAM) pour permet de redémarrer l'application.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Démarrage rapide }
 
\
 
\hspace{1mm}  Dans le répertoire conf dans les sources se trouvent de nombreux fichiers qui doivent être copiés dans le répertoire \textbf{/etc/corosync}. corosync devrait fonctionner avec la configuration par défaut. Corosync utilise des techniques cryptographiques pour s'assurer de l'authenticité et de la protection des messages. pour que corosync soit sécurisé, une clé privée doit être générée et partagée par tous les processeurs.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Variables d'environnement }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} COROSYNC\_MAIN\_CONFIG\_FILE]{Spécifie le fqdn du fichier de configuration. défaut: /etc/corosync/corosync.conf}
\item[\hspace{1mm} COROSYNC\_TOTEM\_AUTHKEY\_FILE]{fqdn de la clé partagée utilisée pour authentifier et chiffrer les données utilisée dans le protocole Totem. Défaut: /etc/corosync/authkey}
\end{description}
 
\vspace{1cm}{\huge Sécurité }
 
\
 
\hspace{1mm}  Corosync chiffre tous les messages envoyés sur le réseau en utilisant le chiffrement SOBBER-128. Corosync utilise HMAC et SHA1 pour authentifier tous les messages. Corosync utilise NSS comme générateur de nombres pseudo-aléatoire. La libraire EVS utilise /dev/random.
\vspace{5mm} \\
\hspace{1mm}  Si les messages de membre peuvent être capturés par des intrus, il est possible d'exécuter une attaque DOS dans le cluster. Dans ce scénario, le cluster est déjà compromis et une attaque DOS est le dernier des soucis de l'administrateur.
\vspace{5mm} \\
 
 
\hspace{1mm}  La sécurité dans corosync n'offre pas de solution parfaite puisque les clés sont réutilisée. Il peut être possible pour un attaquant de capturer des packets et de déterminer la clé partagée. Dans ce scénario, le cluster est compromis. Pour des raisons de sécurité, corosync ne devrait jamais avoir le setuid ou setgid dans le système de fichier.
\vspace{5mm} \\
 
 
\vspace{1cm}{\huge Composants }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} -]{La librairie cmap est utilisée pour interagir avec la base de configuration utilisée par corosync.}
\item[\hspace{1mm} -]{La librairie cpg est utilisée pour créer des applications distribuées qui opèrent proprement durant le partitionement, fusions, et pannes du cluster.}
\item[\hspace{1mm} -]{la librairie sam fournis un outils pour vérifier l'état de santé d'une application. Son but est de redémarrer un processus local quand il plante pour répondre à un requête d'état de santé dans un intervalle de temps configuré.}
\item[\hspace{1mm} -]{La librairie quorum est chargé dans tous les nœuds du cluster et track le statut du quorum d'un nœud. Pour que ce service soit utile, un fournisseur de quorum doit être configuré.}
\item[\hspace{1mm} -]{La librairie votequorum est optionnellement chargé dans tous les nœuds dans le cluster pour éviter les situations de split-brain. Il permet cela en ayant un nombre de votes assignés à chaque système dans le cluster et s'assurer que seulement lorsqu'une majorité de votes sont présents, les opérations du cluster sont autorisés à être traités.}
\end{description}
\end{flushleft}
\end{document}
