Votre VCDB a besoin d’un DBA !

Il nous a fallu du temps, beaucoup de temps, pour trouver la raison d’un dysfonctionnement important de notre vCenter 4.0 U1 (même base depuis la version 2.0). Après avoir fait le tour de toutes les possibilités, c’est vers la base MSSQL que nos soupçons se sont tournés et ce grâce à un warning (que nous avions négligé) dans l’eventlog de Windows :

SQL Server Scheduled Job ‘Event Task Cleanup VIM_VCDB’ [...] Status Failed

En exécutant ce job manuellement, nous avons pu obtenir une erreur qui nous a mené à cette KB VMware :

The DELETE statement conflicted with the SAME TABLE REFERENCE constraint “FK_PARENT_TASK_REF”. The conflict occurred in database “VCenter_DB”, table “dbo.VPX_TASK”, column ‘PARENT_TASK_ID’.

Après avoir suivit les instructions de cette KB et relancé le job, le problème de vCenter fut résolu. Mais ce n’est pas tout car au fil de notre troubleshooting, nous avons croisé un grand nombre de KB et Best Practices qui nous permettent d’affirmer ceci : votre VCDB a besoin qu’on s’en préoccupe sérieusement !

Purging old data from the database used by vCenter.
Performance data is currently not available for this entity.
Defragmenting VirtualCenter performance data indexes on a Microsoft SQL database.
VirtualCenter Database Performance for Microsoft SQL Server 2005.
VMware vCenter 4.0 Database Performance for Microsoft SQL Server 2008.
Statistics purge procedure might cause intermittent deadlocks in statistics roll up procedures.

Tags: ,

Changez le password root de vos ESX tous les jours

MAJ 22/09/2010 : Modification des variables $newrootpasswd et $passwds en ${newrootpasswd} et ${passwds} pour une meilleure gestion des caractères spéciaux. Merci à Jswano pour son aide !

Si votre RSSI est parano ou si vous n’avez pas confiance en l’admin qui vient de quitter votre équipe, ce script powershell est fait pour vous : Set-RootPasswd vous permet de changer, afficher ou unifier le password du compte root de vos ESX en une seule action.

Autorisez le mode multi servers pour rester connecté au VC

Affichez le password root avec le parametre -showpasswd

Pas de changement en cas de password identique au nouveau

Confirmation de la modification

Lock de la commande sans le paramètre “-whatif 0″

Pas de bon password disponible dans la magasin…

Ce script s’utilise comme suit :

Get-VMHost|?{$_.State -match "Connected|Maintenance"}|%{.\Set-RootPasswd.ps1 -esxhost $_ -newrootpasswd "password" -whatif 0 -showpasswd 0}

Où -esxhost est l’esx d’input, -newrootpasswd est le nouveau password à fixer (“” pour *blank*) et -whatif (par défaut à 1) pour débloquer la commande et permettre l’exécution. Le paramètre -showpasswd (par défaut à 0) permet l’affichage du password root avec lequel le script à réussi à se connecter (issue du magasin de password $passwds du script, ligne 9), très pratique en cas de configuration hétérogène.

Le script va essayer tous les passwords du magasin jusqu’à être connecté à l’ESX et exécute le reste du script en fonction du choix des paramètres.

La communication avec le vCenter se faisant avec le compte vpxuser, cette action n’a aucune conséquence sur la connectivité des ESX.

Pour une sécurité au top, il vous est possible de planifier l’exécution de ce script tous les 30 jours (avec génération de password en fonction de votre algorithme perso) depuis le vcenter, ou de laisser le password *blank* d’origine :)

download

Tags: , ,

Tous aux urnes ! – MAJ

MAJ 28/09/2010 : les résultats sont disponibles, nous finissons 29/115 avec 68 votes (dont 14 en 1er choix) ! Merci à vous tous pour ce frenchy support :D

Même si nous n’avons aucune chance de finir dans les 25 premiers (rappelez vous, les francophone doivent parler l’anglais mais les anglophones ne savent dire que “Bravo !” et “Voila !”), vous pouvez toujours affirmer votre attachement à notre bannière tricolore en votant “Hypervisor.fr” au sondage top 25 VMware virtualization blogs d’Eric Siebert.

Tags:

VMworld 2010 “radio moquette”

Le VMworld 2010 débute dans quelques heures et pour ceux qui sont friands de 0-day news, la page “VMworld BUZZ Social Media & Highlights” est faites pour vous !

Tags:

[PSH] Migrez vos datastore à chaud – MAJ

MAJ 19/10/2011 : Post obsolète, cf http://vm.lc/dmotion

MAJ 17/05/2011 : Ajout du parametre -MoveTemplate pour migrer les templates (le script converti temporairement les templates en début d’exécution pour les migrer et les reconverti en vm à la fin du script)

MAJ 07/04/2011 : Ajout du paramètre -RPool (pour limiter la sélection à un Resource Pool) et -WhatIf (0 ou 1 pour passer du mode “rapport de pré-migration” à migration). Les templates sont maintenant listés mais pas migrés au même titre que les vm ayant des vmdk sur différents datastore.

MAJ 21/01/2011 : Ajout de l’option “as-source” pour le paramètre Disk Provisioning.

Storage VMotion (aka Live Storage Migration) est une des nombreuses fonctions encore exclusives à VMware mais n’agit qu’au niveau de la VM. Il faut passer par la case scripting pour agir au niveau du datastore.

Disons que vous devez opérer certaines modifications sur les LUN hébergeant les 4 datastores d’un cluster, la solution la plus évidente consiste à utiliser un autre datastore temporaire et migrer les datastores l’un après l’autre. Dans notre cas, le nombre de VM était trop important pour que la migration soit faite manuellement et devait, de plus, être effectuée en pleine nuit. Nous ne pouvions donc pas nous contenter de la cmdlet “Move-VM”. Nous avons donc écrit un script Powershell dont l’objectif est de migrer à chaud les VM d’un datastore à un autre de façon contrôlée avec retry et rapport d’opération. En voici les détails :

  1. Vérification des datastore source et destination en arguments
  2. Vérification de l’espace disponible sur le datastore de destination (forçable)
  3. Vérification des VM “ON” avec snapshot (forçable)
  4. Vérification des VM avec vDisk en RDM (forçable)
  5. Choix global thin ou thick
  6. Vérification de l’espace disponible (10Go mini)
  7. Migration VM par VM
  8. Vérification de l’espace disponible toutes les 30 sec (10Go mini)
  9. 5 cycles de retry des VM restantes
  10. Affichage ou envoi par mail du rapport VM/status/time

Nous avons mis l’accent sur les multiples vérifications d’espace disponible sur le datastore de destination. Si la valeur descend en dessous de 10Go pendant la migration, la migration en cours est annulée :

Si certaines VM ont des snapshots, vous avez la possibilité de forcer l’opération pour migrer les autres VM :

Ce script est idéal pour les gros datastores :

Et au final, un petit mail sur votre smartphone :

Exemple d’usage : move-datastore.ps1 -SrcDatastore DS1 -DstDatastore DS2 -RPool “RP1″ -vDiskFormat “as-source” -WhatIf 0

Tags: , ,