Ajouter une target iSCSI sur un cluster ESX en powershell

Après avoir tenté en vain d’ajouter une taget iscsi sur un cluster ESX avec le script fourni par VMware du VI toolkit, nous sommes tomber sur le blog d’Allan Christiansen qui a fait les modifications nécessaires pour le faire fonctionner.

Son script est fait à l’origine pour un host, nous l’avons adapté pour un cluster (il possible de mettre le nom d’un datacenter ou d’un folder sans modification) :

Param ($cluster = "")
#$cluster = "vmcluster"
$iscsiHba = "vmhba32" #might be vmhba33
$iscsiServer = "iscsi_ip"
$iscsiPort = 3260
 
$target = New-Object VMware.Vim.HostInternetScsiHBASendTarget
$target.address = $iscsiServer
$target.port = $iscsiPort
$iscsiauth = New-Object VMware.Vim.HostInternetScsiHbaAuthenticationProperties
#$iscsiauth.ChapAuthEnabled = "true"
#$iscsiauth.ChapName = "user"
#$iscsiauth.ChapSecret = "password"
$h = Get-VMHost -Location $cluster
Foreach ($hostView in ( Get-View -VIObject $h)) {
$storageSystem = Get-View $hostView.configManager.storageSystem
# Enable software iSCSI controller
$storageSystem.UpdateSoftwareInternetScsiEnabled($true)
# Add iSCSI Server for dynamic discovery
$storageSystem.AddInternetScsiSendTargets($iscsiHba, $target)
$storageSystem.UpdateInternetScsiAuthenticationProperties($iscsiHba,$iscsiauth)
# Scan for iSCSI devices
$storageSystem.RescanHba($iscsiHba)
}

Tags: , , ,

Storage VMotion en CLI

MAJ 18/05/2009 : Pour les fan du powershell, la commande move-vm -datastore <NewDatastore>-VM <VirtualMachine[]> permet (en plus simple) la même action.

Pour des besoins spécifiques (typiquement de performance et/ou de coût), il est parfois nécessaire de déplacer (à chaud bien sur) l’un des vmdk d’une VM sans pour autant déplacer les autres.

Pour cela il faut faire appel au script svmotion.pl disponible dans le VI Remote CLI ou inclus dans l’appliance VIMA.

storage_vmotion_diagram

Malheureusement, et contre toute attente, ce script n’est pas fonctionnel à 100%. En effet, la commande svmotion –interactive ne vous permet pas de déplacer qu’une partie des vmdk mais toute la VM.

Il faut pour cela taper la commande complète, comme par ex :

$ svmotion.pl –url=https://virtualcenter.domain.com/sdk –username=”domaine\user” –password=”password” –datacenter=VMDC –vm=”[old_datastore] VM/VM.vmx: new_datastore” –disks=”[old_datastore] VM/VM.vmdk: new_datastore, [old_datastore] VM/VM_1.vmdk: old_datastore”

Cette commande va déplacer la VM vers le nouveau datastore ainsi que le 1er vmdk et laisser le second sur l’ancien datastore.

Il n’est pas possible de déplacer UNIQUEMENT un vmdk avec cette version du script (cela pourrai changer avec ESX 4 d’après certaines rumeurs…) ce qui signifie que l’on déplace la vm avec ou sans les vmdk et non l’inverse.

Par conséquent, la seule solution pour ne déplacer qu’un vmdk facilement consiste à créer un vmdk supplémentaire à votre vm (1Mo), faire un svmotion du vmdk à déplacer et celui d’1Mo, puis de refaire l’opération inverse avec seulement celui d’1Mo pour “ramener” le vmx au bon endroit. C’est tordu mais ca fonctionne.

/!\ Il est impératif de repréciser à chaque fois l’emplacement d’origine et de destination des TOUS les vmdk dans la commande. /!\

Toutes ces manipulation peuvent être faites graphiquement avec le plugin VIP-SVmotion mais cela reste moins clair qu’en ligne de commande pour ce genre de manipulations.

Tags: , , , ,

VMworld 2009 Europe : Rattrapage

N’ayant pas eu la chance de pouvoir assister au VMworld 2009, nous allons nous contenter de relayer les infos de ceux qui y étaient.

En fait, nous nous contentons honteusement de linker le post de Duncan ayant déjà fait l’agrégation de tout ce qui s’est dit (ou presque) à Cannes.

Voici tout de même les points ayant retenu notre attention (en dehors de ceux que nous connaissions déjà) :

Tags:

Virtualized MMU, RVI & TPS

Traduction : Nous allons parler aujourd’hui de virtualized MMU (Memory Management Unit), de RVI (Rapid Virtualization Indexing) et de TPS (Transparent Page Sharing).

Tout d’abord, nous vous conseillons vivement de consulter (si ce n’est pas déjà fait) le pdf de Carl A. Waldspurger sur les différentes techniques de “conservation” de la mémoire utilisé par VMware ESX.

Ce document traite notamment de l’un des points fort d’ESX, le Transparent Page Sharing. Pour faire simple, cette fonction fait pointer des pages mémoires identiques (aux seins de différentes VM) vers une page physique.

Voici l’exemple d’un host ESX 3.5 hébergeant 70 VM (presque toutes sous Windows 2003) qui ont 25Go de pages mémoire en commun. Ces 25Go n’occupent que 4Go de RAM physiquement :

D’après VMware, l’overhead de cette fonction n’excéderait pas 1%.

Malheureusement, d’après la récente expérience de Duncan le TPS ne ferait pas bon ménage avec le RVI.

Read more …

Tags: , , , ,

Installer ESXi depuis une clef USB

Le blog squishnet.com nous donne une méthode rapide pour placer l’install d’ESXi sur une clef USB :

  1. Extraire le contenu de l’iso VMware-VMvisor-InstallerCD sur une clef formatée en FAT32
  2. Télécharger la derniere version de syslinux et l’extraire n’importe où
  3. Exécuter la commande “syslinux.exe -s -m -f -a x:” depuis le répertoire “win32″ de syslinux (où x: est la lettre de votre clef USB)
  4. Sur la clef, renommez “isolinux.cfg” en “syslinux.cfg”

Parfait pour les serveurs sans lecteur CD !

Tags: ,