GNU/Linux >> Tutoriels Linux >  >> Cent OS

Qu'est-ce que la virtualisation de serveur ? Définition et fonctionnement

Présentation

La virtualisation de serveur est le processus de création de plusieurs instances de serveur à partir d'un serveur physique. Chaque instance de serveur représente un environnement virtuel isolé. Dans chaque environnement virtuel, vous pouvez exécuter un système d'exploitation distinct.

Dans cet article, vous apprendrez tout sur la virtualisation des serveurs et pourquoi vous devriez utiliser cette puissante technologie.

Qu'est-ce que la virtualisation de serveur ?

Avant la virtualisation, vous installiez un système d'exploitation sur le matériel, le rendant directement lié au serveur. Cela signifiait que chaque serveur devait avoir son propre matériel séparé.

En moyenne, les serveurs dédiés n'utilisent que 15 % de leurs ressources en fonctionnement normal. Bien que l'exécution de votre application sur des serveurs bare metal présente certains avantages par rapport à la virtualisation, dans de nombreux cas, il s'agit d'un gaspillage de ressources. De plus, les pannes logicielles ou matérielles nécessitaient souvent une réparation manuelle sur tous les serveurs.

Par conséquent, il était nécessaire d'augmenter l'utilisation des ressources et de maintenir la séparation entre les systèmes d'exploitation des clients pour des raisons de sécurité.

La virtualisation des serveurs a été introduite comme solution aux problèmes mentionnés ci-dessus. Un logiciel de virtualisation vous a permis de « décomposer » votre serveur physique en plusieurs serveurs virtuels. Ce faisant, vous pouvez utiliser vos ressources physiques au maximum, sans investir dans du matériel supplémentaire.

Comment fonctionne la virtualisation de serveur ?

Pour créer des instances de serveur virtuel, vous devez d'abord configurer un logiciel de virtualisation. Ce logiciel essentiel s'appelle un hyperviseur . Son rôle principal est de créer une couche de virtualisation qui sépare CPU/processeurs, RAM et autres ressources physiques des instances virtuelles.

Une fois que vous avez installé l'hyperviseur sur votre machine hôte, vous pouvez utiliser ce logiciel de virtualisation pour émuler les ressources physiques et créer un nouveau serveur virtuel par-dessus.

Il existe différents types de virtualisation de serveur. La distinction entre eux est principalement basée sur le niveau d'isolation qu'ils fournissent, qui est également lié à la quantité de ressources matérielles qu'ils émulent.

Types de virtualisation de serveur

Il existe trois (3) approches de la virtualisation des serveurs en fonction de l'isolation qu'elles fournissent :

  1. Virtualisation complète ou modèle de machine virtuelle
  2. Modèle de machine paravirtuelle
  3. Virtualisation au niveau du système d'exploitation

Modèle de machine virtuelle ou virtualisation complète

Dans un modèle de machine virtuelle complet, l'hyperviseur isole complètement les machines invitées. Il partage le matériel de la machine hôte mais fonctionne comme s'il était sur un ordinateur complètement autonome, ignorant l'hyperviseur et son rôle. Ces machines virtuelles se considèrent comme autonomes et efficaces. Vous n'avez donc pas besoin d'adapter ou de modifier spécialement leurs instances de systèmes d'exploitation.

Machine paravirtuelle

Lorsque vous avez besoin de plusieurs machines virtuelles et que vous disposez d'un partage de ressources flexible, un environnement entièrement virtualisé peut ne pas être nécessaire. Dans ce cas, un environnement paravirtualisé peut mieux convenir à la situation.

Le modèle paravirtuel élimine le besoin pour la machine virtuelle de piéger les instructions privilégiées, ce qui la rend plus rapide et moins intrusive pour le système. Les systèmes d'exploitation reconnaissent l'existence d'un hyperviseur et communiquent directement avec lui en envoyant des commentaires appelés hypercalls .

Pour que cette communication ait lieu, l'hyperviseur et les systèmes d'exploitation sont spécialisés pour échanger des hyperappels. Par conséquent, la paravirtualisation nécessite un hyperviseur et des systèmes d'exploitation paravirtualisés. Ceux-ci sont modifiés en implémentant une API (interface de programmation d'application) pour leur permettre de communiquer via des hyperappels.

Couche du système d'exploitation

La virtualisation au niveau du système d'exploitation est une fonctionnalité d'un système d'exploitation doté d'un noyau permettant l'existence de plusieurs instances d'espace utilisateur. Nous appelons ce type de virtualisation conteneurisation et ces conteneurs d'instances de l'espace utilisateur (partitions, environnements virtuels ou jails).

Les programmes peuvent s'exécuter à l'intérieur du conteneur mais sont limités uniquement au contenu du conteneur et aux périphériques affectés à ce conteneur. Contrairement au système d'exploitation principal, ces instances d'espace utilisateur pensent disposer de toutes les ressources disponibles, mais sont limitées aux ressources allouées au conteneur.

Comme ce niveau de virtualisation utilise le même système d'exploitation et le même noyau que l'hôte, il ne peut différer de son hôte que par la version du système d'exploitation. Par conséquent, il est limité car il ne peut pas avoir un système d'exploitation différent de celui de son hôte.

Types d'hyperviseurs

Deux types d'hyperviseurs sont utilisés pour créer des environnements virtuels :

  • Hyperviseurs de type 1 (hyperviseurs natifs/bare metal)
  • Hyperviseurs de type 2 (hyperviseurs hébergés)

Hyperviseur de type 1

Les hyperviseurs de type 1 ou bare metal sont installés directement sur le matériel physique de la machine hôte, fournissant une couche entre le matériel et un système d'exploitation. Au-dessus de cette couche, vous pouvez installer de nombreuses machines virtuelles. Les machines ne sont en aucun cas connectées et peuvent avoir différentes instances de systèmes d'exploitation et agir comme différents serveurs d'applications.

Console de gestion

Les administrateurs système et les utilisateurs avancés contrôlent l'hyperviseur à distance via une interface appelée console de gestion .

Avec lui, vous pouvez vous connecter et gérer des instances de systèmes d'exploitation. Vous pouvez également allumer et éteindre des serveurs, transférer des systèmes d'exploitation d'un serveur à un autre (en cas d'indisponibilité ou de dysfonctionnement) et effectuer de nombreuses autres opérations.

Un hyperviseur de type 1 est hautement sécurisé car il n'a pas de surface d'attaque d'un système d'exploitation sous-jacent (hôte). De plus, il contrôle et attribue les ressources allouées à chaque machine virtuelle en fonction de son utilisation pour éviter de gaspiller des ressources.

Des exemples d'hyperviseurs de type 1 incluent VMware ESXi, KVM, Oracle VM, Citrix XenServer, Microsoft Hyper-V et autres.

Hyperviseur de type 2

Contrairement au type 1, un hyperviseur de type 2 est installé au-dessus d'un système d'exploitation existant. Cela permet aux utilisateurs d'utiliser leur ordinateur personnel ou leur serveur comme hôte pour des machines virtuelles. Par conséquent, vous disposez du matériel sous-jacent, d'un système d'exploitation servant d'hôte, d'un hyperviseur et d'un système d'exploitation invité.

Bien qu'une machine virtuelle soit isolée, le système d'exploitation principal est toujours directement connecté au matériel. Cela le rend moins sécurisé que les hyperviseurs de type 1.

Dans les environnements où la sécurité est primordiale, ce type d'hyperviseur peut ne pas répondre à vos besoins. Cependant, les utilisateurs finaux et les clients de petites entreprises peuvent trouver ce type d'environnement plus approprié.

Avoir un hyperviseur hébergé permet d'installer plus d'une instance d'un système d'exploitation. Cependant, vous devez être prudent avec l'allocation des ressources. Dans le cas des hyperviseurs de type 2, une surallocation peut entraîner le plantage de votre machine hôte.

Des exemples d'hyperviseurs de type 2 incluent VMware Workstation, KVM, Oracle VM VirtualBox, Microsoft Virtual PC, Red Hat Enterprise Virtualization et autres.


Cent OS
  1. Comment installer et utiliser TeamSpeak Server sur CentOS 7

  2. Qu'est-ce qu'un serveur Web et comment fonctionne un serveur Web ?

  3. Qu'est-ce que le serveur Samba et comment configurer le serveur Samba dans Ubuntu Linux

  4. Comment installer Virtualization Linux Server

  5. Qu'est-ce que la dispersion NTP et comment la contrôler ?

Installer et configurer KVM dans le serveur CentOS 8

Comment installer et configurer Memcached sur CentOS 8

Comment installer le serveur et le bureau CentOS 7

Qu'est-ce qu'EasyApache et comment l'utiliser ?

Qu'est-ce que DHCP et comment fonctionne DHCP ? (Les bases de DHCP expliquées)

Qu'est-ce que DNS et comment fonctionne DNS ? (Principes fondamentaux du serveur de noms de domaine)