none
Powershell + Hyper-V : stop-vm ---> vm locked.. RRS feed

  • Question

  • Bonjour à tous,

    Cela fait déjà plusieurs semaines que mon script powershell n'arrive pas à éteindre une VM avant son export car celle ci est 'locked'
    Mon script fait un simple  

    get-vm *production | stop-vm -Force -verbose 
    start-sleep -s 60
    get-vm *production | export-vm -path \\labas\ -verbose
    start-sleep -s 60
    get-vm *production | start-vm 

    A noter que pour les autres vms (même hote, même cluster) n'ont aucun soucis. il y 'en a qu'une qui me pose soucis.

    stop-vm : L’ordinateur virtuel est verrouillé. Un arrêt interactif ne peut pas continuer tant que l’ordinateur virtuel est verrouillé.

    Erreur de terminaison (New-Object) : « Exception lors de l'appel de « .ctor » avec « 1 » argument(s) : « Le processus ne peut pas accéder au fichier 'C:\ClusterStorage\Volume1\test_production.vhd', car il est en cours d'utilisation par un autre processus. 

    Autre fait 'bizarre' c'est que si je lance manuellement avec powershell ISE, je ne rencontre aucun message d'erreur..


    Est ce que vous auriez une piste ? 
    D'avance merci, 
    Cordialement

    jeudi 2 avril 2015 06:21

Réponses

  • Re Bonjour :)

    Cette fois je n'ai pas eu d'erreur. Avant de tester la solution du stop-computer, j'ai augmenté le temps de mon start-sleep à 300 au lieu de 60. Et cela a fonctionné. Donc il apparaît que la VM était locked car en cours d’extinction et que son extinction est relativement longue > 1min dans mon cas.

    Problème résolu:)

    • Marqué comme réponse Jerome.A-74 mardi 7 avril 2015 11:44
    mardi 7 avril 2015 11:44

Toutes les réponses

  • Bonjour à tous,

    Cela fait déjà plusieurs semaines que mon script powershell n'arrive pas à éteindre une VM avant son export car celle ci est 'locked'
    Mon script fait un simple  

    get-vm *production | stop-vm -Force -verbose 
    start-sleep -s 60
    get-vm *production | export-vm -path \\labas\ -verbose
    start-sleep -s 60
    get-vm *production | start-vm 

    A noter que pour les autres vms (même hote, même cluster) n'ont aucun soucis. il y 'en a qu'une qui me pose soucis.

    stop-vm : L’ordinateur virtuel est verrouillé. Un arrêt interactif ne peut pas continuer tant que l’ordinateur virtuel est verrouillé.

    Erreur de terminaison (New-Object) : « Exception lors de l'appel de « .ctor » avec « 1 » argument(s) : « Le processus ne peut pas accéder au fichier 'C:\ClusterStorage\Volume1\test_production.vhd', car il est en cours d'utilisation par un autre processus. 

    Autre fait 'bizarre' c'est que si je lance manuellement avec powershell ISE, je ne rencontre aucun message d'erreur..


    Est ce que vous auriez une piste ? 
    D'avance merci, 
    Cordialement

    Bonjour Jérôme,

    Executes-tu ton script en tant qu'administrateur ?


    Blog
    Scripts

    jeudi 2 avril 2015 07:21
  • Bonjour Emmanuel,

    Oui je suis bien en tant qu'administrateur à travers une tâche planifiée.
     Cdt

    jeudi 2 avril 2015 07:33
  • Bonjour Emmanuel,

    Oui je suis bien en tant qu'administrateur à travers une tâche planifiée.
     Cdt

    As-tu bien coché la case :

    Quel compte exécute la tache ?


    Blog
    Scripts

    jeudi 2 avril 2015 08:10
  • Re pardon,

    Oui la tâche est exécuté en tant qu' MonDomaine\administrateur avec les autorisations maximales.
    A noter que ce script effectue ces commandes pour plusieurs Vms et qu'il y en a qu'une qui refuse de s'éteindre.

    jeudi 2 avril 2015 08:52
  • Re pardon,

    Oui la tâche est exécuté en tant qu' MonDomaine\administrateur avec les autorisations maximales.
    A noter que ce script effectue ces commandes pour plusieurs Vms et qu'il y en a qu'une qui refuse de s'éteindre.

    Jérôme,

    Quel est ce VHD "test_production.vhd" ? Où est-il utilisé ? A priori c'est ce dernier qui pose problème à ton script.

    Quel est la version de Windows de tes hôtes Hyper-V ?


    Blog
    Scripts

    jeudi 2 avril 2015 08:56
  • Je suis sous Windows 2012 R2 pour mes hôtes (j'en ai 2 en Haute-disponiblité)
    La VM qui refuse de s'éteindre "stop-vm : L’ordinateur virtuel est verrouillé. Un arrêt interactif ne peut pas continuer tant que l’ordinateur virtuel est verrouillé."  a pour vhd "test_production.vhd". 

    Ce dernier se trouve comme l'ensemble de mes vhds sur un SAN en scsi. 
    Oui c'est bien cette VM qui pose soucis. Son système est Windows 2012 R2. 
    jeudi 2 avril 2015 09:03
  • Je suis sous Windows 2012 R2 pour mes hôtes (j'en ai 2 en Haute-disponiblité)
    La VM qui refuse de s'éteindre "stop-vm : L’ordinateur virtuel est verrouillé. Un arrêt interactif ne peut pas continuer tant que l’ordinateur virtuel est verrouillé."  a pour vhd "test_production.vhd". 

    Ce dernier se trouve comme l'ensemble de mes vhds sur un SAN en scsi. 
    Oui c'est bien cette VM qui pose soucis. Son système est Windows 2012 R2. 

    Solution de contournement :

    Stop-Computer -Computer NomDeLaVM -Force


    Blog
    Scripts

    jeudi 2 avril 2015 10:13
  • ah yes je vais essayé ça, j'avais déjà mis le paramètre -force pour stop-vm mais j'avais pas testé le stop-computer.
    J'aurais la réponse samedi matin :) je ne peux arrêter cette vm qu'une fois par semaine  pour des soucis de production.

    Merci pour votre aide

    Cdt

    I'll be back ^^

    jeudi 2 avril 2015 11:18
  • Re Bonjour :)

    Cette fois je n'ai pas eu d'erreur. Avant de tester la solution du stop-computer, j'ai augmenté le temps de mon start-sleep à 300 au lieu de 60. Et cela a fonctionné. Donc il apparaît que la VM était locked car en cours d’extinction et que son extinction est relativement longue > 1min dans mon cas.

    Problème résolu:)

    • Marqué comme réponse Jerome.A-74 mardi 7 avril 2015 11:44
    mardi 7 avril 2015 11:44