Sur quel disque physique se trouve réellement votre machine virtuelle ?
La vue en liste vous dit qu'une machine utilise local-lvm. Elle ne vous dit pas que huit autres machines reposent sur le même disque physique. C'est cette seconde phrase qui décide du coût réel d'une seule panne.
AtlasPVE ·
Cette fiche répond à
- proxmox sur quel disque est ma vm
- proxmox emplacement disque vm
- proxmox stockage vers disque physique
- proxmox vue topologie
- proxmox network topology visualizer
Demandez où se trouve le disque d'une machine virtuelle et l'interface répond aussitôt : local-lvm. C'est une réponse exacte, et ce n'est pas la réponse dont vous aviez besoin. local-lvm est un nom, et un nom ne dit pas quel morceau de matériel va cesser de tourner.
La question qui compte est celle qui se cache derrière : si un disque physique tombe cette nuit, combien de machines partent avec lui ?
La chaîne compte cinq maillons
Une machine virtuelle ne repose pas sur un disque. Elle repose au bout d'une chaîne, et chaque maillon est un endroit où la réponse peut vous surprendre.
La machine déclare un disque virtuel dans sa propre configuration. Une ligne comme scsi0: local-lvm:vm-100-disk-0,size=32G nomme le stockage, pas le matériel.
Le disque virtuel est soit un fichier, soit un périphérique bloc. Lequel des deux dépend du type de stockage, et cette différence décide si un instantané est bon marché ou impossible.
Le stockage est une entrée dans la configuration de l'hôte. C'est une étiquette qui pointe vers autre chose. Deux étiquettes peuvent pointer vers la même chose en dessous, et c'est exactement ainsi que deux machines qui semblent séparées finissent par partager une panne.
Le pool ou le groupe de volumes est l'endroit où plusieurs disques physiques sont réunis. Ou bien celui où un seul fait semblant d'être un pool.
Le disque physique est le seul maillon qui puisse réellement mourir.
La vue en liste vous montre le maillon un et le maillon trois. Le risque habite les maillons deux, quatre et cinq.
Pourquoi la réponse pèse plus qu'il n'y paraît
Prenez une configuration courante : huit machines, toutes sur local-lvm, sur un hôte à quatre disques. Cela se lit comme si la charge était répartie sur quatre disques. Qu'elle le soit dépend entièrement de la façon dont le groupe de volumes a été construit.
Si ces quatre disques ont été agrégés en bandes sans redondance, la panne d'un disque emporte les huit machines. S'ils ont été mis en miroir deux par deux, la panne d'un disque n'emporte rien et vous le remplacez tranquillement. Les mêmes huit machines, le même nom de stockage, le même écran. Des conséquences opposées.
Rien dans la liste des machines ne distingue ces deux cas. Il faut parcourir la chaîne.
Où la chaîne se cache
Le provisionnement fin. Une machine peut afficher 32 Go alloués et n'occuper que 4 Go. Additionnez les tailles allouées et vous pouvez dépasser la capacité physique sans qu'aucun avertissement n'apparaisse. Tout fonctionne jusqu'à ce que le pool se remplisse vraiment, et alors la panne ne touche pas la machine qui a grossi mais toutes en même temps.
Les instantanés sur le même pool. Un instantané vous protège d'une erreur commise à l'intérieur de la machine. Il ne vous protège pas du disque en dessous. Un instantané rangé sur le même pool que la machine meurt avec elle.
Deux étiquettes, un seul appareil. Un stockage de type répertoire dont le chemin se trouve sur le même groupe de volumes qu'un stockage bloc. Deux entrées dans l'interface, un seul destin physique.
Le disque système. Sur beaucoup d'hôtes, le disque système et le premier stockage des machines sont le même appareil. Cela fonctionne, c'est répandu, et cela signifie qu'une seule panne emporte à la fois les machines et ce qui était censé les administrer.
La question à laquelle une sauvegarde ne répond pas
« Il y a des sauvegardes » est une bonne réponse à une autre question. Une sauvegarde répond à combien de temps prend la restauration, pas à combien de machines doivent être restaurées.
Ce sont deux chiffres distincts et ils coûtent séparément. Restaurer une machine, c'est une soirée. En restaurer huit, c'est un week-end, et un week-end pendant lequel rien ne tourne.
Parcourir la chaîne vous donne le second chiffre. Il vaut la peine d'être connu avant d'en avoir besoin, car vous ne pouvez plus le mesurer quand le disque est déjà mort.
Lire la chaîne à la main
Chaque maillon se lit depuis l'hôte, et cela vaut la peine de le faire au moins une fois pour que la forme devienne familière.
La configuration de la machine nomme son stockage. La configuration de stockage de l'hôte dit de quel type il s'agit et vers quoi il pointe. Pour un groupe de volumes, la liste du groupe montre quels périphériques physiques lui appartiennent. Pour un pool ZFS, l'état du pool montre les périphériques et, plus important, comment ils sont disposés : s'ils se font miroir ou s'ils sont simplement côte à côte.
Ce dernier détail décide de tout, et c'est aussi celui qui est le plus éloigné de la liste des machines.
Ce que fait Atlas
Atlas dessine toute la chaîne sur un seul écran, de la machine jusqu'au disque physique. La question se répond ainsi en suivant une ligne, au lieu d'ouvrir cinq écrans et de les assembler de tête.
La carte montre la machine, sa part de processeur et de mémoire, ses disques virtuels, le stockage sur lequel ils reposent, le pool, et tout en bas le matériel réel. Quand huit machines descendent vers le même disque physique, les huit lignes convergent visiblement. Vous n'avez pas besoin de le soupçonner pour le trouver.
La disposition est dessinée elle aussi, pas seulement l'appartenance : une paire en miroir et deux disques indépendants n'ont pas la même allure, parce que la différence entre eux est celle entre un remplacement tranquille et un week-end perdu.
La chaîne est lue en direct plutôt que dessinée une fois, si bien qu'un stockage ajouté le mois dernier figure sur la carte sans que personne ait à penser à mettre un schéma à jour.
Sources
La documentation officielle de Proxmox. En anglais, et c’est elle qui a le dernier mot sur ce sujet.