Comment accéder à une banque de données VMFS depuis Linux, Windows ou ESXi

Vous est-il déjà arrivé que votre hôte ESXi tombe en panne, mais que les données de votre stockage VMFS soient toujours présentes et que vous souhaitiez accéder à ces fichiers de machines virtuelles sans avoir à redémarrer l’hôte ? Plutôt frustrant, n’est-ce pas ? Le problème vient généralement du fait que Windows et Linux ne prennent pas en charge nativement VMFS, le système de fichiers propriétaire de VMware. Par conséquent, si vous vous trouvez dans cette situation (ESXi en panne, LUN ou disques intacts), vous devez trouver un moyen de monter VMFS en dehors de l’environnement VMware.

Cet article présente quelques méthodes concrètes pour accéder à des datastores VMFS depuis Linux, Windows ou un autre hôte VMware. En réalité, la solution la plus simple dépend souvent des outils que vous maîtrisez et de votre configuration. En cas de panne d’un hôte, le branchement des disques sur une nouvelle installation ESXi est parfois la meilleure solution, mais les autres méthodes s’avèrent utiles si le matériel est inaccessible.

Comment monter un système de fichiers VMFS sous Linux (Ubuntu) ?

Si vous souhaitez accéder à des données VMFS sous Linux, notamment sur un système Ubuntu, il est essentiel d’installer les outils de support appropriés. VMware utilise les versions 3, 5, 6 et éventuellement d’autres versions de VMFS, selon votre version d’ESXi. Linux ne prenant pas en charge VMFS nativement, vous avez besoin d’outils tiers tels que vmfs-tools ou vmfs6-tools.

Pourquoi s’embêter ? Eh bien, ces outils permettent de monter des datastores VMFS en mode lecture seule. Tout ne sera pas parfait — il arrive parfois de rencontrer des versions non prises en charge ou des erreurs — mais c’est toujours mieux que de perdre l’accès. De plus, si cela a fonctionné correctement sur une configuration et moins bien sur une autre, ça vaut peut-être le coup d’essayer.

Commencez par identifier la version VMFS de votre disque. Notre client utilisant un hôte ESXi 7.1, la prise en charge de VMFS6 était nécessaire. Vous devrez installervmfs6-tools :

# apt-get -y install vmfs6-tools

Si, par exemple, vous utilisez une version plus ancienne de VMFS (comme la version 5 ou 3), installez vmfs-toolsplutôt :

# apt-get install vmfs-tools

C’est important car, aussi surprenant que cela puisse paraître, la prise en charge n’est pas intégrée à Linux ; il faut l’obtenir via ces paquets. Ensuite, créez un répertoire où vous souhaitez monter la base de données :

# mkdir /mnt/vmfs

Ensuite, identifiez votre disque et votre partition. C’est là que cela peut parfois se compliquer. Exécutez la commande suivante fdisk -lpour lister les disques :

# fdisk -l

Recherchez un périphérique comme /dev/sdb avec une partition sdb1. Il s’agit probablement de votre système de fichiers VMFS. Si vous ne voyez pas l’intégralité du disque, surtout s’il s’agit d’un disque de grande capacité (> 2 To), utilisez parted -l plutôt que fdisk. Il gère mieux les disques GPT.

Pour le monter, exécutez :

# sudo vmfs6-fuse /dev/sdb1 /mnt/vmfs

Et voilà ! Si tout se passe bien, le système indiquera qu’une partition VMFS6 a été montée. Vous devriez alors pouvoir accéder aux fichiers de votre machine virtuelle dans /mnt/vmfs. Sur certaines configurations, vous pourriez rencontrer des erreurs de type [erreur 1] VMFS Unsupported version 5ou [ erreur 2] Unable to open filesystem. Dans ce cas, l’installation de [ outil 3 vmfs-tools] (et pas seulement de vmfs6-tools ) pourrait résoudre le problème. Pour ce faire, utilisez la commande suivante :

# apt-get install vmfs-tools

Puis, montez avec :

# vmfs-fuse /dev/sdb1 /mnt/vmfs

Cette méthode est un peu rudimentaire, mais elle permet un accès rapide, notamment si vous souhaitez copier des fichiers de machine virtuelle depuis la banque de données sans passer par VMware.

Montage d’une partition VMFS sur un nouvel hôte VMware ESXi

Une autre méthode, plus simple ? Il suffit de connecter ce disque ou ce LUN à une machine ESXi fraîchement installée, comme pour installer rapidement un nouvel hôte. C’est étonnamment facile : vous connectez les disques, vous lancez une nouvelle analyse du stockage, et si la banque de données est intacte, ESXi la reconnaîtra généralement sans problème.

Voici comment procéder :

  • Connectez-vous à votre nouvel ESXi via vSphere Web Client.
  • Connectez le disque ou le LUN directement à l’hôte (via Fibre Channel ou iSCSI).S’il s’agit d’un LUN iSCSI, assurez-vous de vous connecter et de vous authentifier avant de relancer l’analyse.
  • Accédez à Stockage > Analyser à nouveau le stockage.
  • Accédez à l’onglet « Périphériques », repérez le nouveau disque et vérifiez s’il est marqué comme VMFS. Si la banque de données a été supprimée ou corrompue, vous devrez peut-être la récupérer (des guides sont disponibles à ce sujet).
  • Ouvrez une session SSH sur l’hôte (si SSH est activé), puis exécutez la commande : vmkfstools -V. Ceci affiche les partitions VMFS disponibles.
  • Si le datastore est visible, vous pouvez le monter depuis l’interface graphique. Il suffit de faire un clic droit et de sélectionner « Monter ».
  • Accédez ensuite à la banque de données VMFS depuis le navigateur de banques de données, copiez les fichiers ou enregistrez les fichiers VMX selon vos besoins.

Cette méthode est *généralement* la plus simple : pas de manipulations complexes, VMware fait simplement ce qu’il fait de mieux. Notez que, dans les versions antérieures d’ESXi, il était possible de monter les datastores directement depuis l’interface graphique, en utilisant les options appropriées lors de leur ajout.

Accéder à un datastore VMFS depuis Windows

Vous essayez d’accéder à VMFS depuis Windows ? C’est une toute autre histoire. L’ancienne méthode consiste à utiliser un pilote Java appelé Open Source VMFS Driver. Il est lourd, obsolète et ne prend en charge que VMFS3, mais il peut dépanner dans certains cas.

Voici ce que vous devez faire :

  1. Téléchargez le pilote depuis https://code.google.com/archive/p/vmfs/.

  2. Extrayez-le dans un endroit comme C:\vmfs.

  3. Exécutez le fichier jar comme une commande : java -jar fvmfs.jar.

  4. Identifiez le numéro de disque du disque VMFS connecté à l’aide de la Gestion des disques ou diskpart.

  5. Obtenez des informations :java -jar fvmfs.jar \\.\PhysicalDrive1 info

  6. Essayez de partager le disque via WebDAV : java -jar fvmfs.jar \\.\PhysicalDrive1 webdav.

  7. Assurez-vous que le service WebClient est en cours d’exécution. Si ce n’est pas le cas, démarrez-le depuis Services.

  8. Cartographier le partage WebDAV : net use * http://localhost:50080/vmfs.

  9. Un nouveau disque VMFS en lecture seule devrait maintenant apparaître dans l’Explorateur Windows. Accédez-y à vos fichiers de machine virtuelle, mais n’oubliez pas : il est en lecture seule !

Oui, c’est un peu obsolète et ça ne prend pas en charge les dernières versions de VMFS. C’est surtout une solution de dernier recours si vous ne pouvez pas accéder directement aux données depuis VMware. La meilleure solution consiste généralement à connecter les disques à un autre hôte ESXi ou à utiliser des outils Linux, mais parfois, ça peut dépanner.

Bien sûr, toutes ces méthodes dépendent de votre configuration, de votre matériel et de votre version de VMFS. Toutes les astuces ne fonctionnent pas à tous les coups, mais au moins elles vous offrent des solutions plutôt que de baisser les bras.