Хранилище файлов Hyper-V и разрешения

Опубликовано: 22 Апреля, 2023


Введение


Hyper-V использует другой подход к хранению файлов виртуальной машины, чем Virtual Server 2005 R2. Расположение по умолчанию другое, подход к хранению другой, и файлы конфигурации другие. Что это означает для опытного администратора Virtual Server 2005 R2? Это означает, что вам нужно будет начать с чистого листа и узнать, как все это работает. Итак, давайте погрузимся.


Служба СВДС


Чтобы разрешить все изменения хранилища файлов и доступа, Hyper-V использует новый тип SID, добавленный в Windows Server 2008, называемый SID службы, для управления доступом к файлам виртуальной машины. Виртуальная машина получает идентификатор GUID при создании, и для виртуальной машины создается соответствующий уникальный идентификатор безопасности службы с использованием комбинации идентификатора безопасности службы «NT VIRTUAL MACHINE» и идентификатора VMGUID.


Пример: «ВИРТУАЛЬНАЯ МАШИНА NT C64FB013-6D92-4B9B-B106-690182B00FFA»


Если вы посмотрите на файлы виртуальной машины, вы увидите, что разрешения показывают запись для VMGUID с назначенными разрешениями безопасности, это SID службы, назначенный виртуальной машине. Назовем SID этой службы VMSID.


Вы можете использовать iCACLS для установки и просмотра разрешений на файлы:


icacls «C:ProgramdataMicrosoftWindowsHyper-VVirtual Machines C64FB013-6D92-4B9B-B106-690182B00FFA.xml» /grant «NT VIRTUAL MACHINE C64FB013-6D92-4B9B-B106-690182B00FFA»:(F ) /л


На рисунке ниже показан пример разрешений, назначенных VMSID для виртуального жесткого диска.


Изображение 28045
фигура 1


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


Также создается специальная группа Virtual Machines, содержащая все виртуальные машины Service SIDS, зарегистрированные на сервере Hyper-V .


Расположение файлов по умолчанию


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



  • Место хранения виртуального жесткого диска по умолчанию — C:UsersPublicDocumentsHyper-VVirtual Hard Disks.
  • Место хранения виртуальной машины по умолчанию — C:ProgramDataMicrosoftWindowsHyper-V.

Их можно изменить с помощью параметра «Настройки Hyper-V» в MMC диспетчера Hyper-V, как показано ниже:


Изображение 28046
фигура 2


Когда Hyper-V установлен, эти папки создаются. Папка Virtual Hard Disks изначально пуста, но папка расположения хранилища виртуальной машины по умолчанию содержит две подпапки:



  1. Виртуальные машины — хранит файлы конфигурации виртуальной машины.
  2. Снимки — хранит файлы моментальных снимков виртуальной машины.

Вы можете использовать расположение по умолчанию или указать другой путь для хранения файлов виртуальной машины при создании виртуальной машины с помощью мастера. Ваш выбор приводит к различным действиям, предпринимаемым с точки зрения безопасности файлов.


Давайте обсудим два сценария расположения по умолчанию и указание другого места хранения.


Сценарий 1: Использование местоположений по умолчанию


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




  1. GUID создается и назначается виртуальной машине, а VMSID создается для использования разрешений. Термин VMGUID будет использоваться для обозначения GUID виртуальных машин в этой статье.


  2. Виртуальный жесткий диск (VHD) для виртуальной машины размещается в каталоге C:UsersPublicDocumentsHyper-VVirtual Hard Disks с использованием указанного вами имени файла.


  3. Разрешения безопасности виртуального жесткого диска изменены, чтобы добавить VMSID с доступом для чтения и записи к виртуальному жесткому диску.


  4. Файл конфигурации XML — имя файла, состоящее из VMGUID с расширением XML, создается в папке C:ProgramDataMicrosoftWindowsHyper-V.


  5. В каталоге C:ProgramDataMicrosoftWindowsHyper-VVirtual Machines создается подпапка, состоящая из VMGUID в качестве имени папки, и назначаются следующие разрешения. Эта папка используется для хранения сохраненных файлов состояния (VSV и BIN).
    а. Группе виртуальных машин назначаются следующие специальные разрешения, которые наследуются для папки и вложенных папок.
    я. Список папок / чтение данных
    II. Чтение атрибутов
    III. Чтение расширенных атрибутов
    IV. Создавать файлы/записывать данные
    v. Создание папок / добавление данных
    ви. Читать
    б. VMSID назначается и получает специальные разрешения Полный доступ только для папки.

Изображение 28047
Рисунок 3


Если вы сохраняете состояние виртуальной машины, файлы состояния сохранения сохраняются в папке C:ProgramDataMicrosoftWindowsHyper-VVirtual Machines[VMGUID].


Этот подход имеет следующие преимущества:




  1. Вам не нужно думать о том, где вы храните файлы — значения по умолчанию используются автоматически.


  2. Все хранится в двух каталогах.

Этот подход также имеет следующие недостатки:




  1. Виртуальный жесткий диск виртуальной машины, файлы конфигурации, файлы состояния сохранения и моментальные снимки хранятся на системном диске. Это приведет к тому, что на диске быстро закончится свободное место.


  2. Файлы разных виртуальных машин хранятся вместе, что затрудняет отслеживание ассоциаций и устранение неполадок с разрешениями.

Сценарий 2. Использование другого места хранения


При использовании мастера создания новой виртуальной машины у вас есть возможность указать другое место для хранения файлов виртуальной машины. Вы включаете этот параметр, установив флажок « Сохранить виртуальную машину в другом месте», а затем указав альтернативный путь в текстовом поле «Местоположение».


Изображение 28048
Рисунок 4


Когда вы используете альтернативное место хранения для файлов вашей виртуальной машины, разрешения и файлы создаются по-другому.




  1. VMGUID по-прежнему создается и назначается виртуальной машине, а VMSID создается для использования разрешений.


  2. Вместо папок, созданных в расположениях по умолчанию, вложенная папка создается в альтернативном расположении, указанном с использованием имени виртуальной машины в качестве имени папки.
    а. Таким образом, если вы указали имя виртуальной машины VMTEST и альтернативное расположение D:VMs, будет создана новая папка с именем D:VMsVMTEST.


  3. Папке VMTEST назначаются следующие специальные разрешения
    а. Группе виртуальных машин назначаются следующие специальные разрешения, которые наследуются для папки и вложенных папок.
    я. Список папок / чтение данных
    II. Чтение атрибутов
    III. Чтение расширенных атрибутов
    IV. Создавать файлы/записывать данные
    v. Создание папок / добавление данных
    ви. Читать


  4. Внутри папки VMTEST создаются две подпапки Virtual Machines и Snapshots, которым назначаются следующие разрешения: VMSID назначается и получает специальные разрешения Полный доступ только для папки


  5. VHD, созданный мастером создания новой виртуальной машины, помещается в папку D:VMsVMTEST и получает следующие разрешения: VMSID получает разрешения на чтение и запись.


  6. XML-файл конфигурации виртуальной машины, состоящий из VMGUID с расширением XML, создается в папке D:VMsVMTESTVirtual Machines, и ему назначаются следующие разрешения: VMSID назначается полный доступ


  7. В папке D:VMsVMTESTVirtual Machines создается подпапка с именем VMGUID, которой назначаются следующие разрешения:
    а. Подпапка наследует разрешения группы виртуальных машин.
    я. Список папок / чтение данных
    II. Чтение атрибутов
    III. Чтение расширенных атрибутов
    IV. Создавать файлы/записывать данные
    v. Создание папок / добавление данных
    ви. Читать
    б. Для VMSID назначаются специальные разрешения «Полный доступ» только для папки.

Hyper-V ищет файл конфигурации в папке по умолчанию C:ProgramDataMicrosoftWindowsHyper-VVirtual Machines, но поскольку файл конфигурации хранится в папке D:VMsVMTestVirtual Machines, Hyper-V нужен способ сослаться на файл конфигурации из расположения по умолчанию. Здесь используются символические ссылки. Если виртуальная машина не хранится в расположении по умолчанию, Hyper-V создаст символическую ссылку на фактическое расположение файла конфигурации xml.


Символические ссылки создаются с помощью команды MKLINK:


mklink «C:ProgramdataMicrosoftWindowsHyper-VVirtual MachinesC64FB013-6D92-4B9B-B106-690182B00FFA.xml» «D:VMTESTVirtual MachinesC64FB013-6D92-4B9B-B106-690182B00FFA.xml» ”


Например, если конфигурация хранится в папке D:VMsVMTestVirtual Machines, Hyper-V создаст символическую ссылку в папке C:ProgramDataMicrosoftWindowsHyper-VVirtual Machines, используя VMGUID в качестве идентификатора. название ссылки. Ссылка будет иметь указатель на фактическое место хранения.


Если вы создаете снимок, то Hyper-V также создаст символическую ссылку в папке C:ProgramDataMicrosoftWindowsHyper-VSnapshots на версию снимка файла конфигурации xml в папке D:VMsVMTest. Папка Snapshots.


Этот подход имеет следующие преимущества:




  1. Все файлы для виртуальной машины хранятся в одной иерархии папок, корневой частью которой является имя виртуальной машины.


  2. Вы можете разместить файлы виртуальной машины на любом доступном диске


  3. Автоматическая организация папок.

Этот подход имеет следующие недостатки:




  1. Дополнительные символические ссылки, которые необходимо создать и управлять


  2. Вы должны помнить об использовании другого пути к хранилищу при создании новой виртуальной машины.

Вывод


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