Utiliser un serveur sous ESXi pour faire tourner des machines virtuels présente de nombreux avantages. Cependant par défaut, ces dernières utilise des datastore contenant uniquement des disques dur virtuels. Par soucis de simplicité (ex: pouvoir récupérer un disque dur physique et le brancher sur n’importe quel PC), il peut être intéressent de rendre visible un disque réel directement dans une VM.
Ce procédé est tout à fait possible dans ESXI pour cela, il suffit de mapper votre disque physique dans un data store existant et cela se fait en une poignée de commande et quelques minutes
Connectez vous en SSH sur ESXI et connectez vous avec le compte root.
Tapez maintenant:
cd /dev/disks
Maintenant faire un ls –l pour afficher la liste des disques.
Repérer l’identifiant (ID RAW) du disque que vous voulez mapper.
Exemple: dans ce cas
-rw——- 1 root root 3000592982016 Sep 26 01:43 t10.ATA_____WDC_WD30EFRX2D68EUZN0_________________________WD2DWMC4N2838863
Tapez maintenant et appuyez sur Entrée
cd /vmfs/volumes
A cet endroit, vous verrez les datastore locaux déjà présent dans ESXi.
Si vous n’avez pas déjà créé un datastore au paravent, vous ne pourrez pas mapper le RDM en pass-through.
Il est donc indispensable d’utiliser comme hôte un datastore existant.
Notez le datastore que vous voulez mapper. Dans mon exemple, j’utiliserais celui nommé LUN_ESXI_VM
Tapez maintenant la commande suivante:
vmkfstools -z /vmfs/devices/disks/<nom ID du disque RAW noté dans l’étape1> <nom data store existant>/<nom RDM>.vmdk
Ou le nom du RDM.vmdk est le nom du fichier qui sera mappé. Mettez le nom de votre choix (ex : DD1_3To.vmdk )
Les guillemets sont nécessaire uniquement si il y a un espace dans le nom de votre vmdk.
Exemple:
[pastacode lang= »bash » message= » » highlight= » » provider= »manual »]
vmkfstools -z /vmfs/devices/disks/t10.ATA_____WDC_WD30EFRX2D68EUZN0_________________________WD2DWMC4N2838863 "/vmfs/volumes/LUN_ESXI_VM/DD1_3To.vmdk"
[/pastacode]
Si cela à bien fonctionné faire un LS vous devriez voir votre disque monté sous la forme d’un fichier .vmdk
Vous avez maintenant la possibilité d’ajouter votre disque mappé RDM dans une machine virtuelle (VM).
Ouvrez votre client vSphere et cliquez sur la VM à laquelle vous voulez ajouter le disque. (télécharger vSphere sur cette page du site de VMWare)
Clique droit > Modifier les paramètres
Cliquez sur le bouton Ajouter > Disque Dur > Suivant
Utiliser un disque virtuel existant > suivant
Cliquez sur parcourir > rentrer dans le dossier ou vous avez mappé le VMDK > OK > Suivant
Assurez vous d’assigner le disque sur un controller SCSI différent que celui déjà existant.
Mode: Cochez indépendant + persistant si vous ne voulez pas que les snapshots prenne en compte ce disque >
Terminer > OK
Il ne vous reste plus qu’à démarrer votre machine virtuelle et initialiser votre disque depuis l’OS hébergé.
Exemple ici sous Open Media Vault: le nouveau disque dur physique est bien mappé sur la VM au côté des disques virtuel.
Il ne reste plus qu’à initialiser le système de fichier pour votre disque (« formater »), par exemple en EXT4 (ce qui le rendra lisible par n’importe quel distrib LINUX)
Sous OMV > Système de fichier > Créer > Périphérique > sélectionner vos disques > donner un libellé > choisir le système de fichiers
Patienter le temps du formatage et votre disque est prêt à être utilisé!
Bonjour,
Vos explications sont très intéressantes car je veux faire la même chose (présenter des disques physiques sous ESXI à une VM openMediaVault). Si les 2 disques que je veux présenter à OMV sont en raid 1 (logiciel car récupérés d’un OMV physique), celà fonctionne t il ?
Bonjour Fabrice,
Je ne serais répondre, je n’ai jamais essayé.
Mais si vous testez, je serais intéressé de connaitre la réponse.
Merci,
parfait ,testé et approuvé sur esx5.5 et DSM5.2.
cdt
Si il ya moyen de trouver la manip avec proxmox, ça serait top !
Lister tout le hardware :
Utiliser l’outils lshw, d’abord installer les dépôts avec la commande,
• apt-get install lshw
Ensuite lancer la commande,
• lshw
Obtenir les infos de tous les storages :
Après avoir installé lshw lancer la commande suivante ;
• lshw -class disk -class storage
*-disk
description: ATA Disk
product: ST3000DM001-1CH1
vendor: Seagate
physical id: 0.0.0
bus info: scsi@3:0.0.0
logical name: /dev/sda
version: CC27
serial: Z1F41BLC
size: 2794GiB (3TB)
configuration: ansiversion=5 sectorsize=4096
Pour obtenir les ID des stockages :
• ls -l /dev/disk/by-id/ ou sur un périphérique précis
• ls –l /dev/disk/by-id/ata-ST3000DM001-1CH166_Z1F41BLC
lrwxrwxrwx 1 root root 9 Jan 21 10:10 /dev/disk/by-id/ata-ST3000DM001-1CH166_Z1F41BLC -> ../../sda
Assigner un disque physique a une KVM :
Lancer la commande qm set -sata ? /dev/sd ? ou qm set -sata ? /dev/disk ID
• qm set 100 -sata0 /dev/sda
• qm set 100 –sata0 /dev/by-id/ata-WDC_WD800JD-60LSA5_WD-WMAM9LY30214
• update VM 100: -sata0 /dev/disk/by-id/ata-WDC_WD800JD-60LSA5_WD-WMAM9LY30214
Le premier est à éviter au cas où le disk name changerais ! Ne pas utiliser le port Sata2 réservé au CD-Rom !
Top, merci