Отсутствует разрешение на доступ к файлу vmware
Ситуация следующая: виртуальная машина Hyper-V не может запуститься, выдавая при старте ошибку примерно такого содержания «VM failed to start. Synthetic SCSI controller (Instance ID xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx): Failed to Power on with Error ‘General access denied error’.».
Если развернуть окно и посмотреть детальную информацию об ошибке, то станет понятно, что проблема кроется в отсутствии доступа к файлу виртуального диска. Дело в том, что виртуальной машине (как и обычному пользователю) для работы с файлом необходимы NTFS-права на этот файл. В том случае, когда у виртуальной машины отсутствуют необходимые разрешения, то она не сможет стартовать и вывалится с ошибкой.
Как видно на рисунке, каждая виртуальная машина имеет свой уникальный идентификатор (Virtual machine ID). Для устранения ошибки надо взять этот ID и добавить его в список контроля доступа VHD-файла. Сделать это можно из командной строки, с помощью утилиты с неблагозвучным 🙂 названием Icacls. В нашем примере команда будет выглядеть так:
Icacls H:\Hyper-V\SRV1.vhdx /grant ″NT Virtual Machine\f72e624c-4cc2-4167-b852-a47d412de8440″:(F)
Этой командой мы выдали виртуальной машине права Full Control на файл. В этом можно убедиться, открыв свойства файла и перейдя на вкладку Security. Как видите, разрешения в порядке и теперь виртуальная машина должна успешно запуститься.
Примечание. Подобную операцию необходимо проделать для каждого vhdx, и, если у машины имеются моментальные снимки (checkpoint), то для каждого avhdx файла, имеющего отношение к данной ВМ.
В заключение опишу некоторые ситуации, которые могут привести к потере прав:
• Перенос файла виртуального диска в другое расположение. Напомню, что при переносе файла на другой диск разрешения файловой системы удаляются и заменяются наследуемыми. Избежать этого можно, перенося файлы виртуальных машин с помощью встроенных средств Hyper-V, таких как Storage migration или Export\Import;
• Копирование файла виртуального диска. Ошибка может возникнуть при попытке подсунуть виртуальной машине чужой диск. Поэтому для ″размножения″ лучше воспользоваться либо экспортом, либо, при наличии VMM, клонированием виртуальных машин;
• Восстановление ВМ из бэкапа. Некоторые программы резервного копирования, например тот же DPM, при восстановлении в другое расположение не выставляют на файлы нужные права.
Несмотря на то, что VMware Workstation является лучшим гипервизором для Windows, в частности, в плане стабильности работы, у него могут возникать определённые сложности. Это может быть, например, ошибка запуска виртуальной машины «Cannot open the configuration file» - ошибка, означающая, что VMware не может открыть файл конфигурации машины, поскольку тот либо повреждён, либо отсутствует. Что делать в такой ситуации? Как восстановить работоспособность виртуальной машины?
Файл конфигурации виртуальной машины
Итак, при запуске машины получаем ошибку открытия файла конфигурации. Следовательно, этот файл повреждён или отсутствует. В некоторых случаях ошибка может быть обусловлена недостаточным наличием прав для открытия файла.
Можно попробовать запустить VMware Workstation с правами администратора, открыть машину, выключить гостевую ОС и попробовать снова запустить машину в программе без прав администратора. Если это не поможет, придётся виртуальную машину пересоздать. Но на базе её существующего виртуального диска.
Файл конфигурации машин VMware – это файл формата «.wmx» , где хранятся параметры эмуляции оборудования и прочие настройки, которые мы указываем при создании машин и потом меняем их. Файл конфигурации хранится в папке виртуальной машины, его путь прямо указан в окошке сведений.
Повреждение или удаление файла конфигурации влечёт за собой невозможность работы виртуальной машины. Однако этот файл никак не влияет на содержимое виртуального диска. В последнем сохранено состояние гостевой ОС, и после пересоздания машины мы продолжим работу с этой гостевой ОС. Разве что будут утеряны какие-то данные последнего сеанса работы гостевой ОС, если у машины было приостановленное, а не выключенное состояние. Ну и также будут удалены снапшоты, если они использовались.
Удаление виртуальной машины
Идём в проводнике по пути хранения данных машины VMware Workstation. Удаляем все её файлы, кроме виртуальных дисков – файлов «.wmdk» (или «.vhd», если используется этот формат) .
В папке машины должны остаться только файлы виртуальных дисков.
Теперь в программе VMware Workstation открываем панель библиотеки и удаляем машину с помощью контекстного меню.
Пересоздание виртуальной машины
Пересоздадим машину. Запускаем создание новой.
Указываем выборочный тип конфигурации.
Жмём «Далее».
Указываем, что мы позже установим гостевую ОС.
Указываем установленную на оставшемся виртуальном диске гостевую ОС, её версию и разрядность.
Указываем тип BIOS , какой был у удалённой машины.
Указываем ядра процессора, выделяемую оперативную память.
Контроллеры и тип диска.
На этапе выбора диска выбираем использование существующего виртуального диска.
Жмём кнопку обзора и указываем путь к оставленному виртуальному диску. Указываем основной файл «.vmdk» (или «.vhd») .
Всё – теперь виртуальная машина с новым файлом конфигурации, и она должна запуститься без проблем.
Сегодня мы разберем несколько простых способов получения доступа к данным, хранящимся на файловой системе VMFS хранилища (datastore) гипервизора ESXi (это файлы конфигурации, файлы с данными и снапшотами виртуальных машин). Статья, собственно, основана на реальной ситуации, возникшей у одного из клиентов, когда единственный продуктивный сервер с гипервизором VMware ESXi перестал загружаться.
В том случае, если не работает сам хост ESXi, но локальный диск (или диски) сервера остался работоспособными, вы всегда сможете скопировать файлы виртуальных машин (как диски с данными, так и конфигурационные файлы) с него и запустить ВМ на другом сервере (на VMware Workstation или даже Hyper-V). Основная проблема в том, что «классические» операционные системы (Windows и Linux) по умолчанию не видят раздел с файловой системой VMFS, т.к. в них отсутствует драйвер файловой системы VMFS. В этой статье мы рассмотрим, как получить доступ к файлам виртуальных машин на диске с файловой системой VMFS из разных ОС.
В моем случае проблема была в том, что резервное копирование виртуальных машин VMware настроено не было, как и не было времени на диагностику и решение проблем с загрузкой системы. Поэтому было принято решение вручную скопировать файлы критичной виртуальной машины с хранилища VMFS и запустить ее на другом компьютере на срочно поднятом для этих целей гипервизоре ESXi.
Разберем три сценария доступа к данным на файловой системе VMFS:
Монтирование VMFS раздела в Linux (Ubuntu)
В этой секции мы покажем, как смонтировать раздел с файловой системой VMFS на компьютере с установленной ОС Ubuntu (Live CD с Ubuntu в этом сценарии нам не подойдет).
В первую очередь необходимо подключить физический диск с файловой системой VMFS к компьютеру (серверу) с Ubuntu. Чтобы получить доступ к данным на VMFS томе, нам понадобиться установить специальный сторонний пакет vmfs-tools. Данный пакет позволяет получить доступ к файловой системе раздела VMFS из компьютеров под управлением Linux. Доступ к данным на таком разделе возможен в режиме только на чтение (read-only). Второе важное ограничение, разработчики vmfs-tools официально заявляли о поддержки версий файловой системе VMFS вплоть до VMFS 5.0. Возможность подключения раздела с VMFS 6 (vSphere 6.0 и 6.5.) не гарантируется.
Установим пакет следующей командой
Примечание. В репозитариях Ubuntu пока доступна только версия vmfs-tools 0.2.1, основной ее недостаток – она умеет работать только с файловой системой VMFS v4. Если вам нужно смонтировать датастор с VMFS 5, придется самостоятельно скачать и установить версию vmfs-tools не ниже 0.2.5, например, здесь:
Качаем соответствующую версию пакета так:
И устанавливаем его:
Если нужно будет удовлетворить зависимости, воспользуйтесь командой:
После установки пакета, нужно создать точку монтирования, в которую будет подключен VMFS раздел:
Следующий шаг – нужно разобраться с разделами на дисках. Гипервизор ESXi при установке помимо, собственно, раздела для файлов виртуальных машин (VMFS) создает множество служебных разделов. Если версия ESXi 4 или ниже, или VMFS хранилище было обновлено с версии VMFS 3 до VMFS 5, а его размер не превышает 2 Тб, выведем список дисков и разделов так:
Важно. Т.к. в ESXi 5 используется VMFS v5 с таблицей разделов GPT (таблица GUID Partition Table), которая используется вместо MBR, что позволяет создавать хранилища большего размера и пробрасывать RDM диски в режиме физической совместимости размером более 2 TB. Поэтому для просмотра таблицы разделов придется вместо fdisk использовать команду parted.
Итак, выведем информацию о разделах так:
Осталось смонтировать раздел диска с хранилищем VMFS:
Выведем содержимое смонтированного раздела:
Итак, теперь мы видим все файлы виртуальных машин на VMFS хранилище, которое доступно нам только для чтения, а это значит, что мы можем скопировать каталоги и/или отдельные файлы нужных виртуальных машин на отдельный диск и запустить их на другом гипервизоре ESXi.
Доступ к VMFS разделу из Windows
Для доступа к данным на VMFS разделе из Windows, нам понадобится специальный открытый драйвер Open Source VMFS Driver, написанный на Java. Драйвер требует версию Java не ниже 6 и также позволяет монтировать VMFS-тома в режиме только для чтения.
Примечание. При попытке подключения более новой версии VMFS появится ошибка No VMware File System detected.- Итак, скачайте Open Source VMFS Driver (fvmfs_r95_dist.zip ) и распакуйте его в произвольный каталог (допустим C:\vmfs)
- Проверить работу java-приложения fvmfs.jar можно так:
- Далее нужно определить номер диска с хранилищем VMFS, подключенный к Windows-компьютеру. Номер диска можно узнать с помощью консоли управление дисками или diskpart. (В нашем примере подключенный диск имеет индекс 1 – Disk1. Для драйвера утилиты fvmfs, этот диск будет именоваться так: \\.\PhysicalDrive1)
- Попытаемся получить информацию о диске:
Подключаем VMFS хранилище на новом ESXi хосте
Как вы видите, в обоих рассмотренных выше случаях сторонние драйверы для VMFS под Linux и Windows не позволяют работать с VMFS 6.0. Поэтому самый универсальный способ получить доступ к данным на VMFS разделе диска вышедшего из стоя сервера – подключить его на новом сервере ESXi (который, благо, устанавливается и настраивается менее чем за час). Это самый простой способ. Таким способом вы сможете переподключить как физический жёсткий диск, так и LUN с устройства хранения (через FC или iSCSI).
Новый хост ESXi должен корректно определить подключенный VMFS датастор и вы сможете получить доступ к файлам на нем.
Итак, как подключить существующее VMFS хранилище на новом ESXi хосте без его форматирования.
Примечание. Необходимо обладать правами администратора или быть членом группы "Администраторы домена", если компьютер входит в домен.
Разрешения — это правила, связанные с файлами, которые определяют, может ли пользователь получать доступ к файлу и какие действия с ним он может выполнять. Чтобы проверить разрешение на файл или папку, выполните указанные ниже действия.
Щелкните файл или папку правой кнопкой мыши и выберите пункт Свойства.
Перейдите на вкладку Безопасность.
Дополнительные сведения о разрешениях см. в статье Что такое разрешения?.
Способ 2. Проверьте расположение файла
Данная ошибка может возникать, если ярлык или установленная программа пытаются получить доступ к расположению, недоступному в настоящее время (например, к сетевой папке или съемному диску). Проверьте путь к файлу, к которому Windows не может получить доступ, и убедитесь, что расположение доступно. (Снимок экрана для этого этапа приведен ниже.)
Способ 3. Убедитесь, что файл не был перемещен или удален
Данная ошибка может возникнуть также в случае, если файл был перемещен или удален. Перейдите в папку, содержащую необходимый файл, и убедитесь, что он находится там.
Способ 4. Создайте ярлык повторно, чтобы проверить наличие повреждений
Данная ошибка может возникать также в случае, если ярлык или файл другого типа был поврежден. Проверить ярлыки на наличие повреждений можно посредством повторного создания ярлыка. Для этого перейдите к разделу Создание или удаление ярлыка.
Если повреждено приложение или файл другого типа, для решения проблемы может потребоваться восстановить приложение.
Способ 5. Разблокируйте файл
В некоторых случаях Windows может блокировать файл. Просмотрите свойства файла — они могут содержать следующее примечание: Этот файл получен с другого компьютера и, возможно, был заблокирован с целью защиты компьютера. Чтобы проверить это и при необходимости разблокировать файл, сделайте следующее.
Щелкните заблокированный файл правой кнопкой мыши и выберите пункт Свойства.
На вкладке Общие нажмите кнопку Разблокировать, если она доступна.
Способ 6. Проверьте, не блокирует ли файл антивирусное программное обеспечение
Чтобы проверить, не блокирует ли файл ваша антивирусная программа, временно отключите ее и попытайтесь открыть файл. Если потребовалось временно отключить антивирусное программное обеспечение, включите его сразу же после выполнения необходимого действия. Если во время данного отключения компьютер подключен к Интернету, он уязвим для атак.
Важно! Отключение антивирусного программного обеспечения или изменение его настроек может сделать ваш компьютер уязвимым для вирусов, мошенничества и других вредоносных действий. Корпорация Майкрософт не рекомендует отключать антивирусное программное обеспечение или изменять его настройки. Если потребовалось временно отключить антивирусное программное обеспечение, включите его сразу же после выполнения необходимого действия. Применяя этот метод обхода проблемы, вы действуете на собственный риск. Сведения о временном отключении антивирусного программного обеспечения см. в статье Отключение антивирусного программного обеспечения.
Причина
Подобная проблема может возникать при выполнении на компьютере любого из следующих условий.
Нет разрешения на доступ к файлу или его расположению.
Файл находится в недоступном в настоящее время расположении, например в сетевой папке или на внешнем диске, не подключенном к компьютеру в настоящий момент.
Файл был перемещен или удален.
Файл или ярлык поврежден.
Windows может блокировать файл.
Антивирусное программное обеспечение может блокировать файл.
Дополнительная информация
Дополнительные сведения об ошибках при доступе к файлами или папкам в Windows см. в статье "Отказано в доступе" и другие ошибки при попытке доступа к файлам и папкам Windows или при работе с ними.
Читайте также: