Pièce jointe « openvz.tex »
Téléchargement 1 \documentclass[french]{beamer}
2
3 \usepackage[french]{babel} %% on parle français
4 \usepackage[utf8]{inputenc} %% en utf 8
5 \usetheme{Warsaw} %% un thème de transparent
6
7 %% les méta-données de la présentation :
8 \title{Virtualisation Linux~: la solution OpenVZ}
9 \author{}
10 \institute{Agence universitaire de la Francophonie}
11 \date{\today}
12
13 %% et on commence !
14
15 \begin{document}
16
17 \begin{frame}
18 \titlepage %% le premier transparent (frame) est la page de titre
19 \end{frame}
20
21 \begin{frame}
22 \frametitle{Plan}
23 \tableofcontents %% second frame : la table des matières, qui présente les sections
24 \end{frame}
25
26 \section{Introduction} %% une première partie (section)
27 \frame{\tableofcontents[current]}
28
29 \begin{frame}
30 \frametitle{Généralités sur la virtualisation (1/2)}
31 \begin{block}{Différents types de virtualisation}
32 \begin{itemize}
33 \item Paravirtualisation (hyperviseur) : Xen, VMware ESX, Microsoft
34 \item Emulation (machine virtuelle) : QEMU/KVM, VirtualBox, VMware, Bochs, Parallels
35 \item Isolation : FreeBSD Jail, Solaris Zones/Containers, Linux-VServer, OpenVZ, Virtuozzo
36 \item supports matériels (Intel VT, AMD-V, HP Superdome, Sun LDOM)
37 \end{itemize}
38 Ce n'est qu'une tentative de classification. Voir Wikipédia...
39 \end{block}
40 \end{frame}
41
42 \begin{frame}
43 \frametitle{Paravirtualisation (hyperviseur)}
44 \includegraphics{hyperviseur.png}
45 \end{frame}
46
47 \begin{frame}
48 \frametitle{Emulation (machine virtuelle)}
49 \includegraphics{emulateur.png}
50 \end{frame}
51
52 \begin{frame}
53 \frametitle{User space}
54 \includegraphics{userspace.png}
55 \end{frame}
56
57 \begin{frame}
58 \frametitle{Isolation (le cas d'OpenVZ)}
59 \includegraphics{isolateur.png}
60 \begin{center}exemple : OpenVZ\end{center}
61 \end{frame}
62
63 \begin{frame}
64 \frametitle{Généralités sur la virtualisation (2/2)}
65 \begin{block}{Objectifs de la virtualisation}
66 \begin{itemize}
67 \item Consolidation
68 \item Sécurisation
69 \item Hébergement
70 \item Développement et tests
71 \item Education
72 \item ... et tout ce qu'on peut imaginer quand le nombre de machines est «~illimité~»
73 \end{itemize}
74 \end{block}
75 \end{frame}
76
77 \begin{frame}
78 \frametitle{OpenVZ en quelques lignes (1/4)}
79 \begin{block}{}
80 \begin{itemize}
81 \item Virtualisation niveau OS
82 \item Base de Parallels Virtuozzo Containers
83 \item Supporté par Parallels (support payant possible : sales@openvz.org)
84 \item GPL
85 \end{itemize}
86 \end{block}
87 \begin{block}{Fonctionnalités}
88 \begin{itemize}
89 \item Penser à un «~super chroot~». Vraiment super.
90 \item Isolation niveau OS : un seul noyau, plusieurs systèmes
91 \item Linux-only, mais multi-distributions (sur même noyau)
92 \item Gestion de ressources par machine : CPU, RAM, disque
93 \item Checkpoints : migration de machine
94 \end{itemize}
95 \end{block}
96 \end{frame}
97
98 \begin{frame}
99 \frametitle{OpenVZ en quelques lignes (2/4)}
100 \begin{block}{Isolation des objets}
101 \begin{itemize}
102 \item Fichiers (y compris /proc, /sys, /dev, etc)
103 \item Utilisateurs et groupes (y compris root)
104 \item Processus
105 \item Réseau et interfaces réseau
106 \item Périphériques (on peut même attribuer un périphérique à une seule machine)
107 \item IPC (mémoire partagée, sémaphores, messages, etc)
108 \end{itemize}
109 \end{block}
110 \end{frame}
111
112 \begin{frame}
113 \frametitle{OpenVZ en quelques lignes (3/4)}
114 \begin{block}{Gestion des ressources}
115 \begin{itemize}
116 \item Quota disque (espace et nombre d'inodes). Quotas unix toujours possibles
117 \item Ordonnanceur «équitable», par machine (avec priorité et limites) et ordonnanceur habituel dans chaque machine
118 \item Les \textit{beancounters} : compteurs, limites et garantie sur un grand nombre de ressources
119 \item But : donner toute les ressources possibles à chaque machine virtuelle, sans qu'une seule puisse accaparer tout la machine hôte.
120 \item La plupart de ces paramètres sont modifiables à la volée
121 \end{itemize}
122 \end{block}
123 \end{frame}
124
125 \begin{frame}
126 \frametitle{OpenVZ en quelques lignes (4/4)}
127 \begin{block}{Checkpoint}
128 \begin{itemize}
129 \item point d'arrêt complet
130 \item permet de passer une machine virtuelle sur un autre hote (en quelques secondes : pas d'arrêt du service)
131 \end{itemize}
132 \end{block}
133 \begin{block}{Outils}
134 \begin{itemize}
135 \item \texttt{vzctl} : start, stop, set, ...
136 \item Modèle de machine (\textit{templates}) : fournis, mais aussi faciles à construire (personnalisation)
137 \end{itemize}
138 \end{block}
139 \end{frame}
140
141
142 \section{Premiers pas}
143 \frame{\tableofcontents[current]}
144
145 \begin{frame}
146 \frametitle{Création d'une machine}
147 \begin{block}{Paramètres à décider}
148 \begin{itemize}
149 \item un numéro de machine (supérieur à 100)
150 \item \texttt{--ostemplate} : le modèle
151 \item \texttt{--hostname} : nom de la machine
152 \item \texttt{--ipadd} : adresse IP de la machine
153 \item \texttt{--config} : configuration modèle (valeurs de base)
154 \end{itemize}
155 \end{block}
156 Résultat : \texttt{vzctl create 101 --ostemplate debian-lenny-ucad --hostname ucad101}
157 \end{frame}
158
159 \begin{frame}
160 \frametitle{Lancement, arrêt, liste...}
161 \begin{block}{Lancement d'une machine virtuelle (container)}
162 \texttt{vzctl start 101}
163 \end{block}
164 \begin{block}{Arrêt}
165 \texttt{vzctl stop 101}
166 \end{block}
167 \begin{block}{Liste des containers}
168 \texttt{vzlist} et \texttt{vzlist -a}
169 \end{block}
170 \end{frame}
171
172 \begin{frame}
173 \frametitle{Entrer dans une machine}
174 \begin{block}{Entrer dans une machine}
175 \texttt{vzctl enter 101}
176 \end{block}
177 ... et essayer quelques commandes :
178 \begin{itemize}
179 \item hostname
180 \item ps waux
181 \item ls -l /boot
182 \item ls -l /dev
183 \end{itemize}
184 \end{frame}
185
186 \begin{frame}
187 \frametitle{Réseautique...}
188 \begin{block}{Ajouter une adresse réseau}
189 \texttt{vzctl set 101 --ipadd 172.16.0.101 --save}
190 \end{block}
191 Etudier la configuration obtenue (et regarder au niveau du \textit{netfilter} de la machine hôte)
192 \end{frame}
193
194 \begin{frame}
195 \frametitle{TP : une seconde machine, des services séparés}
196 \begin{itemize}
197 \item Créer une seconde machine ucad102, adresse IP 172.16.0.102
198 \item Installer apache2 sur ucad101
199 \item Installer proftpd sur ucad102
200 \item Faire le tour des processus et des ports IP ouverts, sur ucad101, ucad102 et sur la machine hôte
201 \end{itemize}
202 \end{frame}
203
204 \begin{frame}
205 \frametitle{Où sont les données ?}
206 \begin{itemize}
207 \item les configurations : \texttt{/etc/vz/conf/101.conf}
208 \item \texttt{/var/lib/vz} (ou \texttt{/vz})
209 \item les répertoires \texttt{private} et \texttt{root}
210 \item les \texttt{template}
211 \end{itemize}
212 \end{frame}
213
214
215 \end{document}
Fichiers joints
Pour vous référer aux pièces jointes d'une page, utilisez attachment:filename, comme indiqué ci-dessous dans la liste de fichiers. N'utilisez pas l'URL du lien [get], car elle peut changer et donc être facilement cassée.Vous n'êtes pas autorisé à joindre un fichier à cette page.