14 июля 2011 г.

Восстановление хостовой машины Hyper-V после падения

Здравствуйте, уважаемые читатели.
Случилась в моей практике ситуация, когда на сервере Hyper-V 2008 R2 пришлось переустановить систему. И сразу встал вопрос о том, как же теперь быть с виртуальными машинами?... Я человек видавший многие падения систем, как Windows, так и Linux, сразу перестраховался и все виртуальные машины сложил на диск D отдельно от диска с системой (от греха подальше) и как показывает практика не зря.

Итак, переустановив систему, надо восстанавливать ВМ. Нашел я много статей, заумных и не очень, полных или слишком полных, но во всех пытаются при помощи очень большого количества текста объяснить как и что делать (в моем понимании "засрать мозги"). После прочтения большого количества статей, я остановился вот на этой http://eniackb.blogspot.com/2009/05/how-to-recover-hyper-v-virtual-machine.html а точнее на методе №3, т.к. у меня все дял этого было готово, осталось только прописать хардлинки и дать права для каждой из ВМ (храните все важное отдельно от диска С:\!!!).
Option3:This method is simpler, we’ll re-assign the “missing” Symbolic links and give permissions to the Service SID.

Using Mklink, create the Symbolic link under "C:\ProgramData\Microsoft\Windows\Hyper-V\Virtual Machines"

Mklink "C:\ProgramData\Microsoft\Windows\Hyper-V\Virtual Machines\71DB1869-534A-4B0B-B2B8-B89170FC0EF0.xml" "F:\VM01\Virtual Machines\71DB1869-534A-4B0B-B2B8-B89170FC0EF0.xml"

Now give access permissions to the service SID to this Symbolic link.

Icacls "C:\ProgramData\Microsoft\Windows\Hyper-V\Virtual Machines\71DB1869-534A-4B0B-B2B8-B89170FC0EF0.xml" /grant "NT VIRTUAL MACHINE\71DB1869-534A-4B0B-B2B8-B89170FC0EF0":(F) /L

Then you need to give access permissions to the Service SID to all files in VM01

Icacls F:\VM01\ /T /grant "NT VIRTUAL MACHINE\71DB1869-534A-4B0B-B2B8-B89170FC0EF0":(F)

Since VM01 has also Snapshots, we need to create the correspondent symbolic link and give the necessary permissions to the files (This process must be done to each snapshot).

Mklink "C:\ProgramData\Microsoft\Windows\Hyper-V\Snapshots\324E6E76-77EC-4671-9E25-3D4B5D3133BA.xml" "F:\VM01\Snapshots\71DB1869-534A-4B0B-B2B8-B89170FC0EF0.xml"

Mklink "C:\ProgramData\Microsoft\Windows\Hyper-V\Snapshots\D6EC4773-75A6-49E7-84D2-3B619D1D450C.xml" "F:\VM01\Snapshots\71DB1869-534A-4B0B-B2B8-B89170FC0EF0.xml"

Now, assign the permissions:

Icacls C:\ProgramData\Microsoft\Windows\Hyper-V\Snapshots\324E6E76-77EC-4671-9E25-3D4B5D3133BA.xml /grant "NT VIRTUAL MACHINE\71DB1869-534A-4B0B-B2B8-B89170FC0EF0":(F) /L
Icacls C:\ProgramData\Microsoft\Windows\Hyper-V\Snapshots\D6EC4773-75A6-49E7-84D2-3B619D1D450C.xml /grant "NT VIRTUAL MACHINE\71DB1869-534A-4B0B-B2B8-B89170FC0EF0":(F) /L

Go to the settings of the VM01 and assign the proper Network switch.
Start VM01 and you’re DONE!!!!
Я не буду переводить то что написано в цитате, скажу только что нельзя делать сначала для всех ВМ хардлинки, потом выдавать для всех права и потом тоже самое для всех снепшотов. Все надо делать для каждой ВМ по отдельности. Т.е. для ВМ1 - сделали хардлинк, дали права на хардлинк, потом на файлы, затем по списку для снепшотов. Затем, перезагружаетесь или перезагружаете сервисы и все повторяете для следующей ВМ.

Если возникли вопросы - милости прошу, спрашивайте, я это уже прошел, надеюсь что смогу ответить и помочь.

3 комментария:

  1. Анатолий добрый день, ссылку создать получилось, но когда пытаюсь дать разрешения к службе SID получаю ошибку
    D:\Hyper-V\Testserver01\Virtual Machines\73089F0A-A4: The system cannot find the
    file specified.
    Successfully processed 0 files; Failed processing 1 files

    C:\Windows\system32>5E-4133-82A0-7B649156CB27.xml" /grant "NT VIRTUAL MACHINE\73
    089F0A-A45E-4133-82A0-7B649156CB27":(D) /L
    The system cannot find the path specified.

    Система не может найти путь, меня в примере смущает /grant "NT VIRTUAL MACHINE\ я так понял что я вместо NT VIRTUAL... должен прописать свой путь к новой ссылке, но в таком случае тоже ошибка с путем.
    Подскажите пожалуйста как побороть,
    Заранее спасибо.

    ОтветитьУдалить
  2. Покажите полностью ваши команды и их вывод при создании ссылок и раздаче прав.

    ОтветитьУдалить
  3. При восстановленим ВМ с 2008 R2 на 2012 R2, СРАЗУ создал по порядку все симлинки, перезапустил службу, удалил сохраненное состояние ВМ, изменил виртуальный коммутатор. Автору спасибо.

    ОтветитьУдалить