{"id":1161,"date":"2016-05-18T00:09:58","date_gmt":"2016-05-18T04:09:58","guid":{"rendered":"http:\/\/www.hoplawego.com\/blog\/?p=1161"},"modified":"2016-06-01T00:34:58","modified_gmt":"2016-06-01T04:34:58","slug":"installer-vib-update-manager","status":"publish","type":"post","link":"https:\/\/www.hoplawego.com\/blog\/installer-vib-update-manager\/","title":{"rendered":"Installer un VIB sans Update Manager"},"content":{"rendered":"<p>&#8211; Vous avez plusieurs serveurs ESXi?<!--more--><br \/>\n&#8211; Un pilote en format vib \u00e0 installer d&rsquo;urgence?<br \/>\n&#8211; Facile?<br \/>\n&#8211; Nah, vous n&rsquo;avez pas de serveur Update Manager?<br \/>\n&#8211; Oh, c&rsquo;est une autre histoire.<\/p>\n<p>Voici une petite proc\u00e9dure qui rend la chose tr\u00e8s simple.<\/p>\n<p>Premierement, il faut pousser le .vib sur un datastore (Browse Datastore ou SSH).<br \/>\nEnsuite, il faut rouler en SSH la commande esxcli software vib install.<br \/>\nMais c&rsquo;est encore plus simple si on la roule par PowerCLI.<\/p>\n<p>Alors, on se cr\u00e9e deux fichiers:<\/p>\n<hr \/>\n<ul>\n<li>Le premier: hosts.csv\n<ul>\n<li>Dans ce fichier, on mets les noms des serveurs ESXi sur lesquels on veut installer le .vib\n<ul>\n<li>vmhost<\/li>\n<li>esxi-hostname1<\/li>\n<li>esxi-hostname2<\/li>\n<li>esx-hostname3<\/li>\n<li>etc.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>Le second: hosts.ps1\n<ul>\n<li>Dans ce fichier, on fait le lien vers le fichier csv et on y mets les commandes esxcli qu&rsquo;on a \u00e0 rouler.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<hr \/>\n<blockquote><p>Import-Csv hosts.csv |<\/p>\n<p>foreach {<br \/>\nget-vmhost $_.vmhost | Select name,connectionstate<br \/>\n$esx = Get-Vmhost $_.vmhost<br \/>\n$esxcli = Get-VMHost $_.vmhost | Get-EsxCli<br \/>\n##<br \/>\n### Ligne pour installer un driver a partir d&rsquo;un Datastore sur le SAN<br \/>\n#$esxcli.software.vib.install(\u00ab\u00a0\/vmfs\/volumes\/NOM_DU_DATASTORE\/NOM_DU_FICHIER_VIB.zip\u00a0\u00bb,$false,$true,$true,$true,$false,$null,$null, $null)<br \/>\n###<br \/>\n### Ligne pour installer un driver a partir d&rsquo;un Dossier local<br \/>\n#$esxcli.software.vib.install(\u00ab\u00a0\/tmp\/NOM_DU_DOSSIER\/NOM_DU_FICHIER_VIB.zip\u00a0\u00bb,$false,$true,$true,$true,$false,$null,$null, $null)<br \/>\n###<br \/>\n### Ligne pour v\u00e9rifier la version d&rsquo;un pilote. Dans ce cas-ci, la version du driver r\u00e9seau<br \/>\n#$esxcli.network.nic.list() | Select-Object *, @{N=\u00a0\u00bbFirmwareVersion\u00a0\u00bb; E={$Esxcli.network.nic.get($_.name).driverinfo.firmwareVersion}}, @{N=\u00a0\u00bbVersion\u00a0\u00bb; E={$Esxcli.network.nic.get($_.name).driverinfo.Version}}<br \/>\n###<br \/>\n### Ligne pour v\u00e9rifier la version d&rsquo;un pilote. Dans ce cas-ci, la version du driver FC qlogic<br \/>\n#$esxcli.software.vib.list() | Where {$_.Name -eq \u00ab\u00a0qlnativefc\u00a0\u00bb} | Select Name, Version, InstallDate| ft<br \/>\n}<\/p><\/blockquote>\n<hr \/>\n<p>Donc, la premiere fois, d\u00e9commente la section de verification pour valider la version actuelle du driver. Ensuite, je d\u00e9commente la ligne pour installer.<\/p>\n<p>On red\u00e9marre et hop, c&rsquo;est fait. C&rsquo;est environ 10 secondes par serveur plutot que plusieurs minutes pour se loguer en SSH, pousser le driver, l&rsquo;installer etc.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8211; Vous avez plusieurs serveurs ESXi?<\/p>\n","protected":false},"author":1,"featured_media":314,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[33,2,8],"tags":[49,39,42],"class_list":["post-1161","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-stockage","category-t-i","category-vmware","tag-drivers","tag-powercli","tag-vmware","grid-sizer"],"_links":{"self":[{"href":"https:\/\/www.hoplawego.com\/blog\/wp-json\/wp\/v2\/posts\/1161","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hoplawego.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hoplawego.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hoplawego.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hoplawego.com\/blog\/wp-json\/wp\/v2\/comments?post=1161"}],"version-history":[{"count":3,"href":"https:\/\/www.hoplawego.com\/blog\/wp-json\/wp\/v2\/posts\/1161\/revisions"}],"predecessor-version":[{"id":1164,"href":"https:\/\/www.hoplawego.com\/blog\/wp-json\/wp\/v2\/posts\/1161\/revisions\/1164"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hoplawego.com\/blog\/wp-json\/wp\/v2\/media\/314"}],"wp:attachment":[{"href":"https:\/\/www.hoplawego.com\/blog\/wp-json\/wp\/v2\/media?parent=1161"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hoplawego.com\/blog\/wp-json\/wp\/v2\/categories?post=1161"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hoplawego.com\/blog\/wp-json\/wp\/v2\/tags?post=1161"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}