Показаны сообщения с ярлыком CVHDMount. Показать все сообщения
Показаны сообщения с ярлыком CVHDMount. Показать все сообщения

воскресенье, 22 марта 2015 г.

Citrix PVS extending the vDisk or resize the VHD file block size to 16Mb.

Citrix PVS расширение vDisk’а или изменение объема VHD-файла с размером блока больше 16Mb.

Доброго времени суток, коллеги.
В данной статье рассмотрим возможность увеличения объема виртуального жесткого диска типа «.VHD» используемым Citrix PVS Service для доставки ОС целевым устройствам.
Для расширения виртуального диска Citrix рекомендует использовать Hyper-V, подробнее тут.
Но операционная система Windows 2008R2, ровно, как и Hyper-V, не поддерживает диски с размером блока больше чем 2Mb,подробнее тут и тут.
И при попытке подключения vDisk’а в Hyper-V возникает ошибка:
Unable to edit virtual disk
Failed to open attachment «.vhd». Error: “The file or directory is corrupted and unreadable”
Для решения нашей задачи воспользуемся планом:
  1. Преобразование размера блока файла виртуального жесткого диска в размер, поддерживаемый Hyper-V, т.е. 2Mb block size.
  2. Расширение объем жесткого диска при помощи Hyper-V
  3. Разметка файловой системы vDisk на целевом устройстве.

1. Преобразование размера блока «.VHD» файла


Предположим, что роли Hyper-V и Citrix Provisioning Service установлены на разных серверах.
Благодаря статье «Установка и настройка Citrix ProvisioningServices 7.1» мы уже знаем, что Citrix PVS позволяет смонтировать vDisk в понятный операционной системе Windows Server 2008R2 диск при помощи утилиты «CVHDMount.exe»
Для этого c сервера PVS копируем утилиту «CVHDMount.exe» из папки «C:\Program Files\Citrix\Provisioning Services\» на сервер Hyper-V, например, в папку «C:\CVHDMount»
А также копируем c сервера PVS папку «C:\Program Files\Citrix\Provisioning Services\drivers» на сервер Hyper-V в папку «C:\CVHDMount», тут находятся драйвера необходимые для корректной работы «CVHDMount.exe»
Установим драйвера на сервер Hyper-V.
Открываем «Device Manager», переходим в меню «Action», в выпадающем контекстном меню выбираем «Add legacy hardware».
В появившемся окне приветствия нажимаем «Next».
В окне «The wizard can help you install other hardware» выделяем «Install the hardware that I manually select from a list (Advanced)», нажимаем «Next».
В появившемся окне «From the list below, select the type of hardware you are installing» в разделе «Common hardware type» выбираем «Show All Devices», нажимаем «Next».
В окне «Select the device driver you want to install for this hardware» нажимаем на «Have Disk…»
В появившемся окне «Install From Disk» нажимаем «Browse», переходим в папку «C:\CVHDMount\drivers», выбираем файл «cfsdep2.inf» и нажимаем «Ок».  Далее нажимаем «Next».
В окне «Select the device driver you want to install for this hardware» в разделе «Model» выбираем «Citrix Virtual Hard Disk Enumerator PVS», нажимаем «Next».
В окне «The wizard is ready to install your hardware» нажимаем «Next»
Далее «Finish».
Аналогичную процедуру проделываем и для файла «cvhdbusp6.inf».
После успешной установки необходимых драйверов необходимо смонтировать виртуальный жесткий диск в систему, для этого в консоли CMD прописываем команду:

C:\Cvhdmount\CVhdMount.exe -p 1 \\VHD_Share\pvs$\Test\Test.vhd

где «\\VHD_Share\pvs$\Test\Test.vhd» - сетевой путь с тестовым виртуальным жестким диском «Test.vhd».. 
После успешного монтирования VHD, необходимо зайти в диспетчере дисков и выставить состояние диска на «Offline».
В командной строке вводим «diskmgmt.msc», нажимаем «Ok».
Щелкаем правой кнопкой мыши по диску, в контекстном меню нажимаем на «Offline», диск переходит в состояние «Вне сети».
Открываем консоль управление Hyper-V «Hyper-V Manager». Щелкаем правой кнопкой мыши по серверу, выбираем «New->Hard Disk».
В окне «Before You Begin» нажимаем «Next»
Так как в данном случае используемый виртуальный диск является динамически расширяемым, то в окне «Choose Disk Type» выбираем «Dynamically expanding». Это поможет сократить используемое место, занимаемое файлом VHD, так как размер файла растет по мере записи в него данных. Нажимаем «Next».
В окне «Specify Name and Location» в поле «Name» вводим имя конвертируемого виртуального жесткого диска, например, «Test_2MB.vhd». В поле «Location» указываем путь, например, «\\VHD_Share\pvs$\Test». Нажимаем «Next».
В окне «Configure Disk» выбираем «Copy the contents of the specified disk:», выделяем необходимый нам диск, нажимаем «Next».
В окне «Completing the New Virtual Hard Disk Wizard» нажимаем «Finish».
Начнется конвертирование диска «Test.vhd» с размером блока в 16Mb в диск «Test_2MB.vhd» с размером блока 2MB.
Хочу отметить, что при выборе типа жесткого диска в Hyper-V можно выбрать и параметр «Fix size», но данный тип занимает все размеченное место, вследствие чего файл «.VHD» изначально будет большим.
После завершения конвертирования необходимо отключить примапленный диск. Для этого в командной консоли CMD выполним:

C:\Cvhdmount\CVhdMount.exe -u 1 \\VHD_Share\pvs$\Test\Test.vhd


2. Расширение объем жесткого диска при помощи Hyper-V.


В консоли управления Hyper-V «Hyper-V Manager» щелкаем правой кнопкой мыши по серверу, выбираем «New->Edit Disk».
В окне «Before You Begin» нажимаем «Next»
В окне «Locate Virtual Hard Disk» в поле «Location» вводить путь до сконвертированного диска «\\VHD_Share\pvs$\Test\Test_2MB.vhd». Нажимаем «Next»
В окне «Chose Action» выбираем «Expand», нажимаем «Next».
В окне «Expand Virtual Hard Disk» в поле «New size» выставим значение «50», тем самым увеличим объем виртуального жесткого диска на 10Gb до 50Gb. Нажимаем «Next».
В окне «Completing the Edit Virtual Hard Disk Wizard» нажимаем «Finish».
Теперь можно добавить расширенный диск на PVS-сервер и назначить его целевому устройству.
Открываем консоль управления «Provisioning Service Console». Щелкаем правой кнопкой мыши по необходимому хранилищу, в нашем случае «Test», в контекстном меню выбираем «Add or Import Existing vDisks».
В появившемся окне нажимаем на кнопку «Search», далее выделяем необходимый виртуальный диск, в нашем случае «Test_2MB», нажимаем «Add», после чего - «Close».
Видим, что в хранилище образов добавился виртуальный жесткий диск размером в 50Gb

3. Разметка файловой системы vDisk на целевом устройстве.


Теперь переводим целевое устройство в режим обслуживания, назначаем ей vDisk с именем «Test_2MB» и загружаемся с него. На целевом устройстве запускаем консоль «Disk Management», щелкаем правой кнопкой по диску, выбираем «Extend Volume».
В окне «Select Disks» в поле «Available» выделяем все доступное и нажимаем «Add», далее «Next».
В окне «Complete the Extend Volume Wizard» нажимаем «Finish».
Диск успешно расширился до 50 Gb.
На этом предлагаю закончить.
Вопросы, замечания и предложения пишите в комментариях или на почту.
Удачного тестирования!