Disques orphelins : la question à poser avant de supprimer

Vous avez supprimé la machine mais l'espace n'est pas revenu. Les disques restants subsistent pour trois raisons différentes, et ce n'est pas la même chose. La liste elle-même est une liste de suppression, donc sa fiabilité est un sujet à part.

AtlasPVE ·

Cette fiche répond à

  • proxmox vm supprimée mais disque reste
  • proxmox unused disk c est quoi
  • proxmox nettoyer disques orphelins
  • proxmox espace disque non libéré
  • proxmox image disque restante

Vous avez supprimé une machine. Vous regardez le stockage et l'espace n'est pas revenu. Le disque est toujours là, n'appartenant à personne.

Ce n'est pas un défaut de Proxmox. Mais si vous commencez à supprimer sans savoir comment cela s'est produit, vous pouvez supprimer quelque chose dont on a réellement besoin.

Les disques restants subsistent pour trois raisons différentes

Ils apparaissent côte à côte sur le même écran, mais leurs histoires diffèrent, et le risque de les supprimer aussi.

Aucun propriétaire. Le numéro de machine dans le nom du disque n'appartient à aucune machine. La machine a bien été supprimée et le disque est resté. Ou ce numéro n'a jamais servi et le disque a été alloué vide volontairement.

La machine existe, le disque n'est pas attaché. La machine est là, mais ce disque n'est branché sur aucun emplacement. En général quelqu'un l'a détaché exprès : il déplace des données, fait une sauvegarde, et le rebranchera.

Proxmox l'a lui-même marqué comme inutilisé. Il apparaît dans la configuration de la machine mais pas dans un emplacement actif. C'est un état que le système vous signale déjà.

Voir les trois dans une seule liste et les supprimer ensemble est le geste le plus dangereux. Dans les deux cas du milieu, la personne qui a laissé ce disque là en a le plus souvent encore besoin.

Comment ils apparaissent

Le chemin le plus fréquent est celui-ci : vous détachez d'abord le disque de la machine, puis vous supprimez la machine. Au moment où vous le détachez, plus aucune trace de lui ne reste dans la configuration de la machine. Ensuite, quand vous supprimez la machine, le système ignore ce disque, parce qu'il n'est plus écrit nulle part. La machine part, le disque reste.

Un déplacement de disque à moitié terminé donne le même résultat : la copie existe au nouvel endroit et l'ancienne n'a pas pu être retirée.

Et il y a le cas volontaire : allouer un disque vide qui n'appartient à aucune machine. Ce disque est orphelin de naissance et n'est pas un résidu en attente de suppression.

Le vrai sujet : cette liste est une liste de suppression

La plupart des écrans vous donnent de l'information. Cet écran vous fait prendre une décision, et une décision irréversible.

La justesse de la liste devient donc plus critique que celle d'un écran ordinaire. Et il y a ici un mode de défaillance sournois.

« Vide » et « inconnu » ne sont pas la même chose

La façon de trouver les disques orphelins est celle-ci : récupérer la liste de toutes les machines, récupérer le contenu de tous les stockages, comparer. Si un disque d'un stockage n'apparaît dans la liste d'aucune machine, il est orphelin.

Maintenant réfléchissez : que se passe-t-il si la liste des machines ne peut pas être récupérée ?

Si le programme avale l'erreur et traite la liste comme vide, le résultat est celui-ci : aucun disque ne peut être rattaché à un propriétaire, donc chaque disque en service semble orphelin. L'écran vous propose de supprimer les disques de machines en marche.

La même erreur existe dans l'autre sens. Si la liste des stockages ne peut pas être récupérée et est traitée comme vide, aucun stockage n'est parcouru et la réponse devient « aucun disque orphelin ». Dans ce sens personne ne supprime rien, mais dire « propre » à l'utilisateur est aussi une affirmation, et vous n'avez pas les données pour la faire.

La leçon commune tient en une phrase : une réponse vide et une absence de réponse ne sont pas la même chose. La première dit « cela n'existe pas », la seconde dit « je ne peux pas vous le dire ». Dès qu'un programme confond les deux, il se met à affirmer ce qu'il ignore.

Avant de supprimer

Vérifiez le numéro : la machine a-t-elle vraiment disparu, ou est-ce un modèle ? Les modèles ont aussi des disques, et un modèle peut ne pas apparaître dans les listes comme une machine.

Regardez quand le disque a été détaché. Un disque détaché aujourd'hui est très probablement le travail inachevé de quelqu'un.

Regardez les instantanés : un disque peut ne plus être attaché et rester nécessaire à un instantané.

Et le plus simple : au lieu de supprimer, renommez-le ou déplacez-le d'abord. Si personne ne le réclame pendant une semaine, supprimez-le. Si la pression sur l'espace est assez urgente pour casser une semaine de patience, les disques orphelins ne sont pas votre vrai problème.

Ce que fait Atlas

Quand Atlas liste les disques orphelins, il étiquette les trois raisons séparément : sans propriétaire du tout, machine présente mais non attaché, et marqué inutilisé par le système. Les montrer en un seul tas reviendrait à mettre des risques différents dans la même boîte.

Ce qui mérite vraiment d'être raconté, c'est ceci : l'erreur ci-dessus a réellement existé dans ce produit, à trois endroits distincts.

Quand la liste des machines ne pouvait pas être récupérée, l'erreur était transformée en tableau vide, ce qui veut dire que chaque disque en service aurait semblé orphelin. Quand la liste des stockages ne pouvait pas être récupérée, elle était aussi traitée comme vide, ce qui veut dire que l'utilisateur aurait reçu une réponse « propre » sans fondement. Et lors du choix d'un numéro pour un disque vide, si la liste des numéros utilisés ne pouvait pas être récupérée le résultat devenait « aucun numéro n'est utilisé », donc le choix tombait sur le premier numéro réservé. Mesuré sur une machine en service : ce numéro était déjà pris, par un modèle.

Les trois ont été corrigés dans le même sens : si la liste ne peut pas être récupérée, la liste n'est pas produite du tout et la raison est indiquée. Ne pas répondre a été préféré à répondre à moitié.

Voici en quoi cela diffère des leçons de mesure écrites ailleurs dans ce wiki : là, la question était « quelle période ce nombre décrit-il ». Ici la question vient encore avant : ai-je vraiment obtenu une réponse ?

Sources

La documentation officielle de Proxmox. En anglais, et c’est elle qui a le dernier mot sur ce sujet.

Fiches liées

À quoi cela ressemble dans Atlas ?

Aller à la page produit