diff --git a/formation_personnalisee-mse.tex b/formation_personnalisee-mse.tex new file mode 100644 index 0000000..1aa04dc --- /dev/null +++ b/formation_personnalisee-mse.tex @@ -0,0 +1,256 @@ +\documentclass{beamer} + +%\usertheme{Madrid} +\setbeamercovered{transparent} +\setcounter{tocdepth}{2} +\usepackage[french]{babel} +%\usepackage[utf8,utf8x]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{xunicode} %Unicode extras! +\usepackage{xltxtra} %Fixes +\setmainfont{CaviarDreams} +\usepackage{multicol} +%\usepackage{colortbtl} +\usepackage{graphicx} +\usepackage{verbatim} % Pour l'insertion de fichier en mode verbatim +\usepackage{ucs} +\usepackage{tabto} +\usepackage{xcolor} +\usepackage{hyperref} +\usepackage{hyperxmp} +\hypersetup{% + colorlinks=true,linkcolor=blue,urlcolor=blue,pdfpagemode=UseNone, + pdftitle={Tronc commun 1}, + pdfkeywords={distribution, GNU, linux, eole, éducation, nationale, ubuntu}, + pdfauthor={Emmanuel Garette}, + pdflang={fr-FR}, + pdfcopyright={Copyright © 2011-2016 Cadoles}, + pdflicenseurl={http://creativecommons.org/licenses/by-nc-sa/2.0/fr/}, +} +%\usecolortheme{crane} +\definecolor{UniBlue}{RGB}{83,121,180} +\definecolor{CadolesBlue}{RGB}{7,142,181} +\definecolor{CleanWhite}{RGB}{255,255,255} +\definecolor{DirtyWhite}{RGB}{105,105,105} +\setbeamercolor{title}{fg=CadolesBlue} +\setbeamercolor{frametitle}{fg=CadolesBlue} +\setbeamercolor{structure}{fg=CadolesBlue} +\newcommand{\eolesmall}{ + \begin{minipage}[c]{0.10\textwidth} + \includegraphics[width=1cm]{beamer-skel/img/logo-eole.png} + \end{minipage} +} +\newcommand{\eolebig}{\includegraphics[width=2cm]{beamer-skel/img/logo-eole.png}} +\newcommand{\eolefull}{\includegraphics{beamer-skel/img/logo-eole.png}} +%\setmonofont[Scale=0.86]{Andale Mono} +%\usepackage{colortab} +\newcommand{\commande}[1]{\texttt{#1}} +\setbeamertemplate{background}{\includegraphics[width=128mm]{beamer-skel/img/banner02.png}} + +\title[]{Formation EOLE} +\subtitle{Formation personnalisée Tronc-commun-1 \& architecture MSE} + +\author[Equipe Auteur]{Cadoles Formation} + +\institute[Cadoles]{\includegraphics[width=2cm]{beamer-skel/img/logo-cadoles-01.png}} + +\date{{\small \today}} + +\subject{Talks} + +\AtBeginSubsection[] +{ + \begin{frame} + \frametitle{} + \tableofcontents[currentsection,currentsubsection] + \end{frame} +} + +\logo{ + %\includegraphics[width=1cm]{beamer-skel/img/logo_en.png}~ + %\hspace{120pt} + \includegraphics[width=2cm]{beamer-skel/img/logo-cadoles-01.png}~ + %\hspace{113pt} + %\includegraphics[width=1cm]{beamer-skel/img/logo_en.png}~ +} + +\begin{document} + % Page de titre + \begin{frame} + \titlepage + \end{frame} + +\section{Introduction} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-12},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} + +\include{modules_EOLE_envole/commun/00-intro} +%\include{modules_EOLE_envole/commun/01-nouveaute23} +%\include{modules_EOLE_envole/commun/01-nouveaute24} +%\include{modules_EOLE_envole/commun/01-nouveaute25} +\include{modules_EOLE_envole/commun/01-nouveaute26} + +\section{Panorama des modules} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-12},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} +\include{modules_EOLE_envole/amon/00-description} +\include{modules_EOLE_envole/sphynx/00-description} +\include{modules_EOLE_envole/scribe/00-description} +\include{modules_EOLE_envole/horus/00-description} +\include{modules_EOLE_envole/amonecole/00-description} +\include{modules_EOLE_envole/tronc-commun-1/00-panorama-module} + +\section{Les quatre phases} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-12},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} +\include{modules_EOLE_envole/commun/02-quatre_phases} +\include{modules_EOLE_envole/scribe/00-virtualbox} +\include{modules_EOLE_envole/commun/02-gen_config} +\include{modules_EOLE_envole/commun/02-quatre_phases-pratique} +%\include{modules_EOLE_envole/tronc-commun-1/01-config-texte} + +\section{Administration commune} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-12},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} +\include{modules_EOLE_envole/commun/02-instance-reconfigure} +\include{modules_EOLE_envole/commun/03-mise-a-jour} +\include{modules_EOLE_envole/commun/04-diagnose} +\include{modules_EOLE_envole/commun/04-diagnose-pratique} +\include{modules_EOLE_envole/tronc-commun-1/05-conteneurs} +%\include{modules_EOLE_envole/tronc-commun-1/05-conteneurs-pratique} +\include{modules_EOLE_envole/tronc-commun-1/06-firewall} +\include{modules_EOLE_envole/tronc-commun-1/06-schedule} +\include{modules_EOLE_envole/tronc-commun-1/06-zpratique} +\include{modules_EOLE_envole/tronc-commun-1/07-onduleur} +\include{modules_EOLE_envole/tronc-commun-1/07-onduleur-pratique} +\include{modules_EOLE_envole/tronc-commun-1/08-trouver} +\include{modules_EOLE_envole/commun/08-info_internet} + +\section{Interfaces d'administration EOLE} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-12},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} +\include{modules_EOLE_envole/tronc-commun-1/30-ead} +\include{modules_EOLE_envole/tronc-commun-1/31-interface-semi-graphique} + +\section{Application Zéphir 1} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-12},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} +\include{modules_EOLE_envole/tronc-commun-1/10-application-zephir} + +\section{GNU/Linux} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-12},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} +\include{modules_EOLE_envole/tronc-commun-1/20-gnu_linux} +\include{modules_EOLE_envole/tronc-commun-1/20-tcpdump-tshark} +\include{modules_EOLE_envole/tronc-commun-1/21-lire-ecrire} +\include{modules_EOLE_envole/tronc-commun-1/22-commande-distance} + +\section{Application Zéphir 2} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-12},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} +\include{modules_EOLE_envole/tronc-commun-1/11-application-zephir2} + +\section{Fonctionnement plateforme MSE} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-12},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} +\include{mse/00-fonctionnement-mse} +\include{mse/01-services-et-repartition} +\include{mse/02-reseaux} +\include{mse/03-architecture-de-production} +\include{mse/04-serveur-supervision} +\include{mse/05-zephir-mse} + +%FIXME a revoir ! +%\include{modules_EOLE_envole/tronc-commun-1/99-migration-zephir} + +\subject{Talks} +\begin{frame} + \frametitle{Licence} + Cette œuvre est mise à disposition sous licence \href{http://creativecommons.org/licenses/by-nc-sa/2.0/fr/}{\textsc{cc-by-nc-sa-2.0}} + \begin{itemize} + \item Attribution + \item Pas d’Utilisation Commerciale + \item Partage dans les Mêmes Conditions 2.0 + \item France + \end{itemize} + Pour voir une copie de cette licence, visitez + \href{http://creativecommons.org/licenses/by-nc-sa/2.0/fr/}{http://creativecommons.org/licenses/by-nc-sa/2.0/fr/} + ou écrivez à Creative Commons, 444 Castro Street, Suite 900, + Mountain View, California, 94041, USA. +\end{frame} + +\end{document} + + diff --git a/mse/00-fonctionnement-mse.tex b/mse/00-fonctionnement-mse.tex new file mode 100644 index 0000000..f8436aa --- /dev/null +++ b/mse/00-fonctionnement-mse.tex @@ -0,0 +1,57 @@ +\begin{frame} + \frametitle{Fonctionnement général} + \begin{itemize} + \item<1> Plateforme avec une forte résilience ; + \item<1-2> Séparation en 3 activités : + \begin{itemize} + \invisible<1>{\item portail (étudiants et administrateurs) ;} + \invisible<1>{\item services web partenaire (AGLAE, ParcoursSup, CitéU ...) ;} + \invisible<1>{\item fournisseur d'identité.} + \end{itemize} + \item<1> Utilisation des données sur 3 ressources différentesi ; + \item<1> Composition d'une entité ; + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Fonctionnement général} + \begin{itemize} + \item Utilisation des données sur 3 ressources différentes : + \begin{itemize} + \item une base de donnée ; + \item un annuaire LDAP ; + \item un espace NFS. + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Fonctionnement général} + \begin{itemize} + \item Une entité MSE se compose de : + \begin{itemize} + \item 1 répartiteur de charge ; + \item 1 file d'attente ; + \item 12 portails ; + \item 1 serveur de base de données ; + \item 1 serveur d'annuaire ; + \item 1 serveur de cache ; + \item 2 serveurs DNS ; + \item 2 serveurs fournisseur d'identité ; + \item 2 serveurs fournisseur de service. + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Répartition des services} + \begin{itemize} + \item Hébergement sur le réseau NUO ; + \item Se compose de 12 serveurs physiques réparti comme suit : + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Répartition des services} + \includegraphics[width=10cm]{mse/img/repartition_serveurs.png} +\end{frame} diff --git a/mse/01-services-et-repartition.tex b/mse/01-services-et-repartition.tex new file mode 100644 index 0000000..9411332 --- /dev/null +++ b/mse/01-services-et-repartition.tex @@ -0,0 +1,75 @@ +\begin{frame} + \frametitle{Services et répartition} + \begin{itemize} + \item Répartiteurs de charge HAProxy : + \begin{itemize} + \item 2 machines physiques mse-haproxy-a et mse-haproxy-b ; + \item VIP (Virtual IP) entre les deux serveurs afin de bénéficier d'une tolérance de panne ; + \item solution fiable et robuste ; + \item assure le routage de traffic HTTP vers les portails et les SP. + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Services et répartition} + \begin{itemize} + \item Portails et WebServices + \begin{itemize} + \item consommation essentiellement de mémoire vive ; + \item une session représente 15 Mo de mémoire ; + \item 24 portails déployés pour assumer une charge importante ; + \item 23 portails avec 16 Go de RAM et 1 portail avec 20 Go (mse-p-portal-01) ; + \item 24 portails répartis sur 4 Worker (serveur de virtualisation) només : + \begin{itemize} + \item mse-p-worker-a1 ; + \item mse-p-worker-a2 ; + \item mse-p-worker-b1 ; + \item mse-p-worker-b2. + \end{itemize} + \item portails uniques accueillant FrontOffice, BackOffice et Webservices. + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Services et répartition} + \begin{itemize} + \item Base de données + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Services et répartition} + \begin{itemize} + \item Fichiers + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Services et répartition} + \begin{itemize} + \item Passerelle SMTP + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Services et répartition} + \begin{itemize} + \item Service Provider + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Services et répartition} + \begin{itemize} + \item Service IDP + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Services et répartition} + \begin{itemize} + \item Service LDAP + \end{itemize} +\end{frame} diff --git a/mse/02-reseaux.tex b/mse/02-reseaux.tex new file mode 100644 index 0000000..5a31c23 --- /dev/null +++ b/mse/02-reseaux.tex @@ -0,0 +1,23 @@ +\begin{frame} + \frametitle{Les réseaux} + \begin{itemize} + \item Un réseau 10Gb/s dit NUO ; + \begin{itemize} + \item réseau principal pour l'applicatif ; + \item transit traffic HTTP/HTTPS nécessaire aux portails. + \end{itemize} + \item Un réseau 10Gb/s dit BDD ; + \begin{itemize} + \item réseau dédié exclusivement à la communication entre l'applicatif et les BDD ; + \end{itemize} + \item Un réseau 10Gb/s dit Réplication. + \begin{itemize} + \item réseau dédié : + \begin{itemize} + \item à la mise en grappe des machines ; + \item aux réplications ; + \item aux espaces de stockage partagés. + \end{itemize} + \end{itemize} + \end{itemize} +\end{frame} diff --git a/mse/03-architecture-de-production.tex b/mse/03-architecture-de-production.tex new file mode 100644 index 0000000..df4d1c6 --- /dev/null +++ b/mse/03-architecture-de-production.tex @@ -0,0 +1,4 @@ +\begin{frame} + \frametitle{L'architecture de production} + \includegraphics[width=10cm,height=8cm]{mse/img/archi-full.png} +\end{frame} diff --git a/mse/04-serveur-supervision.tex b/mse/04-serveur-supervision.tex new file mode 100644 index 0000000..bb93081 --- /dev/null +++ b/mse/04-serveur-supervision.tex @@ -0,0 +1,71 @@ +\begin{frame} + \frametitle{Le Serveur de supervision} + \begin{itemize} + \item mse-p-supervision est accessible depuis NUO en ssh sur le port 22 et 888 en externe ; + \item accessibilité aux autres machines simplifié (ssh + nomMachineDestination) ; + \item Il regroupe plusieurs services : + \begin{itemize} + \item la gestion des comptes utilisateurs ; + \item les journaux des différents services/applicatifs ; + \item le système de sauvegarde ; + \item le monitoring et les alertes. + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Les comptes utilisateurs} + \begin{itemize} + \item Créé via des playbook Ansible ; + \item Accréditation en fonction des besoins ; + \item comptes nominatifs privilégiés afin de respecter les préconnidations de l'ANSI et les recommandations RGPD. + \item procédure de changement de mot de passe. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Les journaux} + \begin{itemize} + \item Remontée automatique sur le serveur de supervision ; + \item Transfert en quasi temps réel ; + \item Accessible au utilisateur via "/var/log/rsyslog/remote/nom\_machine" ; + \item Jouranux conservés pendant 1 an et 4 jours pour Haproxy et IDP (permet l'identification d'un utilisateur). + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Les sauvegardes} + \begin{itemize} + \item utilisation des mécanismes de sauveagrdes et de restauration EOLE avec BareOS ; + \item sauvegardes envoyées sur le directeur (mse-p-supervision) ; + \item le directeur fait office de stockage ; + \item contiennent les configurations des serveurs, les données applicatives (BDD, LDAP, ...) ; + \item la BDD est sauvegardée via l'outil de sauvegarde de MariaDB (optiminisé pour ces actions) ; + \item extraction des services également en local : + \begin{itemize} + \item le ldiff de l'annuaire OpenLDAP se situe sur la machine mse-p-ldap-a ; + \item les extractions des fichiers de base de données sur mse-p-bdd-a2. + \end{itemize} + \item archivage à plus long terme sur un NAS situé à Grenoble. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Monitoring et alertes} + \begin{itemize} + \item collecte et archive des statistiques via Promethéus ; + \item Grafana est utilisé pour la mise en forme des statistiques (DashBoard) ; + \item interface accessible via l'url http://mse-supervision.nuonet.fr:3000 ; + \item accès à l'interface via des comptes nominatifs ; + \item interface unique pour la surveillance de la PROD et de la PréPROD ; + \item alerte directement par courriel via l'outils AlertManager ; + \item les alertes pour le moment disponibles : + \begin{itemize} + \item espace disque est supérieur à 80\% d'occupation ; + \item mémoire dépasse le seuil de 80\% d'utilisation ; + \item utilisation trop élevée du CPU ; + \item température trop élevée des CPU. + \end{itemize} + \item Possibilité de créer d'autres alertes personnalisées. + \end{itemize} +\end{frame} diff --git a/mse/05-zephir-mse.tex b/mse/05-zephir-mse.tex new file mode 100644 index 0000000..4f0fe0a --- /dev/null +++ b/mse/05-zephir-mse.tex @@ -0,0 +1,19 @@ +\begin{frame} + \frametitle{Le Serveur de déploiement Zéphir} + \begin{itemize} + \item utilité de Zéphir dans le contexte MSE : + \begin{itemize} + \item facilite le déploiement des configurations ; + \item surveillance des modules EOLE ; + \item gestion centralisée de configuration ; + \item l'adaptation sous forme de variantes ; + \item la gestion par groupes ; + \item la préparation de la migration ; + \item la surveillance des serveurs inscrits ; + \item l'envoi de fichiers et exécution d'actions à distance. + \end{itemize} + \item serveurs physiques et virtuels sont enregistrés sur le serveur Zéphir ; + \item installation des paquets additionnels (non présents sur une Eolebase 2.7.0 dans notre cas) se fait également via ce serveur ; + \item Zéphir est une machine virtuelle hébergée par le CROUS de Dijon ; + \end{itemize} +\end{frame} diff --git a/mse/img/archi-full.png b/mse/img/archi-full.png new file mode 100644 index 0000000..fb1aa33 Binary files /dev/null and b/mse/img/archi-full.png differ diff --git a/mse/img/repartition_serveurs.png b/mse/img/repartition_serveurs.png new file mode 100644 index 0000000..a2395af Binary files /dev/null and b/mse/img/repartition_serveurs.png differ