Posted by NiTRo | Filed under Hyper-V, VMware
Alors que nous effectuions des tests sur la beta de Windows 8 server server 2012, nous avons remarqué une option qui avait échappé à notre vigilance lors de la publication par Microsoft du “What’s new in hyper-V” (très troublant si on considère que le produit est toujours en beta mais c’est une technique bien rodée chez M$) : le Smart Paging

En toute honnêteté, pendant 2 secondes nous avons pensé à une killer feature qui permettrait de placer automatiquement la swap du GuestOS sur un vdisk à part ou quelque chose d’encore plus ingénieux. On y croyait à vraiment à mort tant la feature list d’Hyper-V 3 est impressionnante (pour un produit “gratuit”).
Mais non, c’est juste le fichier de swap de la vm qui va avec une autre nouvelle fonction “minimum memory”. Je vous laisse apprécier le descriptif :
Dynamic Memory improvements include support for configuring minimum memory, and Smart Paging, which is a memory management technique to provide a reliable restart experience for virtual machines configured with less minimum memory than startup memory.
[...]
Smart Paging uses disk resources as additional, temporary memory when more memory is required to restart a virtual machine than the amount of memory currently allocated to a virtual machine.
Ça c’est du dépoussiérage de feature où on s’y connait pas ! Mais c’est pas fini, on vous a gardé le meilleur pour la fin :
To minimize the potential performance impact of Smart Paging, HyperV uses it only when all of the following occurs:
1. The virtual machine is being restarted.
2. There is no available physical memory.
3. No memory can be reclaimed from other virtual machines running on the host.
Et on vous rafraîchi la mémoire sur ce qu’M$ pensait de l’overcommit quand Hyper-V n’en était pas capable :
What this means is while Memory Overcommit has its uses in certain configurations, it’s not a panacea for
virtualization administrators. Memory Overcommit should be used judiciously and only when absolutely
necessary.
Tags: Bullshit, memory overcommit, swapping
Posted by NiTRo | Filed under News, VMware
La version 3.3 de RVTools vient tout juste de sortir de sa beta et la plus grosse features c’est l’arrivée tant attendu de l’onglet HBA. A vous maintenant les extract de WWN et toujours, grâce à son interface bien pensé, la découverte de petites coquilles de configuration et autres oublis en tout genre.

Et parce qu’il le vaut bien, nous avons “offert” à Rob l’url http://rvtools.vmwa.re

Tags: RVTools
Posted by NiTRo | Filed under Tips & Tricks, VMware
L’un des compteurs les plus connus en matière d’overcommit sur ESX est le memory state. Pour ceux qui ne le connaissent pas, sachez qu’il permet de savoir rapidement dans quel état d’overcommitment (de 0 à 4, high>soft>hard>low) se trouve votre ESX. A 0 tout va bien, au dessus ca commence à devenir short donc le vmkernel va chercher à récupérer de la ram avec les différents moyens qu’il à dispo (un petit tour sur le diagramme Memory Management and Monitoring diagram d’Hany Michael tout juste mis à jour pour se rafraichir la mémoire -haha).
Sachez aussi qu’historiquement statiques, les pourcentages équivalent aux différents states sont “dynamique” depuis ESX 5 et VMware recommande de tuner le paramètre minFreePct sur ESX 4.1 au dessus de 64Go de ram (nous, on vous recommande 3% à partir de 32Go).
Le compteur n’est pas accessible pour faire une alarme dans le vcenter donc nous avons fait chauffé le PowerCLI pour vous en faire une belle qui brille dans la nuit et qui vous alerte dès que le compteur passe à 1 (=1 : warning, >1 : alert) :
(Get-View AlarmManager).CreateAlarm((Get-Folder -NoRecursion |Get-View).MoRef,(New-Object VMware.Vim.AlarmSpec -Property @{Name = "Host memory state";Description = "Custom alarm to monitor Host memory state high-soft-hard-low";Enabled = $true;expression = (New-Object VMware.Vim.OrAlarmExpression -Property @{expression = @((New-Object VMware.Vim.MetricAlarmExpression -Property @{Metric = (New-Object VMware.Vim.PerfMetricId -Property @{CounterId = ((Get-View (Get-View ServiceINstance).Content.PerfManager).PerfCounter|?{$_.groupinfo.key -match "mem"}|?{$_.nameinfo.key -match "state"}|?{$_.RollupType -match "latest"}).key;Instance = ""});Operator = "isAbove";Yellow = "1";YellowInterval = "20";Red = "2";RedInterval = "20";Type = "HostSystem"}))});Action=(New-Object VMware.Vim.GroupAlarmAction -Property @{Action= (New-Object VMware.Vim.AlarmTriggeringAction -Property @{Action = (New-Object VMware.Vim.SendEmailAction -Property @{ToList = "admin@vmware.local";Subject = "[vAlarm] {targetName} memory state is {newStatus}";CcList = "";Body = ""});TransitionSpecs = @((New-Object VMware.Vim.AlarmTriggeringActionTransitionSpec -Property @{StartState = "green";FinalState = "yellow";Repeats = $false});(New-Object VMware.Vim.AlarmTriggeringActionTransitionSpec -Property @{StartState = "yellow";FinalState = "red";Repeats = $true}))})});ActionFrequency = "1800"}))

Tags: alarm, memory overcommit, memory state, PowerCLI, scripting
Posted by NiTRo | Filed under Tips & Tricks, ZFS
L’une des best practices biens connues de ZFS est d’éviter au maximum de descendre en dessous de 20% d’espace libre sur un zpool afin d’éviter les potentiels dégradations de performances liées au Copy On Write.
Keep pool space under 80% utilization to maintain pool performance.
[...]
If the primary workload is immutable files (write once, never remove), then you can keep a pool in the 95-96% utilization range.
Le 95-96% correspond au changement de block allocation contrôlé par le paramètre metaslab_df_alloc_threshold :
The minimum free space, in percent, which must be available in a space map to continue allocations in a first-fit fashion. Once the space_map’s free space drops below this level we dynamically switch to using best-fit allocations.
Vous l’aurez compris, le monitoring des zpool est primordiale. Sous Nexenta ce n’est pas chose facile car seuls les point de montage sont visibles par défaut en snmp, mais nous avons une solution simple n’impliquant que peux de modifications.
- ajouter les lignes suivantes dans votre conf snmp :
extend .1.3.6.1.4.1.2021.87 zpool_name /bin/bash -c “zpool list -H -o name”
extend .1.3.6.1.4.1.2021.87 zpool_capacity /bin/bash -c “zpool list -H -o capacity”
- copier le fichier zpool_capacity.xml dans le répertoire /resource/snmp_queries de votre cacti
- importer les templates cacti_data_query_zfs_-_zpool_capacity.xml et cacti_graph_template_zfs_-_zpool_capacity.xml dans l’interface web cacti
- choisissez les zpool à monitorer sur votre/vos nexenta (y compris le syspool)

- en option, créez un Threshold Template pour recevoir une alerte en cas de dépassement de 80%

zpool capacity
Tags: Best Practices, copy on write, nexenta, ZFS
Posted by NiTRo | Filed under News, VMware
Pour la 3ème année consécutive, nous avons l’honneur et le privilège de faire partie des quelques vExpert nommés par VMware. Cette année nous accueillons un nouveau membre dans la petite communauté des vExpert Français, notre collègue et ami Frédéric Martin aka vmdude
Keep up the good work guys !

Tags: vExpert