Page tree
Skip to end of metadata
Go to start of metadata

Disclaimer

My postings are my own and don’t necessarily represent VMware’s positions, strategies or opinions.

Requirements

Installation (RUS)

 Deployment instruction (RUS)...

Принятые сокращения

  • ВМ – виртуальная машина
  • DNS – Domain Name Service, служба имён в домене
  • AD – Microsoft Active Directory
  • ОС – операционная система Windows
  • СУБД – Сервер управления базой данных (например, Microsoft SQL 2008R2 Express)
  • СХД – Система хранения данных VNX-MIX-5
  • FQDN Fully-Qualified Domain Name, доменное имя машины в соответствии с DNS на DC
  • WSWindows Server 2008R2 Standard
  • АРМ – автоматизированное рабочее место на базе Windows 7 Pro x64
  • DC – Domain Controller, построен на базе Windows Server 2008R2 Standard
  • OUобъект контейнер Organizational Unit в AD на DC
  • ASAppVolumes Server, сервер управления стеками приложений*
  • АРМ-ЗП - автоматизированное рабочее место (на базе Windows 7 Pro x64) для запаковки приложений и создания стеков ПО - “appstack
  • NICNetwork Interface Card, сетевая карта в составе ВМ
  • KAV – Kaspersky Anti-Virus

Порядок установки

  • Закачан образ с дистрибутивом AppVolumes*.ISO на СХД;

  • Создано AS: создана ВМ с WS, подключённый в одну сеть с DC;

  • Созданы 2 ВМ под АРМ-ЗП и АРМ для тестирования, подключённые в одну сеть с DC. При создании тип NIC изменён на VMXNET3 для ускорения сетевой передачи пакетов;

  • Включена AS и настроена ОС (ввод в домен под указанным именем);

  • Настройка DC: создан OU для AppVolumes с папками Servers, Users, Desktops. Создан пробный пользователь домена avuser, учётная запись AS перенесена в папку Servers;

  • Подключён образ AppVolumes*.ISO к ВМ с AS. Запущена установка с помощью setup.exe:

    • Выбран вариант установки Install AppVolumes Manager;

    • Выбрана установка локальной СУБД Install Local SQL Server Express Database;

    • Настройки СУБД выбраны по умолчанию;

    • Выбраны порты работы (выбраны нестандартные для разрешения конфликтов с предустановленным ПО на сервере);

    • Путь для установки выбран по умолчанию (c:\Program Files(x86)\CloudVolumes\Manager);

    • Ключ лицензии AppVolumes скопирован локально на AРМ администратора.

  • Запустить консоль AppVolumes через браузер;

    • Нажать Get Started;

    • Вкладка License: нажать Edit и указать файл лицензии на АРМ администратора, нажать Upload;

    • Вкладка Active Directory: указать домен, FQDN для DC, LDAP Base, логин и пароль доменного пользователя;

    • Вкладка Administrators: выбрать группу администраторов AppVolumes из AD (Domain Admins);

    • Вкладка Machine Managers: выбрать vCenter Server, его FQDN, логин-пароль администратора vCenter. Установить обе галочки и указать единый логин root и пароль доступа на все ESXi хосты кластера для прямого к ним обращения;

    • Вкладка Machine Managers: нажал Next;

    • Вкладка Storage: в списке Default Storage Location для AppStacks выбрано СХД для стеков приложений, аналогично выбрал для записываемых контейнеров. Нажать Next – всплывёт окно выбора создания шаблонов VMDK на СХД. Выбран вариант Import volumes in the background;

    • Дополнительная вкладка Storage предлагает закачать заранее приготовленные шаблоны на СХД через один из хостов. Выбран 2-ой хост, введены логин root и пароль хоста, отмечены все 3 галочки – все типы шаблонов закачать;

    • Вкладка Summary: нажал Next.

  • Из чистых образов Win7-Pro-Rus установлены Windows 7 Pro x64 на АРМ-ЗП и АРМ, произведена настройка ОС: установлен комплект драйверов vmware-tools, заданы сетевые адреса, включён брандмауэр Windows – создано правило разрешения всех входящих Allow All, произведено подключение к домену, на DC учётные записи машин перенесены в OU Desktops;

  • К АРМ-ЗП и АРМ подключён образ AppVolumes*.ISO. Запущена установка с помощью setup.exe:

    • Выбран вариант установки Install AppVolumes Agent;

    • Указан IP адрес сервера AppVolumes Manager, и порт HTTP (нестандартный TCP:8081, указанный ранее в настройке);

    • АРМ-ЗП и АРМ отправлены в перезагрузку.

Порядок использования

  • В консоли управления AppVolumes во вкладке Volumes нажать Create AppStack для создания нового стека приложений;

  • Выбрать имя для стека, релевантное планируемому содержимому;

  • Нажать Create и выбрать в окне Perform in background;

  • Подождать конца выполнения и обновить список стеков во вкладке Volumes->AppStacks;

  • Указать галочкой новый стек и нажать Provision;

  • В поле выбора системы-донора указать имя АРМ-ЗП и найти её в результатах поиска по AD;

  • Установить галочку на выбранную систему и нажать Provision, далее Start Provisioning;

  • Перейти в RDP или VMware ESXi Client консоль АРМ-ЗП ВМ. Обратить внимание на диалоговое окно, НЕ НАЖИМАТЬ кнопку ОК, произвести инсталляцию из сетевых папок ПО, которое войдёт в стек приложений. После инсталляции каждого приложения нужно осуществлять первый запуск и инициализацию приложения;

  • После инсталляции нажать кнопку ОК в диалоговом окне VMware App Volumes, указывая на завершение процесса формирования стека приложений, нажать ДА и произвести перезагрузку АРМ-ЗП;

  • Произвести вход в АРМ-ЗП и нажать ОК в диалоговом окне завершения подготовки стека приложений;

  • В консоли управления AppVolumes отметить изменения со стеком приложений и появление кнопки Assign;

  • Осуществить вход в АРМ от лица созданного ранее пробного пользователя;

  • В консоли управления AppVolumes у созданного стека приложений нажать кнопку Assign;

  • В поле выбора компьютеров-пользователей указать имя пользователя и найти его в результатах поиска по AD;

  • Установить галочку на выбранную учётную запись и нажать Assign. В появившемся окне выбрать пункт Attach AppStacks immediately и нажать Assign;

  • В консоли АРМ от лица пробного пользователя отметить появление приложений из стека;

  • В консоли управления AppVolumes нажать на стеке приложений Unassign для отключения стека от пользователя.


Replication Between Sites

External Links:

Powershell replication script:

$Credentials = @{
    username = 'domain\username'
    password = 'password'
}

$SourceServer = "SourceServerFQDN"
$TargetServer = "DestinationServerFQDN"

Invoke-RestMethod -SessionVariable SourceServerSession -Method Post -Uri "https://$SourceServer/cv_api/sessions" -Body $Credentials 
Invoke-RestMethod -SessionVariable TargetServerSession -Method Post -Uri "https://$TargetServer/cv_api/sessions" -Body $Credentials 


$SourceAssignments = (Invoke-RestMethod -WebSession $SourceServerSession -Method Get -Uri "https://$SourceServer/cv_api/assignments").assignments

$SourceAppstacks = Invoke-RestMethod -WebSession $SourceServerSession -Method Get -Uri "https://$SourceServer/cv_api/appstacks"
$TargetAppStacks = Invoke-RestMethod -WebSession $TargetServerSession -Method Get -Uri "https://$TargetServer/cv_api/appstacks"

foreach ($Assignment in $SourceAssignments)
{
    $SourceAppStack = $SourceAppStacks.Where({$_.id -eq $assignment.snapvol_id})[0]    
    $TargetAppStack = $TargetAppStacks.Where({$_.name -eq $SourceAppstack.name})[0]   
    Invoke-RestMethod  -WebSession $TargetServerSession -Method Post -Uri "https://$TargetServer/cv_api/assignments?action_type=assign&id=$($TargetAppStack.id)&assignments%5B0%5D%5Bentity_type%5D=$($assignment.entityt)&assignments%5B0%5D%5Bpath%5D=$($assignment.entity_dn)"
    
}

There are a few things you need for this script to work. Always keep in mind that this script can be run locally on the server, but also can be ran remotely, from an account with proper permissions.

  • Windows Management Framework 4.0
  • Microsoft .NET Framework 4.5

The script replicates entitlements, but it does not copy AppStacks, so you must make sure that the AppStacks are present in both sites. You can easily do this manually with a simple copy, but you can also automate the copy by creating storage groups (more info in the App Volumes Deployment Considerations paper) and having a setup that resembles the configuration in the previous image.

If you are using App Volumes version 2.13.0 and above, you will need to make sure you enable TLS 1.2 communication.

Copy and paste the script, then edit the username, password, source server, and destination server to match your environment. Remember to save the file with a ps1 extension. As mentioned, you can run this script manually by opening a PowerShell window.