
Aujourd'hui, nous allons aborder comment déployer rapidement et assez simplement plusieurs serveurs virtuels avec différents systèmes d'exploitation sur un seul serveur physique. Cela permettra à tout administrateur système de gérer de manière centralisée l'ensemble de l'infrastructure informatique de l'entreprise et d'économiser une énorme quantité de ressources. L'utilisation de la virtualisation aide à s'abstraire au maximum du matériel serveur physique, à protéger les services critiques et à les restaurer facilement, même en cas de pannes très graves.
Sans aucun doute, la plupart des administrateurs système connaissent les techniques de travail dans un environnement virtuel et cet article ne sera pas une nouveauté pour eux. Malgré cela, certaines entreprises n'exploitent pas la flexibilité et la rapidité des solutions virtuelles en raison d'un manque d'information précise à leur sujet. Nous espérons que notre article aidera à comprendre par l'exemple qu'il est beaucoup plus simple de commencer à utiliser la virtualisation que d'éprouver les désagréments et les inconvénients d'une infrastructure physique.
Heureusement, il est assez simple d'essayer comment fonctionne la virtualisation. Nous allons montrer comment créer un serveur dans un environnement virtuel, par exemple, pour transférer un système CRM utilisé dans l'entreprise. Pratiquement n'importe quel serveur physique peut être transformé en virtuel, mais d'abord, il faut maîtriser les bases. C'est ce dont nous allons parler ci-dessous.
Comment cela fonctionne
Quand il s'agit de virtualisation, beaucoup de débutants ont du mal à comprendre la terminologie, c'est pourquoi nous allons expliquer quelques concepts de base :
- Hyperviseur – un logiciel spécial qui permet de créer et de gérer des machines virtuelles ;
- Machine virtuelle (ci-après VM) – c'est un système qui représente un serveur logique à l'intérieur d'un physique avec son ensemble de caractéristiques, de stockage et de système d'exploitation ;
- Hôte de virtualisation — un serveur physique sur lequel un hyperviseur est en cours d'exécution.
Pour qu'un serveur puisse fonctionner comme un hôte de virtualisation complet, son processeur doit prendre en charge l'une des deux technologies – soit Intel® VT, soit AMD-V™. Les deux technologies remplissent une tâche essentielle : fournir des ressources matérielles du serveur aux machines virtuelles.
Une caractéristique clé est que toutes les actions machines virtuelles s'exécute directement au niveau du matériel. Ils sont isolés les uns des autres, ce qui permet de les gérer assez facilement séparément. Le rôle de l'hyperviseur est celui d'une autorité de contrôle, répartissant les ressources, les rôles et les priorités entre eux. L'hyperviseur émule également la partie du matériel nécessaire au bon fonctionnement du système d'exploitation.
L'implémentation de la virtualisation permet d'avoir plusieurs copies d'un seul de serveurs. Une panne critique ou une erreur pendant les modifications apportées à une telle copie n'affectera en rien le fonctionnement du service ou de l'application en cours. De plus, cela résout également deux problèmes majeurs : l'évolutivité et la capacité de maintenir un « zoo » de différents systèmes d'exploitation sur un seul matériel. C'est une opportunité idéale pour combiner divers services sans avoir à acquérir du matériel séparé pour chacun d'eux.
La virtualisation augmente la résilience des services et des applications déployées. Même si le serveur physique tombe en panne et doit être remplacé, toute l'infrastructure virtuelle restera entièrement opérationnelle, à condition que les supports de stockage soient conservés. En outre, le serveur physique peut être d'un fabricant totalement différent. Cela est particulièrement pertinent pour les entreprises qui utilisent des serveurs dont la fabrication a cessé, nécessitant ainsi une transition vers d'autres modèles.
Maintenant, énumérons les hyperviseurs les plus populaires existants à ce jour :
- VMware ESXi
- Microsoft Hyper-V
- Open Virtualization Alliance KVM
- Oracle VM VirtualBox
Tous sont assez universels, cependant, chacun a certaines spécificités qu'il convient toujours de prendre en compte lors du choix : le coût de déploiement/d'entretien et les caractéristiques techniques. Le coût des licences commerciales de VMware et Hyper-V est très élevé, et en cas de défaillances, résoudre les problèmes avec ces systèmes par ses propres moyens est très compliqué.
KVM, en revanche, est complètement gratuit et assez simple à utiliser, surtout dans le cadre d'une solution prête à l'emploi basée sur Debian Linux appelée Proxmox Virtual Environment. C'est ce système que nous recommandons pour une première découverte du monde de l'infrastructure virtuelle.
Comment déployer rapidement l'hyperviseur Proxmox VE
L'installation ne soulève généralement aucune question. Téléchargez la version actuelle de l'image sur le site officiel et enregistrez-la sur n'importe quel support externe à l'aide de l'outil Win32DiskImager (sous Linux, utilisez la commande dd), puis démarrez le serveur directement depuis ce support. Nos clients louant des serveurs dédiés peuvent opter pour deux méthodes encore plus simples : soit démarrer l'image directement depuis la console KVM, soit utiliser notre serveur PXE.
Le programme d'installation dispose d'une interface graphique et posera simplement quelques questions.
- Sélectionnez le disque sur lequel l'installation sera effectuée. Dans la section Options vous pouvez également définir des paramètres supplémentaires pour le partitionnement.

- Indiquez les paramètres régionaux.

- Indiquez le mot de passe qui sera utilisé pour autoriser l'accès à l'utilisateur root et l'adresse E-mail de l'administrateur.

- Indiquez les paramètres réseau. FQDN désigne le nom de domaine complètement qualifié, par exemple, node01.votreentreprise.com.

- Après l'installation, vous pouvez redémarrer le serveur en utilisant le bouton Reboot.

L'interface de gestion web sera accessible à l'adresse
https://IP_adresse_serveur:8006
Que faire après l'installation
Il y a plusieurs choses importantes à réaliser après l'installation de Proxmox. Nous allons décrire chacune d'elles en détail.
Mettre à jour le système vers la version actuelle
Pour cela, accédez à la console de notre serveur et désactivez le dépôt payant (disponible uniquement pour ceux qui ont acheté un support payant). Sinon, apt affichera une erreur lors de la mise à jour des sources de paquets.
- Ouvrez la console et éditez le fichier de configuration apt :
nano /etc/apt/sources.list.d/pve-enterprise.list - Ce fichier contiendra une seule ligne. Mettez un symbole #, devant pour désactiver la réception des mises à jour du dépôt payant :
#deb https://enterprise.proxmox.com/debian/pve stretch pve-enterprise - Avec la combinaison de touches Ctrl + X vous quittez l'éditeur, en répondant Y à la question du système concernant l'enregistrement du fichier.
- Exécutez la commande de mise à jour des sources de paquets et de mise à jour du système :
apt update && apt -y upgrade
Prendre soin de la sécurité
Nous vous recommandons d'installer l'utilitaire le plus populaire Fail2Ban, protégeant contre les attaques par force brute. Son principe de fonctionnement est qu'après un certain nombre de tentatives de connexion échouées dans un délai donné avec un identifiant/mot de passe incorrect, l'adresse IP de l'attaquant sera bloquée. La durée du blocage et le nombre de tentatives peuvent être spécifiés dans le fichier de configuration.
D'après l'expérience pratique, en une semaine d'exploitation d'un serveur avec le port ssh 22 ouvert et une adresse IPv4 statique externe, il y a eu plus de 5000 tentatives de brute force. Environ 1500 adresses ont été bloquées avec succès par l'outil.
Pour procéder à l'installation, voici un petit guide :
- Ouvrez la console du serveur via l'interface web ou SSH.
- Mettez à jour les sources des paquets :
apt update - Installez Fail2Ban :
apt install fail2ban - Ouvrez la configuration de l'outil pour édition :
nano /etc/fail2ban/jail.conf - Modifiez les variables bantime (le nombre de secondes pendant lesquelles l'attaquant sera bloqué) et maxretry (le nombre de tentatives de saisie d'identifiant/mot de passe) pour chaque service distinct.
- Avec la combinaison de touches Ctrl + X vous quittez l'éditeur, en répondant Y à la question du système concernant l'enregistrement du fichier.
- Redémarrez le service :
systemctl restart fail2ban
Pour vérifier l'état de l'outil, par exemple pour afficher les statistiques des adresses IP bloquées ayant tenté des attaques par brute force SSH, vous pouvez utiliser la commande simple suivante :
fail2ban-client -v status sshdLa réponse de l'outil ressemblera à peu près à ceci :
root@hypervisor:~# fail2ban-client -v status sshd
INFO Chargement des configurations pour fail2ban sous /etc/fail2ban
INFO Chargement des fichiers : ['/etc/fail2ban/fail2ban.conf']
INFO Chargement des fichiers : ['/etc/fail2ban/fail2ban.conf']
INFO Utilisation du fichier de socket /var/run/fail2ban/fail2ban.sock
Statut pour la prison : sshd
|- Filtre
| |- Actuellement échoué : 3
| |- Total échoué : 4249
| `- Liste des fichiers : /var/log/auth.log
`- Actions
|- Actuellement banni : 0
|- Total banni : 410
`- Liste des IP bannies :De la même manière, il est possible de sécuriser l'interface web contre de telles attaques en créant une règle appropriée. Un exemple de cette règle pour Fail2Ban peut être trouvé dans le guide officiel.
Commencer
Il convient de noter que Proxmox est prêt à créer de nouvelles machines immédiatement après l'installation. Cependant, il est recommandé d'effectuer des configurations préalables pour faciliter la gestion du système par la suite. La pratique montre qu'il est préférable de séparer l'hyperviseur et les machines virtuelles sur différents supports physiques. Comment procéder à cela sera expliqué ci-dessous.
Configurer les disques
La prochaine étape consiste à configurer un stockage qui pourra être utilisé pour la sauvegarde des données des machines virtuelles et des sauvegardes.
ATTENTION ! L'exemple de partition de disque ci-dessous ne peut être utilisé que pour des fins de test. Pour une utilisation dans des conditions réelles, nous recommandons fortement d'utiliser un système RAID logiciel ou matériel afin d'éviter la perte de données en cas de défaillance des disques. Nous expliquerons comment préparer correctement le système de stockage à fonctionner et comment agir en cas d'urgence dans l'un de nos prochains articles.
Supposons qu'un serveur physique dispose de deux disques — /dev/sda, sur lequel le hyperviseur est installé, et un disque vide /dev/sdb, qui est prévu pour le stockage des données des machines virtuelles. Pour que le système puisse voir le nouveau stockage, la méthode la plus simple et efficace consiste à le monter comme un répertoire ordinaire. Cependant, avant cela, certaines étapes préparatoires doivent être effectuées. Prenons comme exemple comment monter un nouveau disque /dev/sdb, de n'importe quelle taille, après l'avoir formaté dans le système de fichiers ext4..
- Partitionnons le disque en créant une nouvelle partition :
fdisk /dev/sdb - Appuyez sur la touche o ou g (pour partitionner le disque en MBR ou GPT).
- Ensuite, appuyez sur la touche n (pour créer une nouvelle partition).
- Et enfin, w (pour enregistrer les modifications).
- Créons le système de fichiers ext4 :
mkfs.ext4 /dev/sdb1 - Créons un répertoire où nous allons monter la partition :
mkdir /mnt/storage - Ouvrons le fichier de configuration pour le modifier :
nano /etc/fstab - Ajoutons une nouvelle ligne :
/dev/sdb1 /mnt/storage ext4 defaults 0 0 - Après avoir effectué les modifications, nous les enregistrons avec la combinaison de touches Ctrl + X, répondant Y à la question de l'éditeur.
- Pour vérifier que tout fonctionne, nous redémarrons le serveur :
shutdown -r now - Après le redémarrage, vérifions les partitions montées :
df -H
La sortie de la commande doit montrer que /dev/sdb1 est monté dans le répertoire /mnt/storage. Cela signifie que notre stockage est prêt à l'emploi.
Ajouter du nouveau stockage dans Proxmox
Nous nous connectons au panneau de contrôle et accédons aux sections Datacenter ➝ Stockage ➝ Ajouter ➝ Répertoire.
Dans la fenêtre qui s'ouvre, nous remplissons les champs suivants :
- ID — le nom du futur stockage ;
- Répertoire — /mnt/storage ;
- Contenu — nous sélectionnons toutes les options (en cliquant sur chacune d'elles successivement).

Après cela, nous appuyons sur le bouton Ajouter. La configuration est alors terminée.
Créer une machine virtuelle
Pour créer une machine virtuelle, nous suivons la séquence d'actions suivante :
- Nous décidons de la version du système d'exploitation.
- Nous téléchargeons à l'avance l'image ISO.
- Choisissez dans le menu Stockage stockage récemment créé.
- Cliquez Contenu ➝ Télécharger.
- Sélectionnez l'image ISO dans la liste et confirmez votre choix en appuyant sur le bouton Télécharger.
Après la fin de l'opération, l'image apparaîtra dans la liste des disponibles.

Créons notre première machine virtuelle :
- Cliquez Créer une VM.
- Remplissons les paramètres un par un : Nom ➝ Image ISO ➝ Taille et type de disque dur ➝ Nombre de processeurs ➝ Volume de mémoire vive ➝ Adaptateur réseau.
- Après avoir sélectionné tous les paramètres souhaités, cliquez sur Terminer. La machine créée apparaîtra dans le menu du panneau de contrôle.
- Sélectionnez-la et cliquez sur Lancement.
- Accédez à la section Console et effectuez l'installation du système d'exploitation exactement comme sur un serveur physique ordinaire.
Si vous devez créer une autre machine, répétez les opérations ci-dessus. Une fois qu'elles seront toutes prêtes, vous pourrez travailler avec elles simultanément en ouvrant plusieurs fenêtres de console.
Configurer le démarrage automatique
Par défaut, Proxmox ne démarre pas les machines automatiquement, mais cela se résout facilement en deux clics de souris :
- Cliquez sur le nom de la machine désirée.
- Sélectionnez l'onglet Options ➝ Démarrage au démarrage.
- Cochez la case à côté de l'étiquette portant le même nom.
Dorénavant, si le serveur physique redémarre, la VM sera lancée automatiquement.

Pour les administrateurs avancés, il est également possible d'indiquer des paramètres de démarrage supplémentaires dans la section Ordre de démarrage/arrêt. Vous pouvez explicitement indiquer dans quel ordre les machines doivent être démarrées. Vous pouvez également spécifier le temps qui doit passer avant le démarrage de la VM suivante et le délai d'arrêt (si le système d'exploitation ne parvient pas à se fermer, l'hyperviseur le fermera de force après un certain nombre de secondes).
Conclusion
Cet article a exposé les bases de comment commencer à travailler avec Proxmox VE et nous espérons qu'il aidera les spécialistes débutants à faire le premier pas et à essayer la virtualisation en action.
Proxmox VE est vraiment un outil très puissant et pratique pour tout administrateur système ; l'essentiel est de ne pas avoir peur d'expérimenter et de comprendre comment cela fonctionne réellement.
Si vous avez des questions, n'hésitez pas à commenter.
Source : habr.com






