В последнее время мне довольно много приходится сталкиваться с различными виртуальными инфраструктурами. Возможно, на первый взгляд, настройка подобных систем кажется тривиальной задачей, но внедрение у реального заказчика говорит об обратном.
Вкратце с Sun VDI можно ознакомиться на http://wikis.sun.com/display/VDI3dot1/Home
В настоящее время данный продукт вырос в серьезную систему виртуализации десктопов, способный составить конкуренцию популярному VMware View.
На конференции Sun Tech Days я планирую выступить с небольшим докладом по данной теме, приглашаю всех принять участие!
Недавно мне понадобилось организовать процесс автоматического создания новой виртуальной машины при нехватки существующих машин в пуле. Подобная ситуация легко может возникнуть при подключении к инфраструктуре большого числа новых пользователей. В качестве клиента использовался Sun Ray 270, гостевая ОС — Windows 7. Авторизация пользователя должна выполняться в глобальной Active Directory, вновь созданная машина также в свою очередь получает запись типа Computer в специально отведенной ветке AD.
Прежде чем клонировать любую ОС семейства Windows, необходимо провести «очищение». Другими словами, стираются все настройки, создаваемые пользователем при первом запуске. Для этого используется специальная утилита SysPrep, доступная из коробки, начиная с Windows Vista. Найти ее можно в каталоге C:\Windows\system32\. Стоит отметить, что делать SysPrep на одной копии Windows можно максимум 4 раза, это ограничение лицензии.
После этого создаем конфигурационных XML-файл персональных настроек:
Шаблон можно создать на хосте Sun VDI командой vda pool-create-sysprep или взять в интернете. В нашем случае интересен следующий фрагмент файла:
<Identification>
<Credentials>
<Domain>com</Domain>
<Password>password</Password>
<Username>service-user</Username>
</Credentials>
<MachineObjectOU>OU=VDI,OU=Workstations,OU=Moscow,DC=MY,DC=COM</MachineObjectOU>
<JoinDomain>MY.COM</JoinDomain>
</Identification>
Далее необходимые действия на хосте Sun VDI:
Для начала добавляем Desktop Provider. В данном примере воспользуемся специальным VirtualBox, входящим в комплект ПО Sun VDI:
# /opt/SUNWvda/sbin/vda provider-vb-create -p name="VB provider"
Доступ к VirtaulBox будет осуществляться через SSL:
# /opt/SUNWvda/sbin/vda provider-add-host -p host=my.first.vb.com,port=443,username=root "VB provider"
Добавляем ZFS-пул, на котором будут храниться виртуальные машины:
# /opt/SUNWvda/sbin/vda provider-add-storage -p
host=my.zfs.com,username=root,zfspool=vda_zfspool "VB provider"
Затем создаем пул виртуальных машин:
# /opt/SUNWvda/sbin/vda pool-create -p
name="Templates",provider="VB provider",assignment- type=personal
Указываем шаблон машины в формате .vdi (в случае, если Sun VDI и VirtualBox находятся на разных хостах, необходимо предварительно скопировать данный файл).
И самое главное — персональные настройки SysPrep в формате XML-файла.
# /opt/SUNWvda/sbin/vda pool-vb-import -p vdi- image=template.vdi,xml-configuration=unattended.xml Templates
После этого настраиваем нужную политику клонирования и получаем рабочую конфигурацию:
# /opt/SUNWvda/sbin/vda pool-setprops
# /opt/SUNWvda/sbin/vda pool-start