Introduction VMware
From Tuxunix
Contents
|
VMware
VMware permet le partage de ressources sur les 4 composants fondamentaux des architectures X86 suivants :
- CPU
- Memoire
- NIC (réseau)
- Disque
VMware vSphere
Vsphere : Ensemble de composant (ESX/ESXi/VClient...) permettant de fournir une plateforme de virtualisation.
VCenter
Permet de centraliser plusieurs ESX/ESXi ou VSwitch (mode distribued), pour un management regroupé.
Le Fault tolérance est disponible à partir de la version 4.0.
- 2 modes disponibles :
- Autonome (Capable de gérer ~300 ESX/ESXi), courament utilisé.
- Lincker (10 Vcenter qui communiquent entre eux, avec la gestion de 100 ESX chacun max).
- VCenter utilise une base de donnée SQL Server. Il vous faut donc creer un lien ODBC pour vous connecter à la database (SQL Native Client driver).
Installer ou activer un module VCenter
Aller dans Plug-gins => Manage Plug-ins => Download and Install.
Si les plugins ne sont pas présent il faut les installés au préalable depuis le setup VCenter Server ou le setup fournie par l'éditeur.
VMotion
- Outil permettant le déplacement à chaud d'une VM (utilisable uniquement avec VCenter).
Le VMotion est réalisé par le Kernel des ESX/ESXi! (il doivent donc communiquer). Les fichiers ne sont pas déplacé, c'est simplement la mémoire entre les ESX/ESXi.
Pré-requis :
- Kernel des ESX(i) : contact et Giga (dédié)
- Datastore: Contact 2 ESX(i)
- User: Contact 2 ESX(i)
- CPU Compatible entre ESX(i) Option EVC (AMDx => AMDx ou INTELx => INTELx (x) étant des versions différentes)
Il y a un gèle de la VM, a la fin (trés court).
DRS (Distributed Resource Scheduler)
- Outil permettant de démarrer une VM à un endroit ou les ressources sont les moins sollicités (sur un autre ESX par ex).
Attention les pré-requis sont les mêmes que pour VMotion!
Site Recovery Manager
- Outil permettant la redondance multi-site (ce module n'est pas intégré dans VCenter, c'est achat supplémentaire).
VMware vStorage
Permet l'utilisation du filesysteme VMFS afin de stocké des machines virtuel (utilisé pour du HA).
VMware ESX/ESXi
ESX/ESXi : Noyau (VMKernel) au sens gestion de l'interaction entre la couche matériel et logiciel. Ainsi VMware ESX/ESXi permet de gérer de multiple machine virtuel.
- Différence entre ESX et ESXi :
ESX permet la gestion par console (Terminal SSH), ce qui n'est pas le cas pour ESXi (enfin par défaut, il est possible de quand même l'activer ;-)) Sinon pour les 2, même kernel (basé sur le chapeau rouge : Red-Hat) même fonctionnalités...
- ESXi est également beaucoup plus légé (environ 32MB), il peut-être installable comme un Firmware sur une machine. De part ca console limité (genre de BIOS) il est moins vulnérable.
Paramétrage ESX/ESXi
NTP
Dans l'onglet inventory, aller dans la partie Configuration
Dans software, cliquer sur Time Configuration, puis properties
Selectionner NTP Client Enabled, et Ok. Cliquer sur Properties, puis Options, NTP Settings, Add est inscrire le nom du Serveur NTP référent. Ok.
DNS
Dans le panel software, cliquer sur DNS and Routing.
Dans DNS Configuration, inscrire la gateway si besoin
Export LOG
Allez dans la navigation suivante: HOME => Administration => Cliquez sur System Logs
puis sur Export System Logs.
Ajouter un ESX/ESXi au Vcenter
Créer si ce n'est pas déjà fait un Datacenter, puis un dossier (nommé Production par ex.).
Ensuite faire un clique droit sur le dossier (Production par ex.), et choisir Add Host. Là un wizard ce lance, et vous demande plusieurs valeur, comme le nom de l'esx FQDN (pas d'IP), le username (root), ne pas cliquer sur Assign License si vous ne la disposer pas sous la main (vous pourrer l'intégrer plus tard). Puis assigner l'ESX au datacenter.
Machine Virtuel (VM)
Une machine virtuel est un GuestOS au sens VMware (ex: Windows, GNU/Linux...).
Il est composé par l'encapsulation de plusieurs fichiers :
- Un fichier de configuration.
- Un autre fichier contenant l'OS et les applications (disque virtuel).
- Un fichier nommé NVRAM.
- Un fichier de log.
RDM (Raw Device Mapping)
Possibilité pour Une ou plusieurs VM d'accéder à un différent filesystème autre que VMFS ou NFS.
Création d'un pointeur (mapping) vers un filesystème type NTFS/EXT...
Attention ici on est au niveau VM (guestOS) et non au niveau ESX ou VCenter!
VSwitch
Switch virtuel au sens VMware.
VSwitch Standard
Création de Vswitch au niveau de chaque ESX.
VSwitch Distribued
Création de Vswitch au niveau du VCenter, répercuté sur l'ensemble des ESX (recommandé).
Storage
Nommé : DATASTORES Format : VMFS (optimisé pour VMware, block and down : impossible de démarrer la même VM sur 2 esx différent)
Un datastore peut être extensible (mode growing : rassembler 2 LUNs par ex).
Mode Local
Disque ESX local.
Mode Externe
Baie EMC/HITACHI (Accès type FC/ISCSI/IP)
Utile pour la techno VMotion!
- Configuration du port VMKernel (utiliser pour l'accès au NAS...) indispensable! (kernel IP de l'esx/esxi qui communique avec la baie)
iSCSI
FC
Ajout de LUNs, sur datastore existant, resize possible.
NFS
Couramment utilisé pour des accès au images ISO...
FC avec ESX/ESXi
VMFS datastores avec FC (SAN), permet le partage de VM (Fichiers) sur les différents ESX/ESXi.
ESX/ESXi peut utiliser des Fibres à 8Go.
Schema Fibre Channel SAN Components
Installer/Avoir une carte HBA sur ESX.
Storage adapter => Rescan...
Utisation de 16 cartes HBA max, et donc 256 LUNs.
- 64TB maximum par VMFS
VClient
VClient est un agent (logiciel) permettant de se connecter au ESX ou VCenter pour la gestion de l'architecture virtuel. Il existe également un accés par interface WEB (Web access), mais celui-ci est limité dans l'administration des VM.
Mode de virtualisation
Full virtualisation
OS => Virt => Physique
Ici l'OS passe d'abord par la couche virtualisation et ensuite c'est la couche virtuel qui communique avec la couche physique (pas de modification Kernel). Exemple: VMware
Para-virtualisation
OS |=> Virt => Physique |=> => => Physique
Ici la couche OS peut accéder directement au matériel. Ce mode impose la modification du kernel de l'OS. Exemple : OpenVZ
Hardware assit
OS => Physique
Ici la virtualisation ce fait directement au niveau matériel.
Gestion des ressources (VMware)
Vcpu
Licence VMware:
Celle-ci s'achète au nombre de Socket par core.
Exemple :
Enterprise plus = 1 Socket avec de 1 à 12 Core possible.
1 Vcpu est égale à 1 HEC (unité d'éxécution)
Sans Hyperthreading
Exemple avec un processeur (1 socket) quad-core :
Chaque core est égale à une unité d'éxécution (HEC), ici on peu donc alloué 4 Vcpu, pour une utilisation optimum.
Avec Hyperthreading
Exemple avec un processeur (1 socket) quad-core hyoerthreadé :
Chaque core est égale à deux unité d'exécution (HEC), ici on peu donc alloué 8 Vcpu, pour une utilisation optimum.
Overcommitment
Les VM peuvent utiliser plus de mémoire ou Vcpu qu'attribué à l'ESX physiquement. Dans ce cas un système de wait est en place. Ce qui va ralentir les performances des VMs.
Memoire
Ici c'est le VMKernel qui gère la mémoire physique (comme pour les 4 ressources).
Nous savons que le service Console des ESX utilise 300MB (il faut donc y penser pour l'allocation des ressources) Ensuite il y a également une consommation du VMKernel (ESX/ESXi), mais celui-ci dépend du nombre de gestion de VM à réaliser... Il est donc difficile de savoir combien celui-ci consomme.
Memoire partagé
La mémoire partagé est le mécanisme qui permet de chargé 1 seul objects (ex: DLL) en Read-Only utilisé par plusieurs VM dans la mémoire physique (optimisation de l'espace physique).
Ballooning (vmmemctl)
Le ballooning est la gestion de la mémoire des VMs entre la partie attribué en "reserved" et la partie "limit".
Si la VM à besoin de mémoire alors il alloue pour cette VM, seulement si le VMKernel à besoin de mémoire, il va forcer le guestOS à swapper.
Si l'utilisation est terminé il la libére de la mémoire physique (RAM).
Fonctionnel uniquement avec les VMTools d'installé sur les VMs.
VMkernel Swapping
Fichier de swap creer pour la machine au niveau des fichiers de la VM. Créer au démarrage de la VM et supprimé lors d'un PowerOff.
La réservation de ressource mémoire entre la reserved et le Max peut à tout moment être mis en swap par le VMkernel.














