Migration PVSCSI automatisée – MAJ

MAJ 04/02/2010 : Scott nous explique pourquoi ce pilote ne doit être utilisé QUE pour les VM ayant des I/O disque importants.

Depuis l’Update 1 d’ESX(i), le contrôleur PVSCSI de VMWare est supporté sur le disque de boot (pour W2K3 et W2K8 uniquement). Pour rappel, le contrôleur PVSCSI peut apporter jusqu’à 12% de performance supplémentaire et 18% de consommation CPU en moins qu’un LSI. Une migration peut donc s’avérer particulièrement bénéfique sur des VM sollicitant fortement la partie stockage. De plus, des scripts de migration comme celui de LucD facilitent grandement la tache tout en laissant un problème de taille : les drivers. Sans drivers installé au préalable, c’est le BSOD assuré :

pvscsi_fail

En effet, comme le décrit Alan sur son blog, la solution la plus facile consiste à rebooter avec un disque temporaire sur un nouveau contrôleur (PVSCSI en l’occurrence) et laisser Windows “ajouter” le driver à sa “base”. On reboot ensuite en retirant le disque temporaire et en changeant le contrôleur du disque de boot en PVSCSI. C’est long, c’est chiant et c’est pénible à automatiser. Et pire, c’est pas compliqué !

Ayant une riche expérience du P2V/P2P/V2P de haut vol, nous avons développé une technique qui fonctionne à tous les coups (sous Windows) : l’injection de driver “façon NiTRo”…

Le process est le même sur n’importe quel OS Windows NT :

  • Sur l’OS source, on “prélève” le pilote tel qu’il est installé (registry, fichiers inf, sys, etc…)
  • Sur l’OS de destination, on importe le(s) fichier(s) reg et on copie les fichiers aux mêmes emplacements qu’à la source
  • Shutdown de l’OS de destination et changement de controleur
  • On fait le même sourire qu’Anibal Smith en regardant la VM booter sans accrocs :)

Petite précision sur la partie registry, pour le PVSCSI les clés à exporter sont :

  • HKLM\SYSTEM\CurrentControlSet\Services\pvscsi
  • HKLM\SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\pci#ven_15ad&dev_07c0

Pour d’autres pilotes (dans le cas d’un P2P ou V2P par exemple), le principe est le même :

  • HKLM\SYSTEM\CurrentControlSet\Services\*nom du pilote*
  • HKLM\SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\*clé qui contient un REG_SZ ayant pour valeur le nom du pilote*

Le(s) fichier(s) .inf dans %windir%\inf\ et le(s) fichier(s) .sys dans %windir%\system32\drivers\

Voici une petite vidéo de démo (on commence par un BSOD pour s’assurer que le pilote n’est pas présent) :

Nous avons fait le test sur un W2K3 avec le même résultat. Pour ceux qui seraient intéressés, nous mettons à dispo le package bat/reg qui permet d’automatiser cette tache via psexec par exemple…

anibal

Tags: ,

17 Responses to “Migration PVSCSI automatisée – MAJ”

  1. Excellent,

    Jusqu’à present la tâche manuelle était plutôt “time consuming” pour dire ça gentillement.

    Surtout pour les gens avec pas mal de VMs.

    Merci, super.

  2. Social comments and analytics for this post…

    This post was mentioned on Twitter by hyperviz0r: Automate PVSCSI controller driver switch (without dummy disk) http://www.hypervisor.fr/?p=1764...

  3. Excellent article. Je me rappel qu’on faisait ce bidouillage avec des serveurs physiques auxquels on changeait le ctrl SCSI :)

    Il faut que tu postes cette article en Anglais. Ca va servir a bcp de monde je pense…

  4. Il m’est souvent arrivé de le faire sur des physiques aussi :)
    Pour la traduction, je sais déjà qui voudras la faire ;)

  5. Vous-êtes une bande de fainéante…. -:)

    Oue, je vais le traduire si vous ne le faite pas, car c’est vraiment utile.

    http://translation.babylon.com/French/to-English/fain%C3%A9ante/

    A+
    Vladan

  6. Vladan, c’est Al qui va s’en charger pour compléter son post ;)

  7. >Vous-êtes une bande de fainéante…. -:)
    MDRRRRRRRR

  8. Je vais changer la bannière du site en rose :D

  9. le vSphere guide 4.0 préconise plutôt de ne pas utiliser ce type de controleur pour le disque de boot de la vM. Qu’en pensez vous ?

    “The PVSCSI adapter requires the installation of VMware Tools and thus should not be used for the VMs boot disk. Rather you should create the VM with a boot disk that uses the default virtual SCSI adapter, and then add additional storage attached to a PVSCSI adapter.”

  10. J’en dis que c’était valable pour la version 4.0.0, pour la version 4.0.0 U1 voici les commentaires de VMware :

    “Support for boot disk devices attached to a Paravirtualized SCSI ( PVSCSI) adapter has been added for Windows 2003 and 2008 guest operating systems. Floppy disk images are also available containing the driver for use during the Windows installation by selecting F6 to install additional drivers during setup. Floppy images can be found in the /vmimages/floppies/ folder”

  11. Merci pour ces précisions !

  12. Nitro tu aurais la liste des fichiers necessaires pour injecter du LSI Logic en lieu et place de ce bon vieux BusLogic???

  13. tiens, voila les fichiers et le reg http://hypervisor.free.fr/lsilogic.7z ;)

  14. Excellent, merci !!!

  15. [...] good news is that Raphael has done a little bat script which automates the process. The video starts with BSOD (Blue screen of death) to show you that the [...]

  16. [...] My French colleague Raphael from Hypervisor.fr had done a great job by writing this article. [...]

Leave a Reply