Création des Machines Virtuelles (Création d'images VMware) :
- soit par la console VMware qui fonctionne sous windows ou linux desktop.
- soit par la console Web (uniquement disponible si l'installation est faite sur un VMware Server linux)
- soit par le convertisseur qui transforme un serveur physique windows en sa machine virtuelle pour VMware
->
VMware Converter
Tout ceci est très facile à utiliser.
Informations utiles pour les dimensionnement des disques virtuels :
XP service pack 2 : prend 2 Go
2000 Professsionnel SP1 : prend 980 Mo
2000 Professsionnel SP4 : prend 1,10 Go
Ubuntu server 6.06 LTS de base : 380 Mo
Ubuntu server 7.04 de base : 420 Mo
Donc prévoir suffisamment la taille du disque pour les compléments d'installation du système, le swap et les données.
Il faut privilégier :
-
les disques en taille fixe
* Taille fixe est plus performante que le taille variable
* Taille variable : ce n'est qu'une question d'occupation du disque virtuel sur l'espace physique (le disque commence petit et grandit au fur-et-à-mesure du besoin), car du point
de vue de la machine virtuelle, il faut fixer une taille au disque (taille maximum que prendra le disque), qu'on indique dans le même champ que pour le disque fixe. C'est sur cette information de
taille de disque que pourra se baser le système de fichier, initialisé après un éventuel partionnement, lors du formatage (le filesystème : ext3, ntfs, etc...) à l'installation du système (linux,
windows, etc...) choisi pour la machine virtuelle.
-
l'émulation scsi et non ide du disque (option disponible uniquement en mode "custum")
* un disque virtuel scsi : taille maximum 256 Go
* un disque viruel ide : taille maximum 128 Go
-
un disque monolitique, c'est à dire ne pas cocher le "split in 2Gb files", qui ne sert que si le disque de la machine host est une partition "fat" (Pas le cas sous
linux, rare sous windows, et pour un transfert d'image via une clé usb "fat", on privillégiera la compression de l'image virtuelle avant son déplacement)
Enfin, sous un host VMware linux (je ne sais pas pour un host sous Windows), les disques peuvent être aggrandis, renommer, dupliqués, etc...., ceci dans le cas où le disque aurait été sous
dimensionné ou paramétré de manière inadapté au départ.
Analyse des fichiers créés par une virtual machine sur le host VMware :
J'essaie de comprendre le principe de stockage des machines virtuelles dans le répertoire dédié lors de la configuration du host VMware (/VMware ou /var/VMware, ....)
- Dans ce répertoire figure un dossier pour chaque machine virtuelle : ex
/VMware/serveur ubuntu
-rw------- 1 administrateur administrateur 8664 2007-10-17 21:23 nvram
-rw------- 1 administrateur administrateur 2147483648 2007-10-17 21:26 Ubuntu-flat.vmdk
-rw------- 1 administrateur administrateur 346 2007-10-17 21:26 Ubuntu.vmdk
-rw------- 1 administrateur administrateur 442 2007-10-17 21:23 Ubuntu.vmsd
-rwxr-xr-x 1 administrateur
administrateur 819 2007-10-17 21:23 Ubuntu.vmx
-rw-r--r-- 1 administrateur administrateur 18595 2007-10-17 21:23 vmware-0.log
-rw-r--r-- 1 administrateur administrateur 21216 2007-10-12 23:33 vmware-1.log
-rw-r--r-- 1 administrateur administrateur 73900 2007-10-09 19:46 vmware-2.log
-rw-r--r-- 1 administrateur administrateur 13123 2007-10-17 21:29 vmware.log
Ubuntu.vmdk est l'entête du disque virtuel. Lorsqu'on manipule des disques virtuels via la console ou via des commandes en ligne, si on veut s'adresser à un disque,
c'est
nom.vmdk ou le
nom est fixé automatiquement par VMware, lors de la création de la machine virtuelle, lorsque l'on précise le nom du
système que l'on installera sur le disque virtuel.
Ubuntu-flat.vmdk est le membre logique du disque Ubuntu.vmdk. On constate qu'il est dimensionné à 2 Go en mode monolytique (flat).
Ubuntu.vmx est la machine virtuelle, sélectionnée et controlée par la console
- Si nous avions choisi un disque virtuel avec l'option "split disk into 2Go" pour s'adapter à un support fat, nous aurions pour la partie disque :
-rw------- 1 administrateur administrateur 2147221504 2007-10-17 20:34 Ubuntu-f001.vmdk
-rw------- 1 administrateur administrateur 262144 2007-10-08 18:46 Ubuntu-f002.vmdk
-rw------- 1 administrateur administrateur 382 2007-10-17 20:34 Ubuntu.vmdk
Plus le disque sera de taille multiple de 2Go, plus il y aura de membres fxxx.vmdk.
- Dans le cas où sur la console, l'onglet de la machine virtuelle observée est activé. Nous verions en plus dans le répertoire les fichiers suivants. Donc pour manipuler les images disques, il faut
soit arrêter la console, soit activer l'onglet "home" ou une autre machine virtuelle.
-rw------- 1 administrateur administrateur 1199898624 2007-10-17 20:32 Ubuntu-000001-s001.vmdk
-rw------- 1 administrateur administrateur 65536 2007-10-17 20:32 Ubuntu-000001-s002.vmdk
-rw------- 1 administrateur administrateur 289 2007-10-12 23:52 Ubuntu-000001.vmdk
-r--r--r-- 1 administrateur administrateur 11 2007-10-17 20:32 Ubuntu-000001.vmdk.WRITELOCK
-r--r--r-- 1 administrateur administrateur 11 2007-10-17 20:32 Ubuntu.vmdk.WRITELOCK
-r--r--r-- 1 administrateur administrateur 11 2007-10-17 20:32 Ubuntu.vmsd.WRITELOCK
- Dans le cas où il y a des snapshots qui ont été réalisés, nous trouvons des fichiers supplémentaires du type suivant. Idem, si nous voulons manipuler les images disques, il faudra détruire les
snapshots soit par la console, soit directement dans le répertoire :
-rw------- 1 administrateur administrateur 167772160 2007-10-09 19:46 Ubuntu-Snapshot1.vmem
-rw------- 1 administrateur administrateur 1106027 2007-10-09 19:46 Ubuntu-Snapshot1.vmsn
Opérations possibles sur des disques virtuels VMware :
Source
http://www.vmware.com/support/gsx3/doc/disks_vdiskmanager_eg_gsx.html
Pour réaliser des opérations sur une image de disque VMware, il faut qu'il n'y ait pas de Snapshots ni de Writelock.
Conversion d'un disque virtuel et copie sous un autre nom :
-> taille fixe vers taille variable (ou vice-versa)
-> splité vers non splité (ou vice-versa)
vmware-vdiskmanager -r sourceDisk.vmdk -t 0 targetDisk.vmdk
ou : Disk types:
0 : single growable virtual
disk
1 : growable virtual disk
split in 2Gb files
2 : preallocated virtual
disk
3 : preallocated virtual disk
split in 2Gb files
Exemple dans notre cas :
vmware-vdiskmanager -r Ubuntu.vmdk -t 2 NewUbuntu.vmdk (Transformation vers disque
monobloc)
rm Ubuntu*.vmdk (Suppression de l'ancien disque virtuel et de ses membres)
Renommage d'un disque virtuel
vmware-vdiskmanager -n NewUbuntu.vmdk Ubuntu.vmdk (Renomme le nouveau disque virtuel sous son
ancien nom. Attention, il ne faudrait pas utiliser la commande unix "mv NewUbuntu.vmdk Ubuntu.vmdk", appliquée à l'en-tête et au membre
.vmdk. En effet, le nouveau disque virtuel obtenu ne serait plus reconnu par la commande vmware-vdiskmanager, ni pas la machine
virtuelle.)
Accroissement à 5GB la taille du disque virtuel :
vmware-vdiskmanager -x 5GB Ubuntu.vmdk
-> Dans cette exemple, 5GB est la taille finale que nous souhaitons attribuer au disque virtuel. Cette valeur doit donc toujours être supérieure à la taille actuelle du disque
.vmdk concerné.
-> Attention remettre si besoin, le même propriétaire et groupe sur les images transformées ou aggrandies
(
chown administrateur:administrateur Ubuntu*.vmdk)
Défragmentation :
vmware-vdiskmanager -d Ubuntu.vmdk
Aide sur la commande vmware-vdiskmanager :
vmware-vdiskmanager help
Autres commandes vmware : vmware-cmd :
exemple :
vmware-cmd -s register <config_file_path>
La question de l'aggrandissement d'un disque virtuel :
Une fois que l'on a aggrandi le disque virtuel, que fait-on ? Car lorsqu'on lance la machine virtuelle, la taille du disque vu de la machine est toujours la même !
C'est une question de partition et de système de fichier (filesystem).
Donc 3 solutions
:
- Nous créons une nouvelle partition sur le disque virtuel aggrandi, et nous la formatons. Puis nous utilisons cette seconde partition pour y mettre les données
supplémentaires. C'est une solution simple car l'opération se fait "
à chaud" :
* sous windows (Panneau de configuration/Outils d'administration/Gestion de l'ordinateur/stokage/Gestion des disques),
* sous linux (
cfdisk suivi d'un
mke2fs -j pour un formattage ext3).
Mais, il y a un "Mais". Nous sommes sous VMware. Avec la console, nous pouvons ajouter autant de disques virtuels que nous voulons au sein d'une machine virtuelle. Pourquoi s'être embêté à
aggrandir un disque existant. Il est souvent préférable d'ajouter un disque, puis de le partitionner avec le système hébergé. Donc sous VM, la solution serait plutôt :
1
partition = 1 disque.
-
Nous étendons la partion actuelle pour occuper l'espace libre créé.
* Sous Windows nous pouvons utiliser PartitionMagic (payant) ou GParted LiveCD gratuit, efficace mais parfois très lent (
http://gparted.sourceforge.net/livecd.php).
* Sous Linux en ligne de commande, si la partition à étendre n'est pas formatée en ReiserFS, ça ne se traite pas à chaud, même avec lvm2. Par contre, il est possible de démarrer la machine
virtuelle sur une image .iso de l'excellent
gparted-clonezilla, à l'interface très conviviale. Au démarrage du "CD", nous
choississons "auto-configuration". Ensuite, voici une petite astuce pour agrandir la partition principale :
a) agrandir le linux extended,
b) déplacer à l'intérieur le linux swap dans sa position finale,
c) réduire le linux Extended autour du Linux swap,
d) agrandir la partition principale sur l'espace ainsi libéré.
Les opérations sont mémorisées au fur et à mesure avant d'être appliquées. Il faut donc être le plus efficace possible dans la succession des opérations. Exemple, ne pas réduire une partition, pour
l'agrandir à nouveau sur l'étape suivante.
Nous appliquons ensuite notre demande de redimensionnement de la partition, et voilà...
-
Nous nous organisons bien :
Dans le cas d'un serveur qui gère de la donnée, condamné à occuper de plus en plus de place disque, nous attacherons à la VMware un minimum de 2 disques virtuels.
* 1
pour le système et les applications,
* 1
pour les données.
L'extension de l'espace voué aux données s'avère beaucoup plus simple que pour la partition système. Outres les solutions déjà abordées ci-dessus, les données peuvent être clonées ou synchronisées
sur une partition plus grande, qui prendra ensuite le relais de la partition devenue trop juste.
La magie de VMware Converter :
Nous avons vu en tête de ce mémo, que nous pouvions créer facilement une une machine virtuelle à partir d'une machine physique grâce à
VMware Converter. Un intérêt supplémentaire de VMware Converter, c'est que l'on peut définir la taille du disque virtuel de destination. Et ce qui marche dans le physique,
marche dans le virtuel...
Cet outil gratuit, je le rappelle, peut donc permettre
de réduire la taille d'un disque virtuel dédié au système windows et d'isoler les datas. Voici comment s'y
prendre :
- Nous évaluons la taille des datas,
- A partir de la console, nous créons un second disque virtuel dimensionné pour contenir les data, pour maintenant et pour l'avenir, en restant résonnable sachant qu'on pourra toujours
aggrandir.
- Nous copions les datas sur ce nouveau disque/partition.
- Nous détruisons les datas sur le disque/partition d'origine.
- Nous évaluons alors la taille occupée par les informations qui restent, à savoir le système et les applications.
- A partir de la console, nous créons un troisième disque virtuel dimensionné pour le système et les applications.
- Si vous connaissez un logiciel gratuit de clonage du système/applications d'un disque 1 vers un disque 3 plus petit, c'est bien. Sinon, il y a
VMware Converter.
- Nous lançons VMware Converter. L'image disque de destination est sur le disque 3 et nous indiquons sa nouvelle taille.
- Une fois l'image disque crée, nous la copions sur le host, dans le dossier de la machine virtuelle.
- Nous arrêtons la machine virtuelle.
- A partir de la console, nous supprimons le disque (1) contenant le système et le disque (3) qui nous a servi temporairement.
- Sur le host toujours nous supprimons les images disque (1) du système original et disque (3) temporaire.
- A partir de la console, nous ajoutons un disque avec l'option disque existant, sur le scsi (0;0) désormais libre. Nous sélectionnons le nouveau disque généré par VMware Converter.
- Enfin nous redémarrons la machine virtuelle. Une machine virtuelle parfaitement initialisée pour s'adapter à toutes les évolutions futures : Expansion des données, disque virtuel data
déplacé sur un SAN, etc...
Dernière modification : 17/03/2008