Détail de la fonction “fallback” d’ESXi

MAJ 22/10/2009 : Nous ne l’avions pas exprimé clairement mais le fallback fonctionne évidement lors d’une migration 3.5 > 4.0 (bootloader & bootbank).

Au détour du vSphere Upgrade Guide (lecture hautement recommandée pour ceux qui sont concernés) nous avons remarqué la procédure de “roll back” d’une update/upgrade ou d’un patch. Cette procédure correspond bien au détail d’architecture d’ESXi :

You can also intervene manually at boot time to choose which image to use for that boot, so you can back out of an update if necessary.

C’est un peu vague, nous vous proposons donc un détail du process :

Read more …

Tags: ,

vSphere4 vu par vReference, en 36 pages

vReference, déjà connu pour sa VI3 reference card (bientôt disponible pour vSphere4), vient de mettre en ligne la version 1.0 de vSphere4 Documentation Notes. Un condensé de tous les trucs qui méritent un coup de STABILO dans les docs VMware. Exemples :

  • The esxupdate utility is for ESX only
  • VMware Tools must be installed for hotplug functionality to work properly
  • You can grow the extent up to 2 TB
  • The vpxuser is used for vCenter Server permissions.
  • The esxtop utility reads its default configuration from .esxtop4rc

A lire d’urgence.

Tags: ,

Quelle taille (totale) fait ma VM ? – MAJ

MAJ 19/05/2011 : Mise à jour du script pour supporter vCenter 4.1 U1

MAJ 29/03/2011 : Mise à jour du script pour supporter vCenter 4.1

En cherchant un moyen élégant de remonter dans rapport la taille occupée par les différents snapshots d’une VM, nous sommes tombés sur un script powershell récemment posté par Arnim van Lieshout : How big is my VM?

Malheureusement, son script n’est pas compatible avec vCenter 4.0, à cause d’un petit bug d’API repéré par plusieurs membres de la communauté VMware lors de l’adaptation d’un script peremetant de lister les vmdk orphelins.

C’est grâce à Yasen Kalchev que nous avons pu modifier ce script et le rendre opérationnel pour vCenter 4.0 :

param( [string] $vm)
 
function Get-VmSize($vm)
{
    #Initialize variables
    $VmDirs =@()
    $VmSize = 0
 
		$fileQueryFlags = New-Object VMware.Vim.FileQueryFlags
		$fileQueryFlags.FileSize = $true
		#$fileQueryFlags.FileType = $true
		#$fileQueryFlags.Modification = $true
		$searchSpec = New-Object VMware.Vim.HostDatastoreBrowserSearchSpec
		$searchSpec.details = $fileQueryFlags
 
    Get-View -ViewType VirtualMachine -Filter @{"Name" = "^$vm$" } | % {
        #Create an array with the vm's directories
        $VmDirs += $_.Config.Files.VmPathName.split("/")[0]
        $VmDirs += $_.Config.Files.SnapshotDirectory.split("/")[0]
        $VmDirs += $_.Config.Files.SuspendDirectory.split("/")[0]
        $VmDirs += $_.Config.Files.LogDirectory.split("/")[0]
        #Add directories of the vm's virtual disk files
        foreach ($disk in $_.Layout.Disk) {
            foreach ($diskfile in $disk.diskfile){
                $VmDirs += $diskfile.split("/")[0]
            }
        }
        #Only take unique array items
        $VmDirs = $VmDirs | Sort | Get-Unique
 
        foreach ($dir in $VmDirs){
            $ds = Get-Datastore ($dir.split("[")[1]).split("]")[0]
            $dsb = Get-View (($ds | get-view).Browser)
			if (($global:DefaultVIServer).Version -cge "4.1"){$searchSpec = [VMware.Vim.VIConvert]::ToVim41($searchSpec)}
			elseif (($global:DefaultVIServer).Version -eq "4.0.0"){$searchSpec = [VMware.Vim.VIConvert]::ToVim4($searchSpec)}
 
			$searchSpec.details.fileOwnerSpecified = $true
 
			if (($global:DefaultVIServer).Version -cge "4.1"){$dsBrowserMoRef = [VMware.Vim.VIConvert]::ToVim41($dsb.MoRef)}
            elseif (($global:DefaultVIServer).Version -eq "4.0.0"){$dsBrowserMoRef = [VMware.Vim.VIConvert]::ToVim4($dsb.MoRef)}
 
			$taskMoRef  = $dsb.Client.VimService.SearchDatastoreSubFolders_Task($dsBrowserMoRef, $dir, $searchSpec)
            $task = [VMware.Vim.VIConvert]::ToVim($dsb.WaitForTask([VMware.Vim.VIConvert]::ToVim($taskMoRef))) 
 
            foreach ($result in $task){
                foreach ($file in $result.File){
                    $VmSize += $file.FileSize
                }
            }
        }
    }
 
    return $VmSize
}
 
$size = Get-VmSize($vm)
$size = [math]::round($size/1GB,2)
WRITE "$size Gb"

/!\ les fichiers de swap (.vswp) ne sont comptabilisés que s’ils sont dans le répertoire de la VM /!\

Tags: , ,

La calculette magique de Microsoft

Nous nous doutions que la notion de “footprint” ne représentait pas grand chose pour Microsoft quand il est question d’OS (depuis les 15Mo de Windows 3.11 en tout cas). Nous en avons maintenant la preuve et en prime nous savons qu’il en est de même pour la notion de “firmware” :

On va bien se marrer avec la version “embedded” d’Hyper-V R2…

Tags:

Hypervisor.fr devient Hypervizor.fr

Non, vous ne rêvez pas, l’url du site à changé. Pour son premier anniversaire, Hypervisor.fr s’est offert Hypervizor.fr, que nous trouvons nettement plus sexy. L’ancien domaine existe toujours et un rewrite d’url à été mis en place pour le cache google…

En espérant que cela plaise à tous le monde (ou pas) !