|
|
% 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}
|