Коллеги, хотелось бы еще раз обсудить вопрос увеличения ресурса SSD. Идея, я думаю, не нова и заключается в следующем: создать разностный VHD, основная часть которого будет храниться на SSD, а разница (относительно небольшая) на HDD. Это значительно уменьшает количество записей на SSD, а поскольку.
работающая система не записывает много данных (и соответственно мало читает из этой области), то размещение этой информации на HDD не должно приводить к существенному падение производительности.
Далее вам останется лишь периодически объединять диски, чтобы поддерживать производительность системы на должном уровне.
Однако не все оказалось так просто.
Среда
Главная задача — иметь под рукой достаточно производительную и отзывчивую среду (что обеспечивается наличием SSD в системе) в виде хоста и виртуальных машин различного назначения.Главная проблема — множество операций записи, которые генерируют хост и виртуальные машины во время работы, что негативно влияет на ресурс SSD. В качестве основного объекта тестирования была выбрана сравнительно недавняя Windows 2012 Server R2 (к RemoteFX наблюдается большой интерес).
Но та же идея увеличения ресурса SSD будет справедлива и для Windows 8.1 Pro (только начиная с этой редакции поддерживается собственная загрузка, но RemoteFX отсутствует).
Вариант размещения на хосте только гипервизора (например, VMWare ESXi на быстрой флешке USB 3.0) был отвергнут из-за острой необходимости использовать всю мощность хоста в играх и другом аппаратно-емком ПО.
В Интернете есть куча статьи О объем , как установить операционную систему на VHD и запустить ее в собственном режиме.
Но во всех статьях описывается установка либо на VHD фиксированного размера, либо на разностный диск того же тома, что и базовый.
Обсуждается эта особенность работы с разностными дисками.
Мы изучаем вопрос
Изучение Характеристики формата VHD показал, что файл VHD может указывать относительный и абсолютный путь к родительскому образу.Относительный путь сразу отвергается, но абсолютный путь стал интересным вариантом.
Но практика показала, что есть явная проблема с тем, что буква диска назначается в неизвестный момент при загрузке системы и первая мысль, что именно поэтому она не работает. Но в среде Windows существует другой способ адресации — явное указание GUID тома вместо буквы, например: \\?\Volume{d460911b-7eb4-11e2-b6f8-806e6f6e6963}\image.vhd Для упрощения проверки были созданы виртуальный диск с длинным именем (C:\1234567890123456789012345678901234567890123456image.vhd) и разностный диск (D:\image_diff.vhd).
Открыв разностный VHD шестнадцатеричным редактором, можно найти соответствующую ссылку на родительский VHD и изменить путь на \\?\Volume{d460911b-7eb4-11e2-b6f8-806e6f6e6963}\image.vhd. После этого , диск монтируется в систему через diskpart. Но.
Установленная на нем система не работает: ошибка 0xC03A000D (проблема с цепочкой образа диска).
На первый взгляд казалось, что проблема заключается в том, что при использовании жесткого диска с MBR система генерирует случайные GUID для томов и неизвестно, какой GUID присвоен томам.
Дальнейшее изучение вопроса показало, что начиная с Windows 8/2012 появился формат дисков VHDX и они также поддерживают Native boot. В Характеристики VHDX Мы нашли упоминание о том, что файлы этого формата изначально предусматривают сохранение пути к родительскому VHDX в формате пути с указанием GUID тома (так называемый путь к тому).
В этом случае даже указывается порядок поиска родительского диска: относительный путь, путь к тому, абсолютный путь win32. Изучив созданный разностный диск в формате VHDX и в шестнадцатеричном редакторе, стало ясно, что эта информация действительно сохранена в файле.
Однако по-прежнему существует проблема с GUID томов MBR. Но это решилось разметкой диска под GPT. При использовании этого варианта разбиения диска GUID тома становится постоянным.
В этом случае базовый диск должен располагаться на томе GPT, а дифференциальный диск может располагаться как на диске GPT, так и на диске MBR. Были проведены эксперименты по запуску системы с различными комбинациями дисков и загрузчиков (BIOS, EFI), но они не принесли результата.
Система по-прежнему отказывается загружаться, когда файлы диска VHDX разделены.
Было решено потратить пару часов и изучить под микроскопом сам загрузчик (Windows\System32\winload.exe и Windows\System32\winload.efi), начиная с Windows 7. После этого всё стало на свои места:
- Windows 7 — загрузчик содержит код только для работы с дисками формата VHD
- Windows 8/2012 - загрузчик содержит код для работы как с VHD, так и с VHDX-дисками.
но работает только с относительным путем (relative_path) к родительскому диску.
И даже указание пути с GUID в этом параметре не дает положительного результата
- Windows 8.1/2012R2 - загрузчик несколько увеличился в размерах, но полную реализацию работы с VHDX еще не приобрел
Заключение
Таким образом, получается, что Windows 8/2012 содержит в своем арсенале технологию создания гибридных дисковых систем, которая потенциально способна увеличить ресурс SSD+HDD в несколько раз.Но по каким-то причинам эта технология не полностью реализована в загрузчике, что делает невозможным ее применение на практике.
Мы можем только надеяться, что загрузчик будет улучшен в следующем обновлении (или выпуске).
Пока можно рассматривать только вариант классического ускорения виртуальных машин: хостовая ОС размещается на HDD, базовый диск виртуальных машин — на SSD, а на HDD создается снапшот, который периодически объединены с базовым диском (как указано или, например, когда размер снимка достигнет 1 ГБ).
Ну или просто подождать, пока SSD по цене/объему хотя бы сравняются с HDD. Также хотелось бы узнать мнение читателей по вопросу: есть ли смысл увеличивать ресурс SSD таким способом? Может быть, у сообщества есть еще какие-нибудь идеи, как организовать описанную схему? Может я что-то пропустил? Большое спасибо за ваше внимание! Теги: #ssd #Виртуализация #windows 8 #windows server 2012 #VHD #родная загрузка
-
Генеральное Соглашение По Тарифам И Торговле
19 Oct, 24 -
Apple Стала Дороже Microsoft
19 Oct, 24 -
О Карме В Этом Блоге
19 Oct, 24 -
Какие Блоги Читают Программисты?
19 Oct, 24