Mise en oeuvre de VMPlayer
Le 24 juillet 2008, à 2:50 par Ulhume...

Que ce soit pour tester de nouvelles distributions, des environnements de production, avoir un WilainOS sous la main en cas de besoin, ou garder son bureau GNU/Linux et malgré tout pouvoir développer en environnement "clientèle", la virtualisation est un outil indispensable aujourd'hui. Il existe de nombreuses solutions fonctionnelles sous Linux pour permettre de virtualiser un environnement. Mais malgré tout le bien que je pense de VirtualBox ou Qemu, VMWare reste de loin le plus stable et le plus efficient de tous. Au point d'avoir pu l'utiliser pendant un an en continu comme station de travail principale pour des développements lourd.

Maintenant VMWare Workstation reste payant. Alors voici comment utiliser VMPlayer qui lui est gratuit pour faire rigoureusement la même chose avec juste un peu plus d'huile de coude.

Introduction

VMWare est un fantastique outil permettant d'exécuter des OS guest sur un OS host. Vous pouvez ainsi lancer Windows dans Linux, Linux dans Linux, ReactOS dans linux, etc...

Contrairement à d'autres systèmes, VMWare n'émule pas le processeur. Le code est exécuté nativement sur l'unité physique permettant des performances totalement comparables à un environnement natif. Le pendant de cette approche est que seul les OS i86 peuvent devenir des guests.

La couche matérielle, est elle émulée. C'est là la principal perte de performance de la plateforme. Perte limitée par l'utilisation des pilotes optimisés contenus sur les Guest Tools. Limitée aussi si l'on utilise un disque physique dédié comme espace de stockage plutôt qu'un disque virtuel.

Installation de VMPlayer

VMPlayer s'installe comme n'importe quel autre logiciel en téléchargeant le paquet et en l'installant via un urpmi VMPlayer.XXX.rpm. Ceci fait, il va nous falloir compiler les modules kernels de VMWare nécessitant le téléchargement préalable des sources du votre kernel. Ensuite, un simple vmware-config.pl suffit à lancer l'assistant qui vous poser divers questions pour finir par construire les modules. Après cela, VMWare devient le service /etc/init.d/vmware que l'on peut lancer (service vmware start) ou arrêter à loisir.

Création de la machine virtuelle

Pour fabriquer la machine virtuelle, rien de plus simple. Choisissez un emplacement approprié sur votre disque et créez un nouveau dossier. Allez dans ce dossier et créez un fichier vm.vmx.

J'ai commenté ce fichier de sorte à ce qu'il soit le plus compréhensible possible et restant facilement copiable :

vm.vmx
  1. # Ces versions indiquent que notre VM est conçue une version 6 de VMWare Worstation
  2. # et qu'elle est donc optimum pour VMPlayer 2.x. Placez un virtualHW.version="4" pour une
  3. # Workstation 5.x.
  4. #
  5. config.version = "8"
  6. virtualHW.version = "6"
  7.  
  8. # Le petit nom de note VM, il sera affiché dans la barre de titre du player
  9. #
  10. displayName = "VM Native"
  11.  
  12. # La définition de l'OS "invité". Personnellement je n'ai jamais vu ce que changeait
  13. # cette valeur. Et comme j'utilise le même VMX pour plusieurs OS en multi boot
  14. # comme nous le verrons plus loin, il semble bien que cela n'empêche pas un Linux de
  15. # fonctionner très bien avec ce paramètre.
  16. #
  17. guestOS = "winxppro"
  18.  
  19. # Ici nous définissons le nombre de processeur à simuler. Ce nombre ne peut dépasser 2, et ne doit
  20. # dans tous les cas pas être supérieur au nombre réel de processeur.
  21. #
  22. numvcpus="1"
  23.  
  24. # Taille de la mémoire à allouer à VMWare. Il faut raisonner comme pour une machine physique. Ainsi ne tentez pas
  25. # de faire fonctionner Vista avec 512mo de RAM, ça ne marchera pas pas mieux que dans la vraie vie Wink
  26. #  
  27. memsize = "1024"
  28.  
  29. # Avec ce paramètre à TRUE, vous autorisez le player à diminuer la mémoire physique réellement
  30. # utilisée en fonction de son utilisation par le guest. Ainsi si vous avez déclaré un memsize à
  31. # 1Go, et que vous autorisez le scaleDown, la mémoire réellement consommée peut être moindre.
  32. # La contepartie c'est que pour regagner la mémoire rendu, il peut y avoir de la latence de la part
  33. # de l'OS host.
  34. #
  35. # Le MemTrimRate permet de définir le rythme de désallocation de la mémoire. A ce que j'ai compris les deux paramètres
  36. # vont de paire mais je n'ai pas trouvé d'information sur l'unité (seconde, milli ? )
  37. #
  38. MemAllowAutoScaleDown = "FALSE"
  39. MemTrimRate = "-1"
  40.  
  41. # Le page sharing consiste pour VMWare à utiliser une seule page mémoire sur le host lorsque le guest en a deux ou plus
  42. # d'identique. Cela peut certe réduire la consommation sur le host, mais réduit aussi les performances.
  43. #
  44. sched.mem.pshare.enable=FALSE
  45.  
  46. # Permet de créer un ID unique à la machine virtuelle au démarrage de celle-ci.
  47. #
  48. uuid.action = "create"
  49.  
  50. # Réglage des outils de base
  51. #
  52. tools.remindInstall = "TRUE"    # vous préviens si les Guest Tools ne sont pas installés
  53. tools.upgrade.policy = "upgradeAtPowerCycle"  # vous préviens si une mise à jour est disponible
  54. tools.syncTime = "TRUE"   # Synchronise l'heure entre le guest et le host
  55.  
  56. # Ces paramètres permettent d'activer toutes les interactions entre le guest et le host.
  57. # Ces fonctions nécessitent l'installation des Guest Tools
  58. #
  59. isolation.tools.hgfs.disable = "FALSE"    # Permet à la souris de sortir de la VM sans CTRL+ALT
  60. isolation.tools.dnd.disable = "FALSE"    # Autorise le Glisser-Déposer
  61. isolation.tools.copy.enable = "TRUE"    # Autorise le Copier
  62. isolation.tools.paste.enabled = "TRUE"  # Autorise le Coller
  63.  
  64.  
  65. # Configuration de la carte son. Ici nous émulons une Ensonic ES1371. Il est possible d'utiliser
  66. # aussi une Sound Blaster 16 en utilisant la valeur SB16. Mettre .present à false pour désactiver le son.
  67. # D'un point de vue général, les périphériques peuvent activées ou désactivées en utilisant la barre
  68. # d'outils du player.
  69. #  
  70. sound.present = "TRUE"
  71. sound.virtualdev = "es1371"
  72. sound.synth.operational = "TRUE"
  73.  
  74.  
  75. # Configuration du port série n°1, on laisse ici le player trouver
  76. # le device correspondant. Si vous voulez l'activer, positionnez
  77. # .present à "TRUE", de même pour le second port.
  78. #
  79. serial0.present = "FALSE"
  80. serial0.fileName = "Auto Detect"
  81. serial0.autodetect = "TRUE"
  82. serial0.hardwareFlowControl = "TRUE"
  83. serial1.present= "FALSE"
  84.  
  85. # Configuration du port parralèle. Même chose que pour le port série,
  86. # désactivé par défaut.
  87. #
  88. parallel0.present = "FALSE"
  89. parallel0.fileName = "Auto Detect"
  90. parallel0.autodetect = "TRUE"
  91. parallel0.bidirectional = "TRUE"
  92.  
  93. # Configuration du lecteur de disquette, là aussi désactivé, ces bêtes là deviennent rares Wink
  94. #
  95. floppy0.present = "FALSE"
  96. floppy0.startConnected = "FALSE"
  97.  
  98. # Configuration de l'USB. Là ça peut être utile. La configuration est assez simple mais
  99. # vous notez la présente d'un .present ET d'un usb.generic.autoconnect. Ce dernier indique
  100. # que par si le port USB est bien reconnu par VMPlayer, les périphériques qui y sont connectés
  101. # ne sont pas automatiquement connectées. Elle pourront l'être de manière dynamique
  102. # par la barre d'outils de VMPlayer qui prendra ainsi la main sur une clef USB ou une souris.
  103. #
  104. # Notez que si le player prend la main sur une périphérique USB, le host n'en dispose plus. Faites donc
  105. # attention si vous avez l'idée de connecter votre souris ou clavier par exemple  ;-)  
  106. usb.present = "TRUE"
  107. usb.generic.autoconnect = "FALSE"
  108.  
  109. mks.enable3d = "FALSE"
  110.  
  111. # Là c'est important, le paramétrage du réseau. L'adresse indiquée sera l'adresse MAC de votre machine.
  112. # Pensez donc à la modifier d'une machine à l'autre, et ne pas utiliser la même chose qu'une machine
  113. # physique.
  114. # Ensuite vient le virtualDev qui correspond (comme pour la carte son), à la carte réseau émulée. La valeur
  115. # peut être e1000 pour une Intel Pro Gigabit, vlance pour la carte du même nom, ou vmxnet pour une carte
  116. # VMWare.  
  117. # Comme pour serial0/1, il est possible d'avoir deux cartes réseau auquel cas il faut dupliquer les paramètres
  118. # d'ethernet0 pour ethernet1 et biensur changer l'adresse MAC.
  119. #
  120. ethernet0.present = "TRUE"
  121. ethernet0.connectionType = "nat"
  122. ethernet0.addressType = "generated"
  123. ethernet0.generatedAddress = "00:0c:29:59:aa:eb"
  124. ethernet0.virtualDev = "e1000"
  125. ethernet0.generatedAddressOffset = "0"
  126. ethernet1.present="FALSE"
  127.  
  128. # Originellement il était possible de choisir entre SCSI et IDE. Pour les tests que j'avais fait
  129. # il n'y avait aucun gain de performances en passant de l'un à l'autre. Donc j'opte pour le plus
  130. # simple : IDE.
  131. #
  132. # La VM disposent de deux contrôleurs IDE pouvant recevoir deux disques chacun. Nous allons
  133. # donc coller sur le deuxième contrôleur, deux lecteurs de CD-ROM. Le premier sera relié au lecteur
  134. # physique, le second à une image ISO.
  135. #
  136. # Le problème du player, est qu'il n'y a pas de moyen de changer l'image ISO à chaud comme avec
  137. # la version workstation. L'astuce consiste donc à utiliser un fichier cdrom.iso dans le même dossier
  138. # que le fichier .vmx. Et de faire des liens symboliques entre la véritable image ISO et ce fichier. Cela
  139. # permet d'installer un Linux sur 3 CD-ROM sans problèmes.
  140. #
  141. ide1:0.present = "TRUE"
  142. ide1:0.deviceType = "cdrom-raw"
  143. ide1:0.startConnected = "FALSE"
  144. ide1:0.fileName = "auto detect"
  145. ide1:0.autodetect = "TRUE"
  146. ide1:1.present = "TRUE"
  147. ide1:1.fileName = "cdrom.iso"
  148. ide1:1.deviceType = "cdrom-image"
  149. ide1:1.startConnected = "FALSE"
  150.  
  151. # Nous arrivons enfin au plus important, le disque de stockage
  152. # Ici, seul un disque est monté sur le contrôleur IDE, mais l'autre peut
  153. # être facilement activé.
  154. #
  155. # Je ne vais pas rentrer dans les détails du independent-persistent, disons
  156. # que ce mode est sensé être le plus proche d'un fonctionnement physiques. En tout cas
  157. # c'est pour moi le mode le plus efficace.
  158. #
  159. # Pour ce qui est du fichier native.vmdk, c'est tout l'objet du prochain chapitre.  
  160. ide0:0.present = "TRUE"
  161. ide0:0.fileName = "disque_dur.vmdk"
  162. ide0:0.mode = "independent-persistent"
  163. ide0:0.deviceType = "rawDisk"
  164. ide0:0.redo = ""
  165. ide0:0.writeThrough = "TRUE"
  166. ide0:0.startConnected = "TRUE"
  167. ide0:1.present = "FALSE"

Création de l'espace de stockage

Utilisation d'un disque virtuel

Cette approche est sans doute la plus simple. L'avantage du disque virtuel est qu'il n'occupe que la place utilisée par le guest. Ainsi à sa création, il n'occupe que 1.4mo.

Pour créer ce disque nous allons utiliser l'utilitaire qemu-img provenant du paquet du même nom. La syntaxe est trés simple :

qemu-img create -f vmdk disque_dur.vmdk 10G

Et voilà, nous avons cré un disque de 10G qui pour l'instant en occupe beaucoup moins vu qu'il est vide.

A partir de là, notre VM est déjà utilisable, et nous pouvons la lancer par un

vmplayer vm.vmx

Votre machine virtuelle devrait normalement démarrer sans encombre. Vous pouvez alors aller (F2) dans le BIOS pour régler les priorités sur les disques pour démarrer sur un CD-ROM et commencer une installation.

A ce stade CTRL+ALT permette de dégager la souris de la fenêtre du player, CTRL+ALT+Entrée permet de basculer en plein écran et CTRL+ALT+ESPACE, relachement d'espace suivi de F1, permet de simuler le CTRL-ALT-F1.

Maintenant, un disque virtuel n'est pas ce que l'on fait de mieux pour une utilisation quotidienne de VMPlayer. En effet, soit parce que l'on désire utiliser une installation physique existante, soit pour des raisons de performances, nous pouvons préférez un bon vieux disque physique.

Utilisation d'un disque dédié

Cette technique, de par l'accès offert aux données physiques, n'est par nature pas sans risques. Faites donc attention à ce que vous faites pour ne pas flinguer les partitions ou le contenu même du support. Vous êtes prévenu.

Pour se donner une idée des performances d'un disque physique contre un disque virtuel, il faut garder tête que pour un disque physique ayant un débit en lecture sur le host de 59MB/s, donnera utilisé en virtuel environ 12MB/S. Le même disque physique mais utilisé à travers la VM donnera 34MB/s. Il est donc clairement plus performant de dédier un disque à VMWare dés que l'on utilise cet outil pour travailler sur du long terme.

L'autre cas d'utilisation d'un disque physique peut être de virtualiser une installation existante. Personnellement j'ai adopté la double approche d'un disque physique dédié qui est donc bootable en directe par la machine physique et utilisable en virtualisé par VMPlayer. Sur ce disque j'installe tranquillement toutes mes VM, chacune sur sa ou ses partitions avec un GRUB pour gérer le multi-boot.

Quel que soit votre usage, le travail préalable reste le même et consiste à créer un fichier vmdk qui va reprendre les caractéristiques du disque physiques.

En simplifiant un peu, un disque dur est composé de plateaux avec une têtes pour chacun. Les plateaux sont découpés en cercles concentriques, les pistes (tracks). Une même piste forme un cylindre pour l'ensemble des plateaux. La piste est découpée en secteurs, historiquement de 512 octets. Le nombre de cylindres, le nombre de secteur par piste, et le nombre de têtes (et donc de plateaux) par cylindre, forment la géométrie du disque.

Pour connaître cette géométrie, le mieux est d'utiliser l'utilitaire parted. Par exemple si l'on désire utiliser le disque /dev/hda, cela nous donne :

# parted /dev/hda
(parted) unit cyl
(parted) print
  ST3200822A (ide)
  Disque /dev/hda : 24321cyl
  Taille des secteurs (logiques/physiques): 512B/512B
  BIOS cylindre,tête,secteur géométrie : 24321,255,63. Chaque cylindre est 8225kB.
...

Les valeurs peuvent surprendre. 255 têtes impliquent 255 plateaux, ce qui semble un peu volumineux pour un si petit disque... En fait, pour des raisons un peu longuètes à expliquer, le disque ne donne jamais son véritable nombre de têtes, pour préférer quelque chose de plus assimilable par la couche logicielle. Et au fond, on s'en moque. Notre disque dispose donc de 255 têtes, 63 secteurs par piste, et 24321 cylindres. Ce qui nous donne un espace disque de 512 (taille d'un secteur) x 255 (têtes par cylindre) x 63 (secteurs par piste) x 24321 (cylindres) = 200Go. Le compte est bon Wink

Maintenant ce qu'il nous faut, c'est la taille du disque en secteurs. Pour cela, nous allons encore utiliser parted mais cette fois en changeant l'unité de cylinder à sector.

(parted) unit s
(parted) print
  ST3200822A (ide)
  Disque /dev/hda : 390721968s
...

En vert, nous avons la taille du disque en secteurs. Il ne nous reste donc plus qu'à reporter ces informations pour créer notre fichier disque_dur.vmdk

version=1
CID=400b3894
parentCID=ffffffff
createType="fullDevice"
RW 390721968 FLAT "/dev/hda" 0
ddb.geometry.cylinders = "24321"
ddb.geometry.heads = "255"
ddb.geometry.sectors = "63"
ddb.virtualHWVersion = "4"
ddb.adapterType = "ide"
ddb.toolsVersion = "6530"

Notez qu'il est possible de faire des fichiers vmdk beaucoup plus évolués que celui-là en créant un disque composé de partitions qui ne se suivent pas, et même d'images de partitions sockés sur le disque sous la forme d'un fichier. Mais même si vous n'utilisez cette technique que pour une seule partition, autant inclure le disque en entier, secteur de démarage compris. Le seul risque de cette approche est que la machine virtuel aura un accès en écriture sur l'ensemble du disque, c'est à vous de voir.

Les bons droits

Normalement, le disque /dev/hda (ou quel que soit le votre) n'est pas accessible en écriture (et même en lecture d'ailleurs) à un utilisateur Lambda. Et comme me l'a très justement fait remarquer Malic, lancer VmPlayer en root n'est pas une idée de génie. La solution consiste donc à changer les droits de /dev/hda pour les mettre en accord avec le ou les utilisateurs amenés à utiliser cette machine.

Sous Mandriva, les disques appartiennent à root et au groupe disk. Dans ce cas, une version simple consiste à modifier /etc/group et à ajouter le ou les utilisateurs à la fin de la ligne correspondante.

Ensuite, il faut donner les droits d'écritures sur le disque au groupe en question par la commande chmod g+rw /dev/hda. Ceci fait, il devrait suffire d'ouvrir une nouvelle console au nom de l'utilisateur cible pour pouvoir lancer VmPlayer. Le souci avec les distributions modernes, c'est qu'il y a un nouveau démon, console-kit-daemon, dont le but dans la vie est d'unifier les accès aux consoles (à ce que j'ai compris) et qui empêche du coup, de récupérer les bons droits directement. La seule parade que j'ai trouvée est de quitter X, puis se re-connecter pour bénéficier du nouveau groupe ainsi pouvoir lancer la VM sans problèmes.

Installation des Guest Tools

Les guest tools sont des images ISO, une par OS host donc, permettant l'installation d'utilitaires et de pilotes DANS la VM. Le problème est que ces ISO ne sont pas fournies avec le player. La solution est donc simplement de retourner sur le site de VMWare, télécharger la version d'évaluation de VMWare Workstation en rpm. Plus de décompresser le paquet par la commande suivante :

  1. mkdir tmp
  2. cd tmp
  3. rpm2cpio VMWare-XXXX.rpm | cpio -div `*.spec`
  4. find . -name "*.iso"

La commande find, est une recherche simple des fichiers .iso qui nous permet de découvrir une série de fichier avec des noms d'OS (windows.iso, linux.iso, etc...). Ce sont les ISO Guest Tools. Il suffit alors de recopier ses fichiers où bon vous semble. Ensuite vous devez monter le fichier correspondant à l'OS host sur le lien du CD-ROM. Une fois le tout installé, les performances sont transfigurées.

Conclusion

Comme je le disais en introduction, j'ai utilisé pendant 1 ans VMWare comme environnement principal de développement, et ce pour faire du Delphi/COM/DCOM. Pas réputé pour être d'une grande légereté. Cet outil m'est devenu aujourd'hui absoluent indispensable.

Dernier truc avant de partir, ma découverte du jour, Ext2 IFS For Windows. Un pilote natif Windows qui permet d'attaquer en lecture ET en écriture des partitions ETX2/EXT3 et EXT4. Le tout avec les mêmes performances que sous Linux, très bon Smiling

Commentaires

Wazzaaabid , le 24 June, 2008 - 19:10

Salut,

Je sais complètement HS par rapport au sujet abordé... mais j'arrive plus à utiliser correctement tes zones de code (en cliquant sur "texte simple"). Je ne sais pas si c'est dû à Firefox 3 ou à une mise à jour de ton thème.

En tout cas j'apprécie toujours autant tes articles, et l'esthétique de ton blog.

Florent

Zanko, le 24 June, 2008 - 20:50

J'ai le même problème (et suis moi aussi sous FF3). C'est honteux ça ! Heureusement que je fais plus d'efforts que ça pour m'occuper de mon propre blog et heu... comment ça il est down mon blog ? comment ça il marche bien que sous FF2 ?
Bon j'ai rien dit Glad.

<boulet>

En fait, je ne comprend pas pourquoi tu as besoin de créer un fichier à part pour le boot loader. Avec qemu je boot sur la partition de windows directement en tapant qemu -hda /dev/ad0 (bon après ça plante avant que windows ait fini de se charger...).

</boulet>

Sinon je te plains, avoir du installer windows... Quelle horreur... Tu devrais voir un psy il t'aidera à reprendre pied Glad.

Ulhume, le 24 June, 2008 - 21:42

@Zanko & Wazzaaabid
Bon, ça va, je vais l'installer le machin 3.0... Smiling

@Zanko
Pour le coup du bootloader bravo, tu viens de dramatiquement réduire la taille du tuto. J'ai même pas pensé à remettre en cause mes sources, pas bien. Effectivement, sans le bl, ça marche aussi très bien.

Je vais quant même versionné le précédent tuto car tout le monde fait ce maudit calcul et ces deux parties... On sais jamais, peut-être un cas particulier qui nous aurait échappé...

Pour ce qui est de Windows, t'as pas idée de l'enfer que ça a été. J'installe une mandriva de base, en 20minutes, j'ai une machine qui est reconnue de A à Z.

Là, 16 minutes pour qu'il installe.. l'installer... 45 minutes pour installer... l'OS et ensuite 2h de galère because 11 périphériques avec un joli ? jaune... J'adore...

feilong , le 24 June, 2008 - 21:57

Est que la machine est exportable par la suite ou on est lié au disque dur physique "à vie" ?

Dab, le 24 June, 2008 - 22:37

Oui exportable par un logiciel p2v (physical to virtual). Après il s'agit de savoir vers quel format tu veux exporter (Xen, QEMU, KVM, vmx)

Zanko, le 24 June, 2008 - 23:07

Logiquement pour exporter la partition il suffit d'en faire une image avec dd, de même que la procédure inverse permet d'installer "pour de vrai" une partition créée dans une vm.

Sinon, Ulhume, as-tu essayé qemu ? Si oui y'a t'il une raison pour lui préférer vmplayer ? Car bien que ton tuto se soit simplifié, ça reste plus long que de taper qemu -hda /dev/ad0 qui chez moi lance un windows (qui vit ses dernières heures car demain c'est la fin des cours pour moi et comme je le garde seulement pour passer les évals qui se font avec un client .net, demain soir à la poubelle le windows Glad).

Sinon ext2ifs c'est bien mais à moins que ça ai changé ou que je ne sache pas l'utiliser, il ne sait pas faire de fsck ce qui fait qu'on doit rebooter sous linux lorsque le disque a été éteint à l'arrache.

Ulhume, le 24 June, 2008 - 23:24

@feilong & Dab
Y'a aussi VmWare Converter qui fait cela très bien

Ulhume, le 24 June, 2008 - 23:30

@Zanko
Ben pour qemu je ne saurais trop dire, la seule chose que j'ai jamais réussi à faire avec, c'est crasher ma bécane Smiling ET les seules fois où ça crashait pas, s'était beaucoup plus lent que VmWare. Donc je dirais avant tout stabilité et performances. Mais Qemu a peut-être beaucoup changé, s'était il y a un certain temps. Mais comme je n'utilise VMWare que pour des choses ch***tes, j'aime bien que tout fonctionne direct.

Pour ext2ifs je ne pense effectivement pas avoir vu de fsck. Ceci dit, c'est tout de même redoutablement pratique. Pour mes bench, cela me permet d'avoir windows sur un vilain disque tout lent et faire les tests IO sur le même disque que Linux.

feilong , le 25 June, 2008 - 09:49

@Ulhume
Ouai je l'utilise depuis pas mal de temps pour migrer des machines physiques vers mes serveurs ESX. Par contre, il ne marche qu'avec windows... ma question était plutôt intéressée pour virtualisr un serveur Debian 3.0 physique...

malic , le 25 June, 2008 - 14:16

Pour virtualiser du linux, on peut utiliser clonezilla ou PING ou plus classiquement (malheureusement) Norton Ghost pour faire une image et restaurer dans une machine virtuelle.

L'opération inverse est aussi possible.

malic , le 25 June, 2008 - 14:28

Un truc que je n'avais pas noté :

Voilà, c'est terminé. Il ne reste plus qu'à lancer, en tant que root :

Hmm.. je ne sais pas si c'est une bonne idée... il commence à y avoir des soucis d'étanchéité entre les machines virtuelles VMware et les OS hébergeant avec tous les ponts de com (VMware tools, Share folders, gnagna).

Plutôt essayer de donner les droits à ton utilisateur sur la partition en question.

feilong , le 25 June, 2008 - 14:39

Salut Malic,
En effet, VmWare Converter est sensé pouvoir virtualiser des images (.gho > version 9). On peut essayer aussi de démarrer un client ghost dans un logiciel de virtualisation... J'ai toujours trouvé ça très peu concluant dans les deux cas (enfin de mon expérience).

Sinon, je me tourne de ce pas vers clonezilla et PING...

Merci pour les infos Malic.

malic , le 25 June, 2008 - 15:42

le P2V de VMWare faisait intervenir Ghost au début, maintenant, je ne sais plus si ils continuent à vendre ça et VMware Converter, je ne connais pas la techno qui est dessous.

Pour le principe de passer un soft d'image (type Ghost), c'est vraiment utilisable avec linux qui est très tolérant au changement de hardware, et particulièrement du physique vers le virtuel.

Dans le sens inverse, il suffit de se préparer un peu dans le cas de hardware spécifique (inclure pilotes RAID matériel) avant de faire l'image et la restauration est possible. A valider avant de faire ça en prod évidement.

En dernier recours, il existe une méthode bourrin de P2V et V2P, c'est tar Smiling Dans certain cas, ça marche même plutôt bien, la récupération pouvant être un peu houleuse.

Pour le fait de démarrer un client ghost dans une VM, je ne l'ai fait qu'une fois acculer par la livraison d'une image à ce format... bah... Mais sur le principe, ça ne dérange pas... j'ai vu des gens coller des agents de sauvegarde dans les machines virtuelles et procéder à des sauvegardes à travers le réseau comme n'importe qu'elle machine physique.

Pour Windows, par contre, ça ne fonctionne pas, les clonezilla et consorts.

Ulhume, le 25 June, 2008 - 15:16

@malic Tu n'as pas tord du tout. J'ai changé cela.

feilong , le 25 June, 2008 - 15:56

Merci pour le détail.

malic , le 25 June, 2008 - 17:02

Le souci avec les distributions modernes, c'est qu'il y a un nouveau démon, console-kit-daemon, dont le but dans la vie est d'unifier les accès aux consoles (à ce que j'ai compris) et qui empêche du coup, de récupérer les bons droits directement. La seule parade que j'ai trouvée est de quitter X, puis se re-connecter pour bénéficier du nouveau groupe ainsi pouvoir lancer la VM sans problèmes.

Autrefois, un kill -HUP du daemon l'obligeait à se remettre en phase avec sa config. As tu essayé ce genre de manipulation un peu "vieille école"?

C'est horrible, on en est presque à redémarrer pour prendre en compte une changement de droit sur un fichier... ça me rappelle un au autre OS, ça.

Ulhume, le 25 June, 2008 - 20:32

@malic j'avais tenté mais la vieille école ne fait plus recette semble t-il Smiling

Je suis assez d'accord avec ta remarque finale...

Denis , le 14 September, 2008 - 18:26

Mais à quoi ça sert tout ça ? Vmware server est gratuit et permet de créer des machines virtuelles.

Que d'emmerdements pour rien !

Ulhume, le 14 September, 2008 - 19:06

@Denis
Vmware Server et VMWare WorkStation (dont hérite le player) sont deux bêtes assez différentes. Déjà, comme leur nom l'indique, l'une est plus adapté au travail sur poste de travail que l'autre (par exemple le Drag & Drop, copier/collet, etc, entre les VM). Ensuite les deux systèmes n'ont carrément pas le même poids sur l'OS hôte. Cela se sent déjà au download (550mo de téléchargement juste pour avoir une interface...).

Ensuite "l'emmerdement" comme tu dis est une chose très relative. J'utilise le même .vmx depuis deux ans et je fais ce que je veux avec. Une IHM, puisque c'est au fond la seule chose qui semble te manquer, moi, m'emmerderait plus qu'autre chose, au delà du fait que j'aime bien comprendre ce que je fais.

Denis , le 16 September, 2008 - 12:45

J'utilise, je déploie, je forme à Vmware depuis 2002 si ma mémoire est bonne.

L'astuce consiste à installer Vmware Server dont je concède qu'il est lourd, créer la machine, le désinstaller et installer Vmware player qui est plus léger. C'est un fait.

Tu peux aussi - soumis à licence - installer Virtual Box (mode nat plus simple) pour exécuter / convertir ton vmx.

@+

Ulhume, le 16 September, 2008 - 12:54

@Denis
Je pense que nous avons juste une petite incompréhension sur la "cible", là.

Je n'ai jamais dit que ton approche n'était pas réalisable. Sans faire de formation, j'utilise VmWare en tant que développeur quasi quotidiennement depuis à peu près la même époque que toi et je pense malgré tout que connaître la structure d'un fichier VMX ainsi que la manière de créer des disques est extrêmement pratique y compris lorsque l'on dispose de la version Workstation. Cela me permet de créer des VM ou plus souvent de dupliquer une VM pour en modifier deux trois aspects (réseau, disques généralement) en quelques minutes, et ce avec seulement vi et qemu-img.

Alors il y a sans aucun doute un coût d'apprentissage que j'ai essayé ici de rendre le plus léger possible. Mais ceci fait, je serais toujours plus rapide dans ce mode qu'en utilisant un Vmware server ou un Virtual Box (qui est loin d'être aussi stable/performant que VmWare d'ailleurs) avec les risques de "génération de drouilles" en les installant juste pour cela. Et j'ajouterais même que cet orientation "fichier configuration interprété par l'émulateur" de VmWare est pour moi un de ses gros atouts.

En somme, je suis technicien, l'informatique est mon métier, je n'ai pas peur d'un fichier de configuration qui me permet d'arriver au plus vite au résultat attendu. Sinon je serais bien plus embêté pour installer un serveur Postfix qui est autrement plus complexes à paramétrer qu'un vmx Wink

C'est là que je pense qu'il y a une incompréhension de cible. Et en corrolaire, cette technique, comme à peu prés tout ce qui se trouve sur ce site d'ailleurs, ne s'adresse pas à un utilisateur "standard", c'est même tout le contraire.

malic , le 16 September, 2008 - 14:21

Pour créer une VM sans rien installer, il reste toujours la solution http://www.easyvmx.com qui marche plutôt bien.
Combiné avec un vmplayer, c'est plus approprié que de prendre le bus pour aller chercher le pain.

Ulhume, le 16 September, 2008 - 16:09

@malic hum, j'aime bien l'image Smiling

Poster un nouveau commentaire

Le contenu de ce champ est gardé secret et ne sera pas montré publiquement.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • To highlight piece of code, just surround them with <code type="language"> Your code &tl;/code>>. Language can be java,c++,bash,etc... Everything Geshi support.
  • Les lignes et les paragraphes vont à la ligne automatiquement.
  • Textual smileys will be replaced with graphical ones.
  • Les adresses de pages web et de messagerie électronique sont transformées en liens automatiquement.

Plus d'informations sur les options de formatage

Connexion utilisateur
Les derniers bavardages...