Comment attacher un LUN supplémentaire à une VM existante avec SCVMM dans un cluster Hyper-V PDF Imprimer Envoyer
Note des utilisateurs: / 3
MauvaisTrès bien 

Source article Technet

SCVMM est un outil fantastique qui permet la gestion des fermes de serveurs de virtualisation ainsi que les machines virtuelles associées.

Il facilite la gestion des fermes de serveurs Hyper-V, Virtual Server, Vmware VI3 et notamment la prise en charge des environnements de clusters de virtualisation.

Bien que la console d’administration graphique ne prévoie pas certains cas de figures spécifiques,  l’installation de SCVMM ajoute plus de 130 Command Let Additionnels dédiés à la gestion des machines virtuelles.

Très simples à prendre en main, ces nouveaux command let permettent de réaliser des scénarios complexes non pris en charge dans l’interface graphique d’administration.

Scénario : Ajouter un LUN supplémentaire à une machine virtuelle existante.

Sur votre SAN, vous avez créé différents RAID groups afin de refléter les différents usages et niveaux de performances souhaités. 

  • Vous avez créé des LUN sur des RAID 10 pour héberger les partitions système de vos machines virtuelles.
  • Vous avez créé des LUN sur des RAID 5 pour héberger des Données.

Lors de la création ou de la modification d’une machine virtuelle en cluster dans la console d’administration SCVMM, il n’est pas possible de répartir les différents VHD sur des LUNS différents.

Ceci est par contre réalisable avec les Command Let Powershell de SCVMM.

Ajouter un LUN à une machine virtuelle existante

Pour ajouter un nouveau LUN à une machine existante, il faut bien entendu commencer par publier ce LUN dans le bon Storage Group, créer et formater une nouvelle partition dans le gestionnaire de disque et le mettre à disposition comme ressource disque disponible dans l’interface d’administration Failover Cluster de Windows Server 2008.

Dès lors le LUN est disponible pour une attribution par SCVMM.

Note : Afin d’être en mesure d’identifier cette nouvelle partition, donnez lui un Label facilement reconnaissable dans le gestionnaire de disques (Ex : NOMDELAVM_DATA). Dans le cadre d’un cluster, n’attribuez pas de lettre  à votre nouveau disque. L’accès aux disques est géré par les volumes GUID.Pour réaliser ces opérations, votre machine virtuelle doit être en état arrêté (L’ajout de disques à chaud sera possible dans Hyper-V avec Windows Server 2008 R2).

Etape 2 : Récupérer le LUN à attacher par son label parmi les disques disponibles dans le cluster.

# récupérer l’objet Cluster SCVMM
$VMMCluster = Get-VmHostCluster
     

#Récupérer les volumes disponibles dans le cluster dont le label est celui que vous avez indiqué lors de la création de la partition

$MyLUN = $VMMCluster.AvailableStorageNode.DiskVolumes | where{$_.isClustered -eq $true}| where{$_.inUse -eq $False}| where{$_.Volumelabel -eq "LABELDUVOLUME"}

Nous récupérons un objet $MyLun qui représente mon volume à rattacher.

Etant donné que je n'assigne pas de lettre de lecteur aux volumes de mon cluster, je dois utiliser son GUID pour y accéder. Les chemins d’accès par GUID sont de la forme \\?\Volume{GUID_DU_DISQUE}.

La propriété Host HostVolumeID, me permet de récupérer le GUID utilisé en cluster. Il est préférable d’utiliser cette propriété plutôt que la propriété Name, qui peut contenir plusieurs GUID selon les cas de figures.

 

Etape 3 : Formater le chemin d'accès au volume en cluster à partir de son GUID

#Mise en forme du chemin d’accès à partir du GUID

$VolPath = "\\?\Volume{" + $MyLUN.HostVolumeID + "}\"     

Maintenant que je connais le chemin d’accès à mon nouveau volume, il ne me reste plus qu’à le rattacher à ma machine virtuelle et à créer mon disque VHD.

 

Etape 4 : Récupérer l'objet VM

$VM = Get-VM -name "Nom de la machine virtuelle"

 

 

Etape 5 : Ajouter un disque à la machine virtuelle et créer un VHD fixe

Pour créer un nouveau disque (ici un disque fixe de 40go) et le rattacher à ma machine virtuelle, j'utilise le CmdLet  New-VirtualDiskDrive. Ce command Let utilise l’objet machine virtuelle ($VM) récupéré précédemment ainsi que le chemin d’accès au fichier VHD situé sur mon nouveau LUN ($VolPath).

New-VirtualDiskDrive -VM $VM -SCSI -Bus 0 -LUN 1 -Path $VolPath -Size 40960 -Fixed -Filename "NOMDUDISQUEVHDD"    

 

Note : Dans l’exemple ci-dessus, nous attachons notre VHD à une carte SCSI, il est donc nécessaire que cette carte soit déjà présente dans la machine virtuelle.

That’s it !

Votre machine virtuelle dispose maintenant  d’un nouveau disque VHD situé sur un LUN différent.

 

 


La dépendance sur le disque est automatiquement rajoutée au niveau de la ressource cluster.

Il ne vous reste plus qu’à redémarrer votre VM et à formater votre nouvelle partition depuis la MMC Disk Management.

Pour plus de facilité, voici le script complet, il vous suffit d’affecter les bonnes valeurs aux variables.
Pour les plus téméraires, vous pouvez très facilement le transformer en fonction de vos besoins et l’intégrer directement à votre session PowerShell SCVMM.

###############################################################################
#
#                   Add-ClusteredLun SCVMM Script
#                   V1.0 du 14/04/2009
#
###############################################################################

$VMMserver   = "SERVEUR_SCVMM"
$VMname      = "NOM_DE_LA_VM"
$VolumeLabel = "LABEL_DU_VOLUME_A_ATTACHER"
$VHDName     = "NOM_DU_VHD_A_CREER" (avec extension .vhd)

$Size = “Taille DU VHD” (en Mo)

# Connexion au serveur SCVMM

get-VMMServer $VMMServer

# Récupération de l’objet Cluster SCVMM

$VMMCluster = Get-VmHostCluster     

#Récupération du volume non utilisé dans le cluster dont le label est celui que vous avez indiqué lors de la création de la partition.

$MyLUN = $VMMCluster.AvailableStorageNode.DiskVolumes | where{$_.isClustered -eq $true}|where{$_.inUse -eq $False}| where{$_.Volumelabel -eq $VolumeLabel}

# Mise en forme du chemin d’accès à partir du GUID

$VolPath = "\\?\Volume{" + $MyLUN.HostVolumeID + "}\"

# Récupération de l’objet machine virtuelle sur lequel on doit attacher le nouveau LUN

$VM = Get-VM -name $VMName

# Attachement du nouveau Disque sur la machine virtuelle.

New-VirtualDiskDrive -VM $VM -SCSI -Bus 0 -LUN 1 -Path $VolPath -Size $Size -Fixed -Filename $VHDName

 

Partagez l'article

Liens sponsorisés

Joomla! is Free Software released under the GNU/GPL License.