% Created 2024-05-08 mer. 11:48 % Intended LaTeX compiler: pdflatex \documentclass[12pt,a4paper]{article} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{graphicx} \usepackage{longtable} \usepackage{wrapfig} \usepackage{rotating} \usepackage[normalem]{ulem} \usepackage{amsmath} \usepackage{amssymb} \usepackage{capt-of} \usepackage{hyperref} \usepackage{minted} \usepackage[utf8]{inputenc} \usepackage[inkscapelatex=false]{svg} \usepackage[sfdefault]{AlegreyaSans} \usepackage{multicol} \usepackage{minted} \usepackage{float} \usepackage{tikz} \usetikzlibrary{positioning} \renewcommand\listingscaption{Exemple de code} \date{} \title{Cours de virtualisation avancée: \emph{Proxmox}} \hypersetup{ pdfauthor={Evrard Van Espen}, pdftitle={Cours de virtualisation avancée: \emph{Proxmox}}, pdfkeywords={}, pdfsubject={}, pdfcreator={Emacs 30.0.50 (Org mode 9.6.15)}, pdflang={English}} \begin{document} \maketitle \section{Proxmox} \label{sec:orgc9ec9cc} \begin{center} \includegraphics[width=0.8\textwidth]{./images/proxmox.png} \end{center} \subsection{Un hyperviseur "\emph{bare metal}"} \label{sec:org82707fe} \begin{itemize} \item S’exécute directement sur le \emph{hardware} \item Optimisé pour l'exécution de machines virtuelles \item \textbf{Pas comme \emph{Virtual Box}} \end{itemize} \section{\emph{Proxmox}} \label{sec:org64b986f} \begin{itemize} \item Libre \item Basé sur \emph{Debian} \item \emph{KVM} (machines virtuelles) et \emph{LXC} (conteneurs) \item Gestion via \textbf{terminal} ou \textbf{interface web} \item Orchestration, réplication, \emph{cluster} \item Concurrent à \emph{Hyper-V} ou \emph{ESXi} \item Gestion des sauvegardes \end{itemize} \subsection{Orchestration et mode \emph{cluster}} \label{sec:orgd0edd32} \begin{itemize} \item Gestion des réplications \item Gestion de la perte de machines \item Gestion des sauvegardes \end{itemize} \subsection{Machines virtuelles et conteneurs} \label{sec:org5a598be} \begin{center} \includegraphics[width=.9\linewidth]{./images/vm_ct.png} \end{center} \subsubsection{Machine virtuelle} \label{sec:orgbeb0e4a} \begin{itemize} \item Aussi appelé \emph{VM} \item Embarque un système d'exploitation complet \item ➕ Isolation forte \item ➖ Lourd et nécessite plus de puissance \end{itemize} Les machines virtuelles sont souvent installées depuis un \emph{ISO}, comme il serait fait pour une machine physique. \subsubsection{Conteneur} \label{sec:orgf9d4a68} \begin{itemize} \item Aussi appelé \emph{CT} \item Embarque uniquement les fichiers nécessaires \item ➕ Plus léger \item ➖ Isolation plus faible \end{itemize} Les conteneurs sont installés depuis des \emph{"Templates"} qui possèdent des options de configuration. Les \emph{"Templates"} sont des archives contenant un système de fichier. \section{Note sur les \emph{network bridges}} \label{sec:org9282cd0} \begin{itemize} \item Pont entre deux réseaux \item Comme un "\emph{switch} virtuel" \item Nécessaire pour permettre aux \emph{VM} et \emph{CT} l'accès au réseau \end{itemize} \section{Éléments de configuration} \label{sec:org118ec7b} \subsection{Système} \label{sec:orgff9a5be} \begin{itemize} \item Interfaces réseau virtuelles \item Pare-feu basique \item Gestion fine des permissions \end{itemize} \subsection{Machines virtuelles et conteneurs} \label{sec:org4f45eff} \begin{itemize} \item \emph{CPU} et mémoire vive \item Taille du (des) disque(s) \item Interfaces réseau \item Pare-feu basique \end{itemize} \section{L'interface} \label{sec:org15b18c1} \begin{center} \includegraphics[width=.9\linewidth]{./images/pve_1.png} \end{center} \begin{itemize} \item \textbf{1}: Liste des ressources: machines, conteneurs, volumes de stockage \item \textbf{2}: Configuration de l'instance / du \emph{cluster} \item \textbf{3}: Statut de l'instance \emph{Proxmox} \item \textbf{4}: Boutons pour créer les machines \item \textbf{5}: Tâches en cours et historique \end{itemize} \subsection{Création d'une machine virtuelle (\emph{VM})} \label{sec:org8253353} \subsubsection{Onglet \emph{"General"}} \label{sec:orgb76a60b} \begin{center} \includegraphics[width=.9\linewidth]{./images/vm_create_1.png} \end{center} \begin{itemize} \item \emph{"Node"}: l'instance \emph{Proxmox} sur laquelle créer la \emph{VM} \item \emph{"VM ID"}: l'identifiant de la \emph{VM} \item \emph{"Name"}: le nom pour la \emph{VM} \item \emph{"Resource pool"}: la \emph{pool} de ressources à utiliser \end{itemize} \subsubsection{Onglet \emph{"OS"}} \label{sec:orga6286a1} \begin{center} \includegraphics[width=.9\linewidth]{./images/vm_create_2.png} \end{center} \begin{itemize} \item \emph{"Storage"}: l'espace de stockage où est stocké l'\emph{ISO} \item \emph{"ISO image"}: l'image \emph{ISO} à utiliser \end{itemize} \subsubsection{Onglet \emph{"Disks"}} \label{sec:orgef80c8b} \begin{center} \includegraphics[width=.9\linewidth]{./images/vm_create_3.png} \end{center} \begin{itemize} \item \emph{"Storage"}: l'espace de stockage dans lequel sera stocké la \emph{VM} \item \emph{"Disk size"}: la taille du disque \end{itemize} \subsubsection{Onglet \emph{"CPU"}} \label{sec:org0e6718a} \begin{center} \includegraphics[width=.9\linewidth]{./images/vm_create_4.png} \end{center} \begin{itemize} \item \emph{"Sockets"}: le nombre de \emph{CPU} à virtualiser \item \emph{"Cores"}: le nombre de cœurs par \emph{CPU} \item \emph{"Total cores"}: récapitulatif du nombre de cœurs qu'aura la \emph{VM} \end{itemize} \subsubsection{Onglet \emph{"Memory"}} \label{sec:org8a43ab2} \begin{center} \includegraphics[width=.9\linewidth]{./images/vm_create_5.png} \end{center} \begin{itemize} \item \emph{"Memory"}: la taille de la mémoire vive \end{itemize} \subsubsection{Onglet \emph{"Network"}} \label{sec:org228f120} \begin{center} \includegraphics[width=.9\linewidth]{./images/vm_create_6.png} \end{center} \begin{itemize} \item \emph{"Bridge"}: le pont réseau à utiliser \end{itemize} \subsubsection{Onglet \emph{"Confirm"}} \label{sec:orge8aa03d} \begin{center} \includegraphics[width=.9\linewidth]{./images/vm_create_7.png} \end{center} Récapitule la configuration de la future machine virtuelle. \subsection{Création d'un conteneur (\emph{CT})} \label{sec:orge477d74} Les onglets et options sont similaires à celles de la création d'une \emph{VM}, avec quelques options en plus. \subsubsection{Onglet \emph{"General"}} \label{sec:org3e15c4d} \begin{center} \includegraphics[width=.9\linewidth]{./images/ct_create_1.png} \end{center} \begin{itemize} \item \emph{"Password"} et \emph{"Confirm password"}: mot de passe de l'utilisateur par défaut (souvent \texttt{root}) \item \emph{"SSH public key"}: votre clef publique pour la connexion en \emph{SSH} \end{itemize} \subsubsection{Onglet \emph{"Template"}} \label{sec:org4e06550} \begin{center} \includegraphics[width=.9\linewidth]{./images/ct_create_2.png} \end{center} \begin{itemize} \item \emph{"Template"}: la \emph{template} à utiliser \end{itemize} \subsubsection{Onglet \emph{"Network"}} \label{sec:orge8f74d0} \begin{center} \includegraphics[width=.9\linewidth]{./images/ct_create_3.png} \end{center} \begin{itemize} \item \emph{"IPv4/CIDR"}: l'adresse \emph{IP} qui sera assignée à l'interface réseau du conteneur \item \emph{"Gateway"}: la passerelle réseau qui sera utilisée \end{itemize} \subsection{Notes à propos de la configuration} \label{sec:org2a50315} Vous pouvez modifier ces options à tout moment et les appliquer à la machine virtuelle ou au conteneur. \section{Démonstration} \label{sec:org1ba6cb6} \url{./images/cat\_keyboard.webp} \section{Pour aller plus loin} \label{sec:orgecf2397} \begin{itemize} \item Documentation \emph{Proxmox}: \texttt{https://pve.proxmox.com/pve-docs/pve-admin-guide.html} \item Un autre guide: \texttt{https://www.it-connect.fr/comment-installer-proxmox-ve-7-0-et-creer-sa-premiere-vm/} \end{itemize} \end{document}