4 votes

La machine virtuelle Hyper-V est bloquée dans une boucle infinie en essayant de fusionner une instantané supprimé avec un espace disque insuffisant

Je suis actuellement bloqué avec un problème d'espace disque insuffisant sur un serveur en colocation et j'aurais besoin d'aide. La situation est la suivante :

  • Le serveur m'appartient mais il est situé dans une installation d'hébergement, donc je n'ai pas un accès facile à celui-ci.
  • Le serveur possède deux disques physiques de 250 Go en configuration RAID1 (c'est-à-dire présentant un seul disque de 250 Go)
  • Le disque est partitionné en C: (177 Go) et E: (54 Go)
  • Il reste environ 25 Go d'espace libre sur C. Il pourrait être possible de libérer un peu plus de 50 Go (au total) si nécessaire.
  • Le serveur est un Win Server 2008 (pas R2)
  • J'ai plusieurs machines virtuelles sur le serveur. La machine posant problème s'appelle SVR03.
  • SVR03 a un fichier vhd à expansion dynamique qui est le seul fichier sur E:, et prend actuellement tout l'espace sur ce disque : 54 Go.
  • SVR03 avait une instantané, qui était stockée à l'emplacement normal sur C:\programdata\microsoft\windows\hyper-v\snapshots. Nous avons constaté que cet instantané prenait de plus en plus d'espace sur C: et nous ne voulions pas de l'instantané, donc il a été supprimé via le gestionnaire Hyper-V. Cependant, tel que je le 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.
  • Maintenant, après avoir arrêté SVR03, Hyper-V tente de réaliser cette fusion de l'instantané avec le vhd, mais parce qu'il n'y a pas assez d'espace sur E:, cela échoue. Il semble arriver à environ 50% avant d'échouer.
  • À l'origine, il n'atteignait que 25% avant d'échouer, puis j'ai trouvé un espace non partitionné supplémentaire de 2 Go sur le disque donc j'ai agrandi E:, malheureusement ce n'était pas suffisamment d'espace supplémentaire et le vhd s'est agrandi pour prendre tout l'espace mais l'instantané ne s'est pas fusionné correctement.
  • Après l'échec de l'opération de fusion, Hyper-V attend un petit moment puis réessaie.
  • Je ne peux pas compacter le vhd pour SRV03 car il est en cours d'utilisation par Hyper-V qui tente de le fusionner.
  • Je peux redémarrer SVR03, mais le même problème se produit lorsque je l'éteins à nouveau.

Comment puis-je m'en sortir dans cette situation ?

Existe-t-il un moyen de dire à Hyper-V de ne pas fusionner l'instantané pour l'instant, afin que je puisse déplacer les fichiers ? Par exemple, je pourrais déplacer le fichier vhd ailleurs pour avoir plus d'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 déplace le fichier vhd, est-ce que cela posera problème ou l'instantané est-il lié d'une manière ou d'une autre à l'emplacement actuel du fichier ?

Existe-t-il un moyen de restaurer l'instantané supprimé afin que je puisse éteindre SVR03 et ensuite déplacer le vhd ?

Merci beaucoup !

3voto

frameworkninja Points 628

Désactiver le RAID semble être une mauvaise idée™, mais vous êtes plutôt mal en l'absence de la possibilité de brancher un lecteur USB sur le serveur ou quelque chose de ce genre. Vous pouvez éteindre la machine, annuler la fusion, puis récupérer les fichiers vhd et avhd. Une fois que vous les aurez déplacés, Hyper-V ne les fusionnera plus automatiquement, vous devrez le faire manuellement. Une fois la fusion effectuée, replacez le vhd dans l'emplacement initial et Hyper-V reconnaîtra automatiquement que le fichier avhd est disparu.

0 votes

Comment puis-je annuler la fusion ?

2voto

Christian Points 736

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

Il 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 pose problème. 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

Voici comment j'ai résolu le problème :

  • Attaché un lecteur USB externe. Cela résout partiellement le problème d'espace mais me laisse toujours avec une machine qui tente de fusionner instantanément lors de l'arrêt de la VM
  • 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 VM ou ne vous empêche pas d'y accéder via Remote Desktop, etc.
  • Remote Desktop sur le serveur SVR03 et l'arrêter. Maintenant, les fichiers de disque ne sont pas utilisés.
  • Copiez le VHD (de E:) et le fichier de snapshot AVHD sur le lecteur USB.
  • Renommez les fichiers VHD et AVHD originaux. Cela évite (a) que Hyper-V ne tente de les fusionner lors du démarrage et (b) lorsque vous utilisez l'Assistant de disque ultérieurement, vous obtenez l'option 'reconnecter'.
  • Suivez les instructions ici, renommez le fichier AVHD en VHD, puis utilisez l'Assistant de disque pour éditer ce qui était le fichier AVHD et le reconnecter au VHD parent. Notez que vous n'obtenez pas l'option de reconnexion si le fichier VHD original (sur E: dans mon cas) est toujours présent. Utilisez ensuite à nouveau l'Assistant de disque pour éditer ce qui était le fichier AVHD et le fusionner avec le fichier VHD. Cela prend du temps si vous utilisez un lecteur USB !
    • Maintenant, mon VHD était plus grand que ma partition pour cela, alors j'ai supprimé ce lecteur et 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 VM avec les mêmes paramètres que ceux de SVR03, et donnez-lui en tant que disque dur existant le fichier VHD fusionné.
    • Démarrer et tout est bon !

0voto

Setekh Points 1

Si vous avez des AVHD, fusionnez-les manuellement en un seul fichier VHD. Hyper-V vous indiquera que le disque comporte des checkpoints et ne peut pas être modifié, il vous suffit donc de supprimer le disque bloqué (ne supprimez pas le VHD), ajoutez un nouveau disque et accédez au VHD - Exécutez votre machine virtuelle comme d'habitude :)

0voto

ghost Points 1

Cela a fonctionné pour moi. éditer le disque, fusionner manuellement tout ce que vous pouvez. renommer la machine cassée. créer une nouvelle machine avec les paramètres de l'original. attacher le disque fusionné manuellement. (vous utilisez maintenant la dernière configuration disponible.) Démarrez, lancez les mises à jour. supprimez la machine cassée. déterminez ce qui d'autre doit être réparé (c'est-à-dire les modifications apportées depuis la dernière sauvegarde disponible). Si c'est 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