Pour mettre à jour les firmware Dell, on peut prendre les firmwares de chaque composant et les installer individuellement. C’est long et fastidieux.
Il est aussi possible de récupérer les ISO regroupant les firmwares de chaque modèle de serveur (ici). Mais ça fait un ISO assez gros pour chaque modèle de serveur.
On peut aussi faire une image customisée ne contenant que les composants voulus et pour les modèles voulus.
- Dell Repository Manager
- Génération d’un bundle de firmware
- Nettoyer le bundle
- Séquence d’exécution
- Générer un fichier ISO
- Mise à jour des firmwares via l’ISO
Dell Repository Manager
En effet, Dell propose son Repository Manager. Ca n’a rien d’une révolution, IBM a bien son UpdateXpress qui fait la même chose, mais c’est relativement méconnu.
Actuellement en version 2.2.614, Dell Repository Manager est disponible en téléchargement ici.
L’installation est simple, il suffit de suivre l’assistant.
Une fois installée, lancer Dell Repository Manager. Choisir la « Data Center Version » qui peut se connecter directement chez Dell.
La « Business Client Version » nécessite un repository local. Plutôt destiné aux entreprises, il fera éventuellement l’objet d’un autre article.
La première chose à faire dans l’onglet Welcome et de cliquer sur « Sync Databose with Dell Online Catalog » afin de s’assurer d’avoir la dernière version du catalogue.
Génération d’un bundle de firmware
Dans l’onglet « My Reositories », cliquer sur New et sur « Manually Create New Repository ».
Donner un nom au repository.
Chosir le catalogue à utiliser.
Sélectionner le type de machine à mettre à jour. Les modèles seront proposés plus loin en fonction des types choisis.
Plusieurs types peuvent être sélectionnés, mais ça fait grossir l’image ISO. La sélection de l’intégralité des firmware pour tous les modèles de tous les types représente un ISO de 18 Go.
Choisir le format du package final.
Pour une mise à jour en bootant sur l’image (seul moyen de mettre à jour certains systèmes tel que les ESX) choisir Linux.
Sélectionner le ou les modèles de serveurs à prendre en compte.
Cliquer éventuellement sur « Select Component » pour pouvoir choisir des éléments optionnels.
Cliquer sur Finish.
Cliquer sur Close.
Nettoyer le bundle
Même en n’ayant sélectionné qu’un serveur, il y a de nombreux firmware qui ne sont pas nécessaires pour un serveur donné.
Si dans l’infra il n’y a aucune carte SAN, autant supprimer tous les firmware des cartes SAN. De même avec SAS et SATA, Tapes, etc…
D’une part ça réduit la taille de l’ISO, mais surtout ça diminue le temps d’upgrade des firmwares. En effet, tous les composants présents dans l’image seront testés pour savoir s’il y a un besoin de mise à jour, donc autant ne tester que ceux qui existent.
Pour se faire une idée, l’image de base du T430 contient 113 composants et pèse 2,98 Go, et son exécution sur mon serveur déjà à jour dure un peu plus d’une heure, tandis qu’après ménage je suis tombé à 20 composants et 553 Mo, et l’exécution a duré moins de 15 minutes.
En fin de génération du bundle, vous devez vous retrouver sur l’onglet qui le détaille.
Si ce n’est pas le cas, ou si vous avez fermé le Repository Manager entre temps, il suffit de sélectionner le bundle voulu et de cliquer sur « Open ».
Aller dans l’onglet Components. Dans la colonne de gauche sont montrés tous les firmware présents dans l’image.
Il est possible de faire des filtres, par exemple par nom ou par type. Par exemple, n’ayant pas de Fibre-Channel dans mon Lab, je peux systématiquement les filtrer par le type, les sélectionner et cliquer sur Delete.
Un popup demande s’il faut les sélectionner de ce bundle, de tous les bundle ou carrément du Repository. Bien sûr s’il n’y a qu’un bundle, ça ne fait aucune différence.
J’ai ensuite supprimé tout ce qui était SAS et Tape car il n’y en a pas, et dans Sata et Network, j’ai exclus les marques non présentes, cette fois en filtrant par mot clef.
Séquence d’exécution
Si l’upgrade est fait à distance via le media virtual de la carte iDrac, et que celle-ci est mise à jour au milieu de la séquence, la connexion est perdue et le process interrompu. Et relancer le tout prends du temps, car les composants nouvellement mis à jour seront à nouveau testés.
Il est donc préférable de faire l’upgrade iDrac à la fin.
Ensuite, mais c’est plus rare, il peut y avoir des cas de dépendance dans la mise à jour de certains composants.
Une fois le bundle sélectionner, aller dans le menu « Bundle » puis « Sequence Updates ».
La liste des upgrade apparaît, dans je que j’appellerais un mode vrac.
A l’aide des boutons « Move Up » et « Move Down », il est possible des définir l’ordre de mise à jour, et notamment mettre l’iDRAC en dernière position. Valider via OK.
Confirmer le changement d’ordre.
Générer un fichier ISO
En ayant sélectionné le bundle, cliquer sur « Create Deployment Tools ».
La première option permet de créer un catalogue perso (utilisable notamment par la Business Client version), la seconde met à disposition les firmwares dans un répertoire avec un script shell pour les installer, la troisième permet de créer une image ISO bootable, et la dernière permet de créer un kit d’installation en 32 ou 64 bits, utilisable sous Windows ou Linux.
C’est la troisième option qui nous intéresse
La première option permet de ne pas interrompre le process si jamais un composant ne peut être téléchargé. La seconde permet d’ignorer la mise à jour du plugin (je ne sais pas vraiment dans quels cas ça peut être utile).
Cliquer Next.
Choisir le répertoire destination. Un sous répertoire horodaté sera créé.
Il est possible d’inclure des scripts perso, mais je vais m’en abstenir.
On peut aussi choisir de forcer la mise à jour quelque soit celle déjà installée.
Cliquer Next.
Cliquer Finish.
Valider le popup
La construction prend plus ou moins de temps selon le contenu, et peut être suivie dans la log en bas de fenêtre.
Mise à jour des firmwares via l’ISO
On peut bien entendu graver le DVD pour le mettre dans le lecteur, mais il s’avère généralement plus pratique de passer par la console iDRAC et un media virtuel.
Monter l’ISO sur le média virtuel de la console iDRAC.
Choisir de booter sur ISO virtuel au prochain démarrage.
Allumer le serveur. Il démarrera sur l’ISO. Valider ou laisser s’exécuter l’option par défaut.
L’écran suivant peut rester affiché plusieurs minutes, avant de commencer la mise à jour.
Pour chaque composant, plusieurs situations peuvent se présenter.
Le firmware est mis à jour,…
… le firmware est déjà à jour,…
… la version sur l’ISO est plus ancienne que celle déjà installée,…
… et le firmware ne correspond à aucun composant de la machine.
Une fois les mises à jour terminées, il faut redémarrer le serveur.