Вопрос: Hyper-V Не удается загрузить конфигурацию виртуальной машины


Вчера вечером я обновил свой главный сервер Windows 2008 Hyper-V до Windows 2008 R2. Обновление прошло гладко, но когда он установился как новая версия, я обнаружил, что две виртуальные машины из семнадцати пропали без вести в консольном интерфейсе Hyper-V.

Из журнала событий Hyper-V я вижу

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>

Эти «отсутствующие» виртуальные машины не имеют привязанных к ним онлайн-снимков. Даже для тех, которые я удалил и объединил снимки на основе Совет Microsoft, и они «выжили».

Кажется, что существует много «Общего отказа в доступе к ошибке (0x80070005)», когда дело доходит до начало виртуальных машин. Но мое дело в том, что служба Hyper-V не может даже загрузить конфигурацию, поэтому Hyper-V знает, где находятся эти настройки в конфигурации VM, но не имеет доступа к ним?

Три службы Hyper-V запускаются с учетной записью LOCAL SYSTEM, а папки «Виртуальные машины» для этих виртуальных машин предоставляют разрешения Full Control. Что я наблюдаю у других виртуальных машин, так это их папки имеют дополнительные ACE для группы виртуальных машин и сам GUID VM?

enter image description here

Я попытался дублировать эту структуру ACE, но Windows не может найти GUID-принципы тех недостающих виртуальных машин. Что может вызвать эту проблему?


5
2018-04-06 04:50


Источник


Я не знаю, что вызывает проблему, и, возможно, это очевидно, но вы можете легко воссоздать виртуальные машины в диспетчере Hyper-V, назначая те же ресурсы (CPU, memory, NIC и т. Д.), Которые были там раньше и просто указывали новые виртуальные машины в существующих .vhd-файлах и резервное копирование в считанные минуты. - icky3000
да, это возможное обходное решение. однако я заинтересован в исследовании деталей, которые влияют на эти аспекты. - icelava


Ответы:


Ну, это странное средство.

Главное - Windows / Hyper-V ссылается на «список» где-то, чтобы сообщить, какие виртуальные машины зарегистрированы на сервере. Мои виртуальные машины разбросаны по нескольким дискам, поэтому имеет быть централизованным хранилищем. Который оказывается

C: \ ProgramData \ Microsoft \ Windows \ Hyper-V \ Виртуальные машины

существуют символические ссылки, которые относятся к физическим местоположениям фактических файлов конфигурации XML. Я заметил, что у проблемных ссылок VM был значок «блокировка». enter image description here

Я редактировал ACL безопасности проблемной символической ссылки. Конечно, у него нет учетной записи виртуальной машины NT, как и все остальное, поэтому вместо этого я предоставил ей полный контроль для группы «Пользователи». Перезапустите службу виртуальной машины Hyper-V, и она может снова загрузить недостающие виртуальные машины. Кажется, что он работает без счета виртуальной машины.

Все еще не получили полных глубоких ответов, которые я искал, чтобы объяснить только то, что Hyper-V требует от этих учетных записей виртуальной машины, но по крайней мере первоначальная конфигурация виртуальной машины может быть использована повторно.


4
2018-04-06 10:23