Не удалось подключить файл так как он занят vhdx

Обновлено: 04.07.2024

Для начала несколько слов о преимуществах нового формата:

• В формате VHDX можно создавать диски размером до 64ТБ, против максимум 2ТБ у VHD;
• VHDX поддерживает работу с 4КБ секторами. Это позволяет хранить VHDX-файлы на дисках большого размера (больше 2ТБ), использующих Advanced Format (разбиение на физические сектора размером 4КБ);
• Формат VHDX является журналируемым. Все изменения в метаданных сначала записываются в зону журнала, а уже потом в саму таблицу метаданных. Если во время изменения таблицы произойдет сбой записи, то в журнале остаются незавершенные транзакции, которые позволят завершить изменения в таблице и вернуть целостность файлу. Это делает формат VHDX более отказоустойчивым и предотвращает потерю данных в случае отключения питания;
• Поддерживаются пользовательские метаданные. В формате VHDX имеется специальный пользовательский раздел, в котором можно хранить данные о содержимом виртуального диска, например информацию об установленной операционной системе и приложениях. Пользовательский раздел позволяет хранить любые описательные метаданные;
• Формат VHDX поддерживает операции unmap и позволяет динамически высвобождать неиспользуемое пространство после удаления данных внутри виртуального диска. Это позволяет более эффективно использовать дисковое пространство на устройстве хранения.

Если вы хотите получить все эти преимущества, то есть возможность сконвертировать уже существующие виртуальные диски из VHD в VHDX. Сделать это можно из графической оснастки Hyper-V Manager или из консоли PowerShell. Но перед тем, как приступить к конвертации, напомню, что:

• При конвертации создается новый файл такого же размера, как и исходный, поэтому надо проверить наличие свободного дискового пространства;
• При конвертации простой неизбежен. Если конвертируемый диск подключен к виртуальной машине, то машину необходимо будет остановить.

Конвертирование в VHDX с помощью Hyper-V Manager

Открываем оснастку Hyper-V Manager и в поле «Actions» выбираем пункт «Edit Disk».

оснастка Hyper-V Manager

Запускается мастер редактирования VHD.

запуск мастера

Указываем расположение VHD, который будем конвертировать.

указываем расположение диска

Выбираем операцию «Convert».

выбираем тип операции

Затем выбираем требуемый формат диска. Как видите, конвертировать диски можно как из VHD в VHDX, так и наоборот.

выбираем формат диска

выбираем тип диска

И задаем имя и расположение нового диска VHDX.

указываем размещение нового диска

В завершение просматриваем суммарную информацию и жмем «Finish», запуская процесс преобразования. Процесс может занять некоторое время, зависящее от типа диска и объема данных на нем.

запуск конвертирования

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

Конвертирование в VHDX с помощью PowerShell

Для конвертации с помощью PowerShell воспользуемся такой командой:

Convert-VHD -Path ″E:\Hyper-V\Shared.vhd″ -VHDType Fixed -DestinationPath ″E:\Hyper-V\NewShared.vhdx″ -DeleteSource

Эта команда создаст новый VHDX-диск фиксированного типа, а ключ -DeleteSource удалит исходный файл.

конвертирование с помощью PowerShell

Конвертация возможна в обе стороны, для обратной конвертации воспользуйтесь командой:

Convert-VHD -Path ″E:\Hyper-V\Shared.vhdx″ -VHDType Fixed -DestinationPath ″E:\Hyper-V\NewShared.vhd″ -DeleteSource

В завершение напомню, что разместить внутри VHDX-файла можно любую ОС, но подключить этот файл получится только в ОС не ниже Windows Server 2012\Windows 8. В более ранних операционных системах формат VHDX не поддерживается.

При использовании iSCSI данные между сервером и системой хранения передаются блоками, в необработанном виде. Это позволяет использовать SAN практически так же, как если бы они были подключены к серверу напрямую, а не по сети. Хост-система может создавать на SAN логические разделы, форматировать их и использовать как обычные локальные жесткие диски. В этом заключается основное отличие SAN от сетевых хранилищ (Network Area Storage, NAS), которые работают на уровне файловой системы и используют протоколы передачи файлов, такие как SMB или CIFS.

Технология iSCSI была разработана как более дешевая альтернатива Fibre Channel (FC). Системы на базе iSCSI поддерживают стандартные протоколы и могут быть построены на базе любой существующей сетевой инфраструктуры, поддерживающей протокол IP. Для работы iSCSI может использовать самые обычные сетевые устройства (коммутаторы, маршрутизаторы, сетевые адаптеры и т.п), тогда как для FC требуются специальные HBA-адаптеры, оптические кабеля и прочее дорогостоящее оборудование.

Архитектура iSCSI является клиент-серверной и включает в себя следующие компоненты:

А теперь остановимся и уточним некоторые моменты:

• На каждом iSCSI сервере может быть один или несколько iSCSI Target;
• Каждый iSCSI Target может быть подключен к одному или нескольким виртуальным дискам;
• Каждый iSCSI Target может обслуживать одно или несколько подключений от iSCSI Initiator;
• В свою очередь, каждый iSCSI Initiator может подключаться к одному или нескольким iSCSI Target и, следовательно, к одному или нескольким виртуальным дискам.

Кроме того, в Windows Server 2012 поддерживается loopback-конфигурация, в которой и Target и Initiator могут находиться на одном и том же сервере.

В операционных системах Microsoft поддержка iSCSI появилась довольно давно. Первая версия Microsoft iSCSI Initiator устанавливалась в качестве отдельного компонента в Windows 2000, Windows XP SP2 и Windows Server 2003 SP1, а начиная с Windows Server 2008 и Vista iSCSI Initiator был встроен в операционную систему.

Что касается iSCSI Target, то изначально он входил в специальную версию серверной ОС Windows Data Storage Server 2003, которая была предназначена для построения систем хранения и поставлялась только в предустановленом виде. Однако с 2011 года компонент Microsoft iSCSI Software Target 3.3 стал доступен для загрузки и установки на Windows Server 2008R2, а в Windows Server 2012 он полностью интегрирован в систему и устанавливается в качестве роли сервера.

На этом закончим теоретическую часть и приступим к практике. Для настройки возьмем самый простой вариант, в качестве подопытных используем два сервера с установленной Windows Server 2012 R2: SRV2 для роли iSCSI Target и SRV3 для iSCSI Initiator.

Запуск службы iSCSI Initiator

Для начала проверим состояние службы инициатора на SRV3. Для этого открываем Server Manager и в меню «Tools» выбираем пункт «iSCSI Initiator».

Запуск iSCSI Initiator

Как видите, по умолчанию служба не запущена. Нажав на «Yes» в диалоговом окне, мы стартуем службу iSCSI Initiator и поставим ее в режим автоматического запуска.

подтверждение на запуск сервиса iSCSI Initiator

Затем в окне свойств переходим на вкладку «Configuration» и запоминаем значение IQN, оно пригодится нам при настройке сервера.

свойства iSCSI Initiator

Стартовать сервис iSCSI Initiator и установить режим его запуска можно и из консоли PowerShell, следующими командами:

Start-Service msiscsi
Set-Service msiscsi -StartupType automatic

Установка роли iSCSI Target Server

Server Manager

И выбираем роль «iSCSI Target Server», которая находится в разделе File and Storage Services\File and iSCSI Services.

установка роли iSCSI Target

Либо воспользуемся командой PowerShell:

Install-WindowsFeature -Name FS-iSCSITarget-Server

Подготовка диска

Теперь подготовим физический диск, который будет использоваться для хранения виртуальных iSCSI дисков. Специально для этой цели к серверу подключен новый жесткий диск размером 120Гб. На данный момент диск неактивен (Offline). Для его активации в Server Manager переходим в раздел File and Storage Services -> Disks, кликаем на диске и переводим его в Online.

подключение нового диска

Теперь на этом диске надо создать новый раздел (или том), для чего в контекстном меню выбираем пункт New Volume.

создание нового тома на диске

Выбираем физический диск, на котором будет создаваться том

выбор диска

указываем размер тома

выбор размера тома

и выбираем букву диска.

выбор буквы диска

Затем выбираем для диска файловую систему, размер сектора и указываем метку тома. Здесь напомню, что виртуальные диски iSCSI можно создавать только на томах NTFS, новая файловая система ReFS (Resilient File System) не поддерживается.

настройки файловой системы

Смотрим суммарную информацию, и если все правильно, то жмем «Create», запуская создание тома.

подтверждение на создание нового тома

Те же действия можно проделать с помощью PowerShell. Находим нужный диск:

Переводим его в online:

Set-Disk -Number 1 -IsOffline $false

Initialize-Disk -Number 1

New-Partition -DiskNumber 1 -UseMaximumSize -DriveLetter D

И форматируем его в NTFS:

Format-Volume -DriveLetter D -FileSystem NTFS -NewFileSystemLabel ″iSCSI Storage″

Создание виртуальных дисков iSCSI

Следующим пунктом нашей программы идет создание виртуальных iSCSI дисков. Для этого переходим в раздел iSCSI и кликаем по ссылке, запуская очередной мастер.

создание виртуального iSCSI диска

Выбираем том, на котором будет храниться виртуальный диск.

выбор тома для размещения виртуального диска

Даем диску имя и описание.

задаем имя виртуальному диску

Указываем размер виртуального диска и его тип. Выбирать можно из трех вариантов:

задаем тип и размер виртуального диска

Теперь нужно указать iSCSI Target, к которому будет подключен данный диск. Поскольку на сервере не создано ни одного таргета, выбираем «New iSCSI target».

указываем iSCSI Target

Даем таргету имя и описание.

задаем имя для iSCSI Target

И указываем сервера, которые могут получить к нему доступ.

указываем сервера доступа

При выборе серверов можно воспользоваться двумя способами. Если инициатор находится на Windows Server 2012 или Windows 8, то можно просто нажать «Browse» и выбрать нужный сервер из списка. Для более старых систем надо вручную ввести идентификатор сервера. В качестве идентификатора можно указать IQN инициатора, DNS имя или IP-адрес сервера, либо MAC-адрес сетевого адаптера.

окно выбора серверов доступа

настройки аутентификации

Проверяем правильность настроек и запускаем создание диска.

подтверждаем создание виртуального диска

Попробуем сделать все то же с помощью PowerShell. Создадим еще один виртуальный iSCSI диск на 20ГБ командой:

New-IscsiVirtualDisk -Path D:\iSCSIVirtualDisks\iSCSI2.vhdx

Обратите внимание, что по умолчанию создается динамический диск, для создания VHD фиксированного размера надо воспользоваться ключом -UseFixed.

создание виртуального диска из PowerShell

Теперь создаем второй iSCSI Target c именем iscsi-target-2 и в качестве сервера доступа укажем IQN SRV3:

создание iSCSI Target и подключение диска

И проверим результат командой:

Get-IscsiServerTarget | fl TargetName, LunMappings

вывод информации о iSCSI Target

Подключение

Возвращаемся на SRV3, открываем окно свойств инициатора, переходим на вкладку Discovery и жмем кнопку Discover Portal.

окно Discover свойств iSCSI Initiator

Вводим имя или IP-адрес портала и жмем ОК.

настройка подключения к iSCSI Target

По умолчанию iSCSI использует все доступные IP-адреса, и если вы хотите, чтобы трафик iSCSI шел только через определенный сетевой интерфейс, то надо перейти в расширенные настройки и в поле «Connect using» указать нужный IP.

расширенная настройка подключения к iSCSI Target

Теперь переходим на вкладку Targets, где должны отобразиться все доступные для подключения iSCSI Target. Выбираем нужный таргет и жмем «Connect».

выбор iSCSI Target

Не забудьте отметить чекбокс «Add this connection to the list of Favorite Targets», который обеспечивает автоматическое подключение к таргету при выключении или перезагрузке машины.

подключение к iSCSI Target

оснастка Disk Management

То же самое можно выполнить с помощью PowerShell. Выводим список доступных таргетов:

И подключаемся к нужному:

Ключ -IsPersistent $true обеспечивает автоматическое подключение при выключении или перезагрузке.

подключение к iSCSI Target из PowerShell

Ну и для отключения можно воспользоваться командой Disconnect-IscsiTarge, вот так:

отключение к iSCSI Target из PowerShell

Заключение

На этом настройка завершена. Как я говорил, это самый простой, базовый вариант настройки хранилища. В iSCSI имеется еще много интересных возможностей. Например, можно использовать службу имен iSCSI (iSNS) для простоты управления, многопутевой ввод-вывод (MPIO) для обеспечения отказоустойчивости, а для безопасности настроить аутентификацию по протоколу CHAP и шифрование трафика с помощью IPSec. О некоторых из этих фич я планирую написать в следующих статьях.

И в заключение важные моменты, которые надо учесть при организации системы хранения iSCSI:

• Развертывать iSCSI желательно в быстрой сети, не ниже Gigabit Ethernet;
• Сетевой трафик iSCSI рекомендуется отделить от остального трафика и вынести в отдельную сеть, например с помощью VLAN или физического разделения на подсети;
• Для обеспечения высокой доступности на сетевом уровне необходимо использовать технологию MPIO, либо сеансы с несколькими подключениями (MCS). Объединение сетевых адаптеров (NIC Teaming) для подключения к устройствам хранения iSCSI не поддерживается;
• При использовании технологии Storage Spaces можно хранить виртуальные диски iSCSI на Storage Spaces, но нельзя использовать LUN-ы iSCSI для создания Storage Spaces;
• Для хранения виртуальных дисков iSCSI нельзя использовать общие кластерные тома CSV (Cluster Shared Volume).

Как открыть VHD и VHDX в Windows Server 2012 R2

Всем привет сегодня расскажу как можно монтировать VHD и VHDX диск в Windows Server 2012 R2. Для чего это нужно, а для того чтобы не создавать виртуальную машину и иметь возможность посмотреть содержимое VHD и VHDX файлов. Иногда это бывает удобно при восстановлении каких-то важных файлов или электронных писем.

Чем открыть VHD и VHDX

Первый способ самый быстрый и доступе в Windows Server 2012 R2 и Windows 8.1. Открываем место с нашим vhdx файлом.

Как открыть VHD и VHDX в Windows Server 2012 R2-01

Как открыть VHD и VHDX в Windows Server 2012 R2-01

Щелкаем по нему правым кликом мышки и из контекстного меню выбираем Подключить.

Как открыть VHD и VHDX в Windows Server 2012 R2-03

Как открыть VHD и VHDX в Windows Server 2012 R2-03

Все видим, что диск успешно подмонтировался и нам доступна его файловая система.

Как открыть VHD и VHDX в Windows Server 2012 R2-04

Как открыть VHD и VHDX в Windows Server 2012 R2-04

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

Как открыть VHD и VHDX в Windows Server 2012 R2-05

Как открыть VHD и VHDX в Windows Server 2012 R2-05

Еще один способ через оснастку управление дисками. Щелкаем правым кликом по пуску и выбираете управление дисками.

Как открыть VHD и VHDX в Windows Server 2012 R2-06

Как открыть VHD и VHDX в Windows Server 2012 R2-06

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

Как открыть VHD и VHDX в Windows Server 2012 R2-07

Как открыть VHD и VHDX в Windows Server 2012 R2-07

Через кнопку обзор указываем месторасположение нашего vhd файла.

Как открыть VHD и VHDX в Windows Server 2012 R2-08

Как открыть VHD и VHDX в Windows Server 2012 R2-08

Как открыть VHD и VHDX в Windows Server 2012 R2-09

Как открыть VHD и VHDX в Windows Server 2012 R2-09

Обратите внимание, что можно поставить галку только для чтения, жмем ок.

Как открыть VHD и VHDX в Windows Server 2012 R2-10

Как открыть VHD и VHDX в Windows Server 2012 R2-10

Все диск подмонтирован и доступен для чтения.

Как открыть VHD и VHDX в Windows Server 2012 R2-11

Как открыть VHD и VHDX в Windows Server 2012 R2-11

Для того что отключить диск, щелкните по нему правым кликом и выберите Отсоединить виртуальный диск.

ISO ОБРАЗ

Описание проблемы

К сожалению при подключении файла возникла проблема

К сожалению при подключении файла возникла проблема

так же вы можете встретить еще одну разновидность данной проблемы в виде ошибки:

Убедитесь, что файл находится на томе NTFS, при этом папка или том не должна быть сжатыми

Убедитесь, что файл находится на томе NTFS

В логах Windows я не обнаружил ни одного события связанного с этими проблемами. И так первым делом необходимо посмотреть в свойствах файла его атрибуты, на вкладке "Общие". Убедитесь, что у вас не стоит галка "Только для чтения" и "Этот файл получен с другого компьютера, и, возможно, был заблокирован с целью защиты компьютера" нажмите разблокировать и применить.

Разблокировать защиту файла

Должно получиться вот так. Пробуем смонтировать диск, если ошибка возобновилась, то пробуем дальше вот такие действия.

Разблокированный файл

С вероятностью 90%, вся проблема в атрибуте SPARE или как его еще называют sparse files (Разреженные файлы) в NTFS. Разреженные файлы - это когда файлы занимают на диске меньше пространства, чем в их свойствах отображается размер, по сути это для их экономии. Принцип очень простой, в файле есть области, занятые одними нулями (0x00). Приложение, читающее разреженный файл, дойдя до области с нулями, прочитает нули, но реального чтения с диска не произойдёт. Разреженность поможет сэкономить дисковое пространство только в таких файлах, в которых есть действительно большие пустые области.

Разреженные файлы

В моем примере есть ISO образ объемом 3,1 ГБ, предположим, что в нем есть много нулей. Если они есть, то файл обычно оптимизируют, разбивая его не маленькие блоки, которые в последствии анализируются. Если хотя бы один байт внутри такого блока имеет отличное от 0x00 значение, блок записывается на диск как содержащий реальные данные. Блоки же, содержащие только байты 0x00, считаются пустыми и на диск не записываются. Таким образом файл получается меньшим по размеру, чем он есть на самом деле, однако сжатие при этом не используется.

Файловая система NTFS при попытке считать данный файл, знает его длину и количество блоков отданные под данные, а вот блоки с нулями будут генерится на лету, восстанавливая таким образом его изначальную структуру. Но как мы знаем операционная система Windows не идеальна и ее утилита отвечающая за монтирование ISO образов, может некорректно отработать с файлами, где есть атрибут sparse. Данный атрибут очень часто выставляют различные торрент-приложения, чтобы повысить производительность.

Чтобы удостовериться, что на файле стоит атрибут SPARE, откройте командную строку от имени администратора. и выполните команду:

fsutil sparse setflag E:\Write\Games\Civilization IV.iso (Если выскочит ошибка Использование: fsutil sparse setflag <имя_файла> [1|0]. Пример: fsutil sparse setflag C:\Temp\test.txt, то введите путь с кавычками, так как в нем есть пробелы)

C:\Users\sem>fsutil sparse setflag "E:\Write\Games\Civilization IV.iso"

Увидите надпись, что у этого файла установлен атрибут "Разреженный", если надписи не будет, то это не означает, что атрибута нет, продолжаем его снимать.

Как убрать разреженный атрибут

Далее убираем атрибут SPARE, выполните команду:

fsutil sparse setflag "E:\Write\Games\Civilization IV.iso" 0

Как убрать разреженный атрибут-2

После этих действий пробуем смонтировать ISO Образ, как видим, все работает.

Смонитрованный ISO образ в Windows 8.1

Альтернативные решения открытия ISO

Если вам не помог данный метод, то вы легко всегда можете воспользоваться архиватором WinRar, он легко умеет открывать ISO образы, для этого щелкните по нему правым кликом и выберите пункт "Открыть с помощью WinRAR архиватора"

Читайте также: