Не удалось подключить файл так как он занят vhdx
Для начала несколько слов о преимуществах нового формата:
• В формате 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».
Запускается мастер редактирования 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 удалит исходный файл.
Конвертация возможна в обе стороны, для обратной конвертации воспользуйтесь командой:
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».
Как видите, по умолчанию служба не запущена. Нажав на «Yes» в диалоговом окне, мы стартуем службу iSCSI Initiator и поставим ее в режим автоматического запуска.
Затем в окне свойств переходим на вкладку «Configuration» и запоминаем значение IQN, оно пригодится нам при настройке сервера.
Стартовать сервис iSCSI Initiator и установить режим его запуска можно и из консоли PowerShell, следующими командами:
Start-Service msiscsi
Set-Service msiscsi -StartupType automatic
Установка роли iSCSI Target Server
И выбираем роль «iSCSI Target Server», которая находится в разделе File and Storage Services\File and iSCSI Services.
Либо воспользуемся командой 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 Target, к которому будет подключен данный диск. Поскольку на сервере не создано ни одного таргета, выбираем «New iSCSI target».
Даем таргету имя и описание.
И указываем сервера, которые могут получить к нему доступ.
При выборе серверов можно воспользоваться двумя способами. Если инициатор находится на Windows Server 2012 или Windows 8, то можно просто нажать «Browse» и выбрать нужный сервер из списка. Для более старых систем надо вручную ввести идентификатор сервера. В качестве идентификатора можно указать IQN инициатора, DNS имя или IP-адрес сервера, либо MAC-адрес сетевого адаптера.
Проверяем правильность настроек и запускаем создание диска.
Попробуем сделать все то же с помощью PowerShell. Создадим еще один виртуальный iSCSI диск на 20ГБ командой:
New-IscsiVirtualDisk -Path D:\iSCSIVirtualDisks\iSCSI2.vhdx
Обратите внимание, что по умолчанию создается динамический диск, для создания VHD фиксированного размера надо воспользоваться ключом -UseFixed.
Теперь создаем второй iSCSI Target c именем iscsi-target-2 и в качестве сервера доступа укажем IQN SRV3:
И проверим результат командой:
Get-IscsiServerTarget | fl TargetName, LunMappings
Подключение
Возвращаемся на SRV3, открываем окно свойств инициатора, переходим на вкладку Discovery и жмем кнопку Discover Portal.
Вводим имя или IP-адрес портала и жмем ОК.
По умолчанию iSCSI использует все доступные IP-адреса, и если вы хотите, чтобы трафик iSCSI шел только через определенный сетевой интерфейс, то надо перейти в расширенные настройки и в поле «Connect using» указать нужный IP.
Теперь переходим на вкладку Targets, где должны отобразиться все доступные для подключения iSCSI Target. Выбираем нужный таргет и жмем «Connect».
Не забудьте отметить чекбокс «Add this connection to the list of Favorite Targets», который обеспечивает автоматическое подключение к таргету при выключении или перезагрузке машины.
То же самое можно выполнить с помощью PowerShell. Выводим список доступных таргетов:
И подключаемся к нужному:
Ключ -IsPersistent $true обеспечивает автоматическое подключение при выключении или перезагрузке.
Ну и для отключения можно воспользоваться командой Disconnect-IscsiTarge, вот так:
Заключение
На этом настройка завершена. Как я говорил, это самый простой, базовый вариант настройки хранилища. В 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-03
Все видим, что диск успешно подмонтировался и нам доступна его файловая система.
Как открыть VHD и VHDX в Windows Server 2012 R2-04
Для того чтобы отмонтировать диск, щелкаем по нему правым кликом и выбираем извлечь.
Как открыть VHD и VHDX в Windows Server 2012 R2-05
Еще один способ через оснастку управление дисками. Щелкаем правым кликом по пуску и выбираете управление дисками.
Как открыть VHD и VHDX в Windows Server 2012 R2-06
В меню действия выбираем присоединить виртуальный жесткий диск.
Как открыть VHD и VHDX в Windows Server 2012 R2-07
Через кнопку обзор указываем месторасположение нашего vhd файла.
Как открыть VHD и VHDX в Windows Server 2012 R2-08
Как открыть VHD и VHDX в Windows Server 2012 R2-09
Обратите внимание, что можно поставить галку только для чтения, жмем ок.
Как открыть VHD и VHDX в Windows Server 2012 R2-10
Все диск подмонтирован и доступен для чтения.
Как открыть VHD и VHDX в Windows Server 2012 R2-11
Для того что отключить диск, щелкните по нему правым кликом и выберите Отсоединить виртуальный диск.
Описание проблемы
К сожалению при подключении файла возникла проблематак же вы можете встретить еще одну разновидность данной проблемы в виде ошибки:
Убедитесь, что файл находится на томе 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После этих действий пробуем смонтировать ISO Образ, как видим, все работает.
Альтернативные решения открытия ISO
Если вам не помог данный метод, то вы легко всегда можете воспользоваться архиватором WinRar, он легко умеет открывать ISO образы, для этого щелкните по нему правым кликом и выберите пункт "Открыть с помощью WinRAR архиватора"
Читайте также: