4 votes

Hyper-V VM bloqué dans une boucle infinie en essayant de fusionner une image instantanée supprimée avec un espace disque insuffisant

Je suis actuellement confronté à un problème d'espace disque insuffisant sur un serveur colocataire et j'aurais besoin d'aide. La situation est la suivante:

  • Le serveur est 'le mien' mais il est situé dans une installation d'hébergement donc je n'y ai pas un accès facile.
  • Le serveur dispose de deux disques physiques de 250 Go dans une configuration RAID1 (c'est-à-dire présentant un disque de 250 Go)
  • Le disque est partitionné en C: (177 Go) et E: (54 Go)
  • C: dispose d'environ 25 Go d'espace libre. Il pourrait être possible de libérer un peu plus de 50 Go (en tout) si nécessaire.
  • Le serveur est Win Server 2008 (pas R2)
  • J'ai plusieurs machines virtuelles sur le serveur. La problématique est nommée SVR03.
  • SVR03 a un fichier vhd (disque dur virtuel) à expansion dynamique qui est le seul fichier sur E:, et prend actuellement tout l'espace sur ce disque: 54 Go.
  • SVR03 avait un instantané, qui était stocké à l'emplacement normal sur C:\programdata\microsoft\windows\hyper-v\snapshots. Nous avons constaté que cet instantané occupait de plus en plus d'espace sur C: et nous ne voulions pas l'instantané, donc il a été supprimé via le gestionnaire Hyper-V. Cependant, d'après ce que je comprends, cet instantané doit être fusionné dans le vhd avant d'être réellement supprimé, et cette fusion se produit lors de l'arrêt de la machine virtuelle (VM).
  • Maintenant, après l'arrêt de SVR03, Hyper-V tente de fusionner cet instantané avec le vhd, mais en raison du manque d'espace sur E:, cela échoue. Il semble atteindre environ 50% avant d'échouer.
  • À l'origine, il atteignait seulement environ 25% avant d'échouer, puis j'ai trouvé un espace non partitionné supplémentaire de 2 Go sur le disque donc j'ai étendu le E:, malheureusement cela n'a pas ajouté assez d'espace supplémentaire et le vhd a été étendu pour occuper tout l'espace mais l'instantané n'a pas été fusionné avec succès.
  • Après l'échec de la fusion d'Hyper-V, il attend un peu puis réessaie.
  • Je ne peux pas compacter le vhd pour SRV03 car il est utilisé par Hyper-V en essayant de le fusionner.
  • Je peux redémarrer SVR03, mais le même problème se produit lors de l'arrêt.

Comment puis-je me sortir de cette situation?

Y a-t-il un moyen de dire à Hyper-V de ne pas fusionner l'instantané pour le moment, pour que je puisse déplacer les fichiers? Par exemple, je pourrais déplacer le fichier vhd ailleurs pour libérer de l'espace (soit en libérant de l'espace sur C: soit en désactivant le RAID et en créant un nouveau F: avec 250 Go). Si je devais déplacer le fichier vhd est-ce que ça irait ou l'instantané est-il d'une manière ou d'une autre lié à l'emplacement actuel du fichier?

Y a-t-il un moyen de dé-supprimer l'instantané pour que je puisse arrêter SVR03 et ensuite déplacer le vhd?

Merci beaucoup!

3voto

frameworkninja Points 628

Désactiver RAID semble être une Mauvaise Idée™, mais vous êtes un peu bloqué sauf si vous pouvez brancher un lecteur USB dans le serveur ou quelque chose comme ça. Vous pouvez éteindre la machine, annuler la fusion, récupérer les fichiers vhd et avhd. Une fois que vous les avez déplacés, Hyper-V ne les fusionnera plus automatiquement, vous devrez le faire manuellement. Une fois la fusion terminée, replacez le vhd à son emplacement d'origine et Hyper-V détectera automatiquement que le fichier avhd a disparu.

0 votes

Comment annuler la fusion ?

2voto

Christian Points 736

Renommer tous les AVHD associés au serveur virtuel en VHD

Cela provient d'une méthode de fusion manuelle des instantanés qui pourrait fonctionner.

Je n'ai pas essayé cette méthode donc je ne prends aucune responsabilité si cela provoque des problèmes. Si vous avez une sauvegarde externe, je vous suggère d'en faire une :)

Référence pour la fusion manuelle des disques

http://www.virtualizationadmin.com/kbase/VirtualizationTips/ServerVirtualization/MicrosoftHyper-VR2Tips/General/ManuallyMergingHyper-VSnapshots.html

1voto

Rory Points 472

C'est ainsi que j'ai résolu le problème :

  • Attaché un disque USB externe. Cela résout partiellement le problème d'espace mais me laisse toujours avec une machine qui continue d'essayer de fusionner la capture instantanée à l'arrêt de la machine virtuelle
  • Arrêtez les services de gestion Hyper-V en cliquant avec le bouton droit sur le nom du serveur dans Gestionnaire Hyper-V > Arrêter les services. Notez que cela n'arrête pas les machines virtuelles ni ne vous empêche d'y accéder via Bureau à distance, etc.
  • Bureau à distance sur le serveur SVR03 et l'éteindre. Maintenant, les fichiers de disque ne sont pas utilisés.
  • Copiez le VHD (de E:) et le fichier de capture instantanée AVHD sur le disque USB.
  • Renommez les fichiers VHD et AVHD d'origine. Cela permet à (a) Hyper-V de ne pas essayer de les fusionner lorsque je le démarre, et aussi (b) lorsque vous utilisez l'assistant Disque d'édition plus tard, vous obtenez l'option de "reconnexion".
  • Suivant les instructions ici, renommez le fichier AVHD en VHD, puis utilisez l'assistant Disque d'édition pour modifier ce qui était le fichier AVHD et le reconnecter au disque VHD parent. Notez que vous n'obtenez pas l'option de reconnexion si le fichier VHD d'origine (sur E: dans mon cas) est toujours présent. Utilisez à nouveau l'assistant Disque d'édition pour modifier ce qui était le fichier AVHD et le fusionner avec le fichier VHD. Cela prend du temps si vous êtes sur un disque USB!
    • Maintenant, mon VHD était plus gros que ma partition pour celui-ci, donc j'ai supprimé ce lecteur et ai redimensionné C: pour utiliser cet espace, supprimé les anciens fichiers VHD et AVHD, puis déplacé le fichier VHD fusionné vers C:
    • Créez une nouvelle machine virtuelle avec les mêmes paramètres que SVR03 avait, et donnez-lui comme disque dur existant le fichier VHD fusionné.
    • Démarrez-le et tout est bon !

0voto

Setekh Points 1

Si vous avez des AVHD, fusionnez-les manuellement en un VHD. Hyper-V va vous avertir que le disque a des checkpoints et ne peut pas être modifié, alors supprimez simplement le disque bloqué (ne supprimez pas le VHD), ajoutez un nouveau disque et parcourez le VHD - Exécutez votre machine virtuelle comme d'habitude :)

0voto

ghost Points 1

Cela a fonctionné pour moi. éditez le disque, fusionnez manuellement tout ce que vous pouvez. renommez la machine cassée. créez une nouvelle machine avec les paramètres d'origine. attachez le disque fusionné manuellement. (vous utilisez maintenant la dernière configuration disponible.) Démarrez-le, lancez les mises à jour. supprimez la machine cassée. découvrez ce qui d'autre doit être corrigé (c'est-à-dire les changements apportés depuis la dernière sauvegarde disponible). S'il s'agit de sqlserver, restaurez les bases de données à partir des sauvegardes externes les plus récentes.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X