KB VMware pour décembre 2010

VMware Support Insider vient de publier comme chaque mois la liste des 20 KB les plus utilisées pour résoudre des incidents SR# chez VMware.

Voici donc la liste des 20 KB les plus « rentables » du mois de décembre 2010 :

Voici le lien du billet original de VMware Support Insider : Top 20 Articles for December

Section Livres

Une nouvelle section vient d’être ajoutée : « Livres« 

Je me suis rendu compte qu’il pourrait être pratique de donner des infos sur certains livres qui m’ont semblés intéressants.

Vous trouverez dans cette section les livres que j’ai pu acheter et lire en rapport avec la virtualisation généralement et que je vous conseille de vous faire offrir :p

Pour l’instant, il n’y en a que quelques uns, mais la liste augmentera avec le temps (et les ouvrages ^^)

Sinon, ne serait-ce que pour la curiosité, allez jeter un coup d’oeil ici : « Livres« 

ESXi 4.1 et la Memory Compression

La version 4.1 d’ESXi a vu arriver de nouvelles fonctionnalités, notamment le Memory Compression.

Le TMC (Transparent Memory Compression) permet un accès à la mémoire avec des débits se positionnant entre la mémoire physique et le fichier de swap du disque (ce qui permet d’éviter d’arriver directement au swapping en cas de contention de ressources).

La compression de la mémoire se fait à chaud, en live (on-the-fly) et la fonctionnalité est activée dès que la mémoire d’un hôte devient overcommited.

Une vidéo était sortie il y a quelque temps, et je l’avais gardée dans ma besace en voulant faire un billet dessus, voilà chose faite.

Cette vidéo vaut mieux qu’un long discours, et montre à quel point cette fonctionnalité peut être géniale !

Oh mon WWN, où es-tu ?

Nous avons eu besoin de récupérer rapidement et de manière automatique la liste des WWNs (Port Name et Node Name) de certains serveurs ESXi de notre vCenter.

Qui dit rapide et automatique dit PowerCLI ^_^

Nous avons donc fais un petit script sans grande ambition pour récupérer la liste des WWPN/WWNN par carte fibre sur une liste de serveurs ESXi.

Le script prend un seul paramètre, la liste des serveurs ESX, sous la forme d’un tableau du style (« esx1″, »esx2″, »esx3″)

Voici le script :

Function Get-WWNames {
<#
.SYNOPSIS
	List the WWN for HBA card on ESX Servers
.DESCRIPTION
	The function will display the list of world wide names
	of fiber interfaces on esx(i) hosts. It display WWPN
	and WWNN per hba card.
.NOTES
	Authors:	www.cloudydude.fr
.PARAMETER ESXHosts
	List of ESX host (can be multiple)
.EXAMPLE
	PS> Get-WWNames -ESXHosts ("esx1.fqdn.tld","esx2.fqdn.tld","esx3.fqdn.tld")
#>

	param(
		[Parameter(Mandatory=$true,HelpMessage="Liste des serveurs ESX ('esx1','esx2')")] [string[]] $ESXHosts
	)

	begin{
		# Pour eviter les retour en warning/error
		$ErrorActionPreference = "SilentlyContinue"
		$WarningPreference = "SilentlyContinue"
	}

	process{
		If ((Get-PSSnapin -Name "VMware.VimAutomation.Core" -ErrorAction SilentlyContinue | Measure-Object).count -eq 0) {
			Add-PSSnapin -Name "VMware.VimAutomation.Core"
		}

		While ($credESX -eq $Null) {
			$credESX = $host.ui.PromptForCredential("Informations de connexion", "Veuillez entrer les informations de connexion pour les serveurs ESX/ESXi.", "", "")
		}

		# Parcours des serveurs ESX
		Foreach ($ESXHost in $ESXHosts) {
			Write-Host -ForegroundColor Green "Serveur :" $ESXHost
			$connESX = Connect-VIServer $ESXHost -Credential $credESX
			# Vérification de la connexion
			If ($connESX.IsConnected -ne $true) {
				Write-Host -ForegroundColor Red "ERREUR DE CONNEXION"
			} else {
				# Récupération de la liste des cartes fibres
				$fiberInterfaces = Get-View (Get-View (Get-VMHost -Name $ESXHost).ID).ConfigManager.StorageSystem
				Foreach ($HBA in $fiberInterfaces.StorageDeviceInfo.HostBusAdapter) {
					# Vérification du type de carte FC
					If ($HBA -is [VMware.Vim.HostFibreChannelHba]) {
						# Affichage en hexadecimal des WWPN/WWNN
						$WWPN = "{0:x}" -f $HBA.PortWorldWideName
						$WWNN = "{0:x}" -f $HBA.NodeWorldWideName
						Write-Host $HBA.device "- WWPortName:" $WWPN "`tWWNodeName:" $WWNN
					}
				}
				Disconnect-VIServer $ESXHost -Confirm:$false
			}
		}
	}
}

Comme vous pouvez le voir, le script est en fait une fonction déclarée pour être utilisée comme un nouveau cmdlet. C’est à dire qu’une fois « sourcé » via la commande suivante :

. Get-WWNames.ps1

Vous pourrez alors utiliser des commandes comme :

Get-Help Get-WWNames
Get-Help Get-WWNames -Detailed
Get-Help Get-WWNames -Examples

Edit : petite modification du script, merci à notre hypervisor national !

Edit bis : Hypervisor a fait une version améliorée en one-liner, allez-y voir, ça vaut le détour  : [PSH] Liste des WorldWideName