Etendre un VMFS en ligne de commande

Allez, un peu de technique pour préparer la fin de la semaine (VACANNNNNNNNCES pour moi…). L’été est souvent propice aux petites opérations internes qu’on a que rarement le temps de faire pendant les périodes frénétiques habituelles le reste de l’année. Constatant qu’un de nos vmfs hébergeant des tonnes de templates arrivait à saturation (une belle saturation, 5 Go de dispo… pas bien, je sais :) ), j’ai entrepris de faire une petite extension “in place” du datastore.

En bon petit soldat, j’ai d’abord essayé la méthode classique consistant à étendre mon volume coté SAN, rafraîchir tout ça sur les ESXi ensuite et enfin utiliser le web client pour réaliser l’extension… mais, surprise, vous ne devinerez jamais ce que j’ai découvert (mode puta-clic :D)

Et bien, ça n’a pas marché pardi ! En fait, le bouton “Increase” situé dans la section de description du vmfs était bien là mais ne m’affichait rien, pas de giga en plus sur le vmfs. Re-re-re-refresh sur les ESX… toujours rien. Diantre ! Dieu me tamponne, le vCenter qui me tiendra tête n’est pas encore né, ooooooh, non !

Alors je commence à googler, forcément, et je tombe rapidement sur plusieurs témoignages concordants : c’est bien buggué :)

Mais, mais mais, maiiiiiis, il y a une solution pour les barbus pas farouches et maniant la ligne de commande avec souplesse et dextérité : faire la manip directement sur un des ESXi. Opla, allez, on est des guedins ou pas ? Je fais d’abord l’essai sur notre bac à sable (pas fou non plus) et ça marche nickel. Dont acte, passons sur le VMFS hébergeant nos templates (après avoir faire un petit snap de baie sur XtremIO par sécurité).

Voici donc ladite manipulation. Attention, c’est bien roots et vous pouvez tout casser si vos mains tremblent, donc prenez votre temps et vérifiez bien au moins 7 fois chaque ligne tapée :)

Première étape, extraire l’identification du volume en question. Pour se faire, utilisez la commande magique vmkfstools -P :

… La mention “partitions spanned” vous indique le device que vous allez devoir manipuler. On va maintenant jouer du partedUtil. Récupérez d’abord le schéma de partition du device :

… Sur la première ligne on récupère la configuration disque et notamment le nombre de secteurs total grâce au dernier nombre, ici un peu plus de 2 millions de secteurs, 2147483648 très exactement. Sur chacune des lignes suivantes se trouvent les différentes partitions. En général, vous n’en n’avez qu’une seul, la partition “1” qui est précisément la partition du datastore. Vous pouvez l’identifier par son code 251 en quatrième colonne. La deuxième colonne indique le secteur de démarrage de la partition et la troisième colonne sont dernier secteur. Dans l’exemple, le vmfs démarre donc au secteur 128 et s’arrête au secteur 1048562549. Vous noterez ici que le disque dispose donc de 2 millions de secteurs alors que le vmfs n’en utilise qu’un million… normal, on a étendu la LUN !

Jusque là on s’amuse, on batifole, là les choses se corsent car on va modifier le plan de partition. Donc, encore une fois, prenez toutes les précautions nécessaires ! On va ici étendre la partition contenant le vmfs en lui indiquant un secteur de fin correspondant au dernier secteur disponible sur le disque. Facile, quoi :) . Voila comment ça se passe :

… La commande ordonne à l’hyperviseur de retailler la partition 1 en lui donnant le secteur 128 comme point de départ (on ne le touche pas, surtout pas) et comme secteur de fin, le secteur 2147483647. En effet, si le disque présente un total de 2147483648 secteurs en tout, ESXi les compte à partir de 0, donc le dernier secteur est le numéro TOTAL-1.

Si après cette commande tout n’a pas explosé, c’est bon signe… j’en termine donc par l’extension proprement dite du volume VMFS. On utilise la encore vmkfstools avec l’option –growfs

… vous devez indiquer deux fois la partition à étendre. Pour l’identifier, ajoutez le numéro de partition (ici le 1) au device, après les “:” de rigueur.

Au final, si tout est ok, vous obtenez un beau VMFS étendu (ici on est passé de 500 Go à 1 To, chaque secteur faisant 512 octets).

Pour plus d’information rendez-vous ici chez Settlersoman et ici pour la description du KB#2002461 de VMware qui présente formellement la manipulation.

Amusez-vous bien !

4 thoughts on “Etendre un VMFS en ligne de commande

  1. Tuxi says:

    J’avais eu le même problème (uniquement sur vSphere 6 et uniquement pour des hôtes dans un cluster).
    Pour redimensionné, nous avions utilisé le client lourd en nous connectant directement sur l’hôte. Cela avait fonctionné.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *