Storage DRS jet lag
Posted by NiTRo | Filed under Tips & Tricks, VMware
Suite à la publication de l’excellent Understanding VMware vSphere 5.1 Storage DRS rédigé (et surtout illustré) par Frank Denneman, nous nous permettons une petite remarque au sujet de la réactivité de SDRS lors du dépassement du seuil de remplissage. Dans le white paper, on peut lire ceci :
vSphere Storage DRS attempts to avoid an out-of-space situation and therefore runs a load-balancing operation as soon as the datastore exceeds its space-utilization threshold. This operation can be outside of the normal load-balancing interval of every 8 hours.
La première phrase est aussi intéressante qu’imprécise. On y apprend que la réaction est immédiate mais aussi qu’elle dépend de vCenter. Et suite à une batterie de tests sur différents environnement (5.0 et 5.1), nous avons remarqué que la fréquence de rafraîchissement de cette information dans vCenter n’est malheureusement que d’une (1) fois toutes les 30 minutes au mieux. (on soupçonne un algorithme basé sur l’utilisation du datastore mais visiblement pas encore très efficace). Pour le vérifier, rien de tel qu’un petit oneliner de PowerCLI qui check la propriété info.timestamp des datastores :
Get-View -ViewType datastore -property info,name,summary|?{$_.summary.accessible}|select name,{$_.info.timestamp.ToLocalTime()}
On constate donc qu’un des pilier de SDRS repose sur une donnée dont la fiabilité peut malheureusement varier et dont la fraîcheur peut laisser à désirer même dans le cas des 30 minutes. En attendant que ça bouge coté VMware, voici un workaround (nettement moins dingue que celui d’une certaine kb), qui consiste à forcer le refresh rapide à votre convenance sans que la tache n’apparaisse dans le vCenter (merci le SDK). Dans notre exemple, refresh de tous les datastores dont la propriété info.timestamp serait “veille” de plus de 5 minutes :
Get-View -ViewType datastore -property info,summary|?{$_.summary.accessible}|?{($(get-date) - $_.info.timestamp.ToLocalTime()).TotalMinutes -gt 5}|%{$_.RefreshDatastore()}
La seconde phrase de la citation, c’est un RTFM politiquement correct pour ceux qui font encore l’amalgame entre les 8h d’intervales de l’I/O load balancing et le Space-Utilization Load Balancing.
Tags: monitoring, PowerCLI, SDK, SDRS