Hyper-V Não é possível carregar uma configuração de máquina virtual

6

Eu atualizei meu servidor host Windows 2008 Hyper-V para o Windows 2008 R2 na noite passada. A atualização ocorreu sem problemas, mas quando se estabilizou como a nova versão, descobri que duas máquinas virtuais, de dezessete, estavam ausentes da interface do usuário do console do Hyper-V.

No log de eventos do Hyper-V, vejo

Log Name:      Microsoft-Windows-Hyper-V-VMMS-Admin
Source:        Microsoft-Windows-Hyper-V-VMMS
Date:          6/4/2011 2:31:26 AM
Event ID:      16300
Task Category: None
Level:         Error
Keywords:      
User:          SYSTEM
Computer:      elune
Description:
Cannot load a virtual machine configuration: General access denied error (0x80070005) (Virtual machine ID 5185AC13-4148-4AFE-9024-6E74FE3C9754)
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Microsoft-Windows-Hyper-V-VMMS" Guid="{6066F867-7CA1-4418-85FD-36E3F9C0600C}" />
    <EventID>16300</EventID>
    <Version>0</Version>
    <Level>2</Level>
    <Task>0</Task>
    <Opcode>0</Opcode>
    <Keywords>0x8000000000000000</Keywords>
    <TimeCreated SystemTime="2011-04-05T18:31:26.432942100Z" />
    <EventRecordID>641</EventRecordID>
    <Correlation />
    <Execution ProcessID="1964" ThreadID="2064" />
    <Channel>Microsoft-Windows-Hyper-V-VMMS-Admin</Channel>
    <Computer>elune</Computer>
    <Security UserID="S-1-5-18" />
  </System>
  <UserData>
    <VmlEventLog xmlns:auto-ns2="http://schemas.microsoft.com/win/2004/08/events" xmlns="http://www.microsoft.com/Windows/Virtualization/Events">
      <VmName>
      </VmName>
      <VmId>5185AC13-4148-4AFE-9024-6E74FE3C9754</VmId>
      <ErrorMessage>%%2147942405</ErrorMessage>
      <ErrorCode>0x80070005</ErrorCode>
    </VmlEventLog>
  </UserData>
</Event>

Essas VMs "ausentes" não têm nenhum instantâneo on-line vinculado a elas. Mesmo para aqueles que eu removi e mesclei os snapshots com base no conselho da Microsoft , e eles "sobreviveram".

Parece haver um monte de "Discussão sobre o acesso geral negado (0x80070005)" quando se trata de máquinas virtuais iniciando . Mas, no meu caso, o serviço Hyper-V não consegue nem carregar a configuração, então o Hyper-V sabe onde estão essas configurações de VM, mas não tem permissão para acessá-las?

Os três serviços do Hyper-V são iniciados com a conta LOCAL SYSTEM, e as pastas "Máquinas Virtuais" para essas VMs concedem permissões de Controle Total. O que eu observo das outras VMs é que suas pastas têm ACEs adicionais para o grupo de máquinas virtuais e o próprio GUID da VM?

Eu tentei duplicar essa estrutura da ACE, mas o Windows não pode localizar os principais da GUID dessas VMs ausentes. O que estaria causando esse problema?

    
por icelava 06.04.2011 / 06:50

1 resposta

5

Bem, isso é um meio estranho.

O principal é que o Windows / Hyper-V está se referindo a uma "lista" em algum lugar para informar quais máquinas virtuais estão registradas no servidor. Minhas máquinas virtuais estão espalhadas por várias unidades, então tem para ser um repositório centralizado. Que acaba por ser

C: \ ProgramData \ Microsoft \ Windows \ Hyper-V \ Máquinas Virtuais

existem links simbólicos que se referem às localizações físicas dos arquivos XML de configuração reais. Percebi que os links de VM problemáticos tinham um ícone de "bloqueio".

Eu editei a ACL de segurança do link simbólico problemático. Claro que não tem a conta NT Virtual Machine como o resto, então, em vez disso, eu concedi controle total para o grupo de usuários. Serviço de gerenciamento de máquina virtual do Hyper-V reiniciado, e ele pode carregar novamente as VMs ausentes. Parece funcionar sem as contas da máquina virtual.

Ainda não obtive as respostas completas e profundas que estava procurando para explicar exatamente o que o Hyper-V está exigindo dessas contas de máquina virtual, mas pelo menos a configuração original da máquina virtual pode ser reutilizada.

    
por 06.04.2011 / 12:23