User Profile Disks в RDS Windows Server 2012 / 2016

Windows

User Profile Disks (UPD, диски профилей пользователей) – новый функционал Remote Desktop Services в Windows Server 2012. User Profile Disks представляют собой альтернативу использованию технологий перемещаемых профилей (roaming profile) и перенаправления папок (folder redirection) в терминальных сценариях RDS. Идея UPD – данные пользователя и его приложений (т.е. его профиль) хранятся в виде отдельного виртуального vhdx диска на неком выделенном общем файловом ресурсе. Этот виртуальный диск монтируется в сессию пользователя при его входе на RDS-сервер, и отключается при выходе (конечно, с сохранением всех изменений в профиле).

В этой статье мы опишем особенности настройки и работы технологии User Profile Disks на сервере с ролью Remote Desktop Services на Windows Server 2012 / 2012 R2 / 2016.

Настройка User Profile Disks в Windows Server RDS

В первую очередь необходимо на любом файловом сервере организации создать общую сетевую папку, в которой будут храниться файлы с профилями пользователей в формате VHDX дисков (если вы хотите обеспечить высокую доступность UPD дисков, можно разместить файлы UPD на кластерном файловом ресурсе). В нашем примере, путь к такому каталогу будет выглядеть так: \srv01DemoLabOficeApps. Необходимо предоставить серверам, входящим в коллекцию RDS полные права доступа на данный каталог и файловую систему.

Совет. В рамках одной коллекции RDS для каждого пользователя может существовать только один vhdx файл с UPD профилем. Если пользователь подключается к ресурсам из двух разных RDS коллекций, для каждой из них будет создан отдельный vhdx файл с профилем пользователя.

Режим User Profile Disks включается и настраивается в параметрах коллекций Remote Desktop. Этот режим можно включить непосредственно при создании коллекции, или уже после того, как коллекция создана.

В нашем примере коллекция уже существует, поэтому в консоли Server Manager выбираем имеющуюся коллекцию, и в верхнем левом углу выбираем Tasks-> Edit Properties.

Читайте также:
Настройка шлюза Remote Desktop Gateway на Windows Server

User Profile Disks в RDS Windows Server 2012 / 2016

Затем в разделе User Profile Disks ставим чекбокс на Enable user profile disks, указываем путь к созданной ранее сетевой папке (\srv01DemoLabOficeApps) и максимальный размер диска с профилем (пусть это будет 20 Гб). Сохраняем изменения.

User Profile Disks в RDS Windows Server 2012 / 2016

После сохранения изменений, проверьте что NTFS разрешения на каталог с дисками профилей были изменены. В нашем случае коллекция состоит из одного сервера RDSH01, которому предоставлены полные права на папку.

User Profile Disks в RDS Windows Server 2012 / 2016

На уровне сетевой папки (шары) серверу RDSH01$ предоставлены права Full Control.

User Profile Disks в RDS Windows Server 2012 / 2016

При добавлении новых серверов RD Session Host в коллекцию RDS серверов, мастер автоматически изменит разрешения на каталог, предоставив доступ новым серверам. Это очень удобно, т.к. при масштабировании терминальной фермы не нужно каждый раз вспоминать о настройке разрешений на сетевую папку с профилями.

VHDX файл с UPD профилем пользователя

Перейдем в наш общий сетевой каталог с профилями пользователей. Теперь в нем хранится файл вида UVHD-template.vhdx.

User Profile Disks в RDS Windows Server 2012 / 2016

Этот файл представляет собой шаблон диска с профилем пользователя. При первом RDP входе пользователя на сервер RDS, этот шаблон копируется и переименовывается в vhdx файл, содержащий в имени SID пользователя.

User Profile Disks в RDS Windows Server 2012 / 2016

Совет. Теперь, чтобы сопоставить имя файла UPD с именем пользователя, приходится пользоваться отдельным скриптом. Например, ShowUPDFolderDetails.ps1 или можно преобразовать SID в имя учетной записи с помощью командлета Get-ADUser:

Get-ADUser -Identity S-1-5-21-305647651-3952524288-2944781117-23711116

User Profile Disks в RDS Windows Server 2012 / 2016

Посмотрим, что представляет собой диск с профилем пользователя. Для этого смонтируем его, щелкнув по vhdx файлу ПКМ и выбрав пункт Mount. Диск UPD можно использовать только в одной сессии на одном RDS хосте (монопольный доступ). Вы не сможете смонтировать UPD VHDX диск, если в настоящий момент его использует пользователь на RDS сервере).

User Profile Disks в RDS Windows Server 2012 / 2016

Как вы видите, содержимое vhdx диска представляет набор каталогов и файлов обычного профиля пользователя. При входе в систему пользователь получает абсолютно прозрачный доступ к данным, хранящимся в его профиле.

User Profile Disks в RDS Windows Server 2012 / 2016

На стороне сервера RD Session Host .vhdx файл пользователя монтируется в каталог C:users<username> и выглядит таким образом:

Читайте также:
Смена раскладки клавиатуры (языка) на экране входа в систему

User Profile Disks в RDS Windows Server 2012 / 2016

Обратите внимание, что UPD диск привязан к версии Windows RDS сервера. Вы не сможете перенести UPD профиль пользователя с RDS сервера с одной версии Windows Server на другую.

Запись данных в файл vhdx ведется в реальном времени. Т.е. при копировании данных в профиль пользователя на сервере RDS, размер vhdx файла на общем хранилище увеличивается сразу.

В том случае, если в системе уже присутствует каталог с профилем пользователя, каталог со старым профилем переименовывается в формат <username>-BACKUP-<number>.

User Profile Disks в RDS Windows Server 2012 / 2016

VHDX диск монтируется при старте сессии пользователя на VDI или RDS сервере. Список подключенных UPD дисков с профилями можно вывести с помощью утилиты mountvol.

По-умолчанию диск с пользовательским профилем содержит в себе все содержимое профиля пользователя. Однако, в настройках RDS коллекции можно исключить определенные папки из списка синхронизируемых каталогов, либо указать, что должны сохранятся только определённые папки. Таким образом все изменения, которые вносятся в терминальной сессии пользователя в список исключенных папок профиля, не сохраняются на vhdx диске в сетевом каталоге.

User Profile Disks в RDS Windows Server 2012 / 2016

Второй вариант позволяет настроить сохранение в UPD профиле только указанных каталогов.

User Profile Disks в RDS Windows Server 2012 / 2016

В случае необходимости, второй вариант позволяет реализовать сценарии сохранения настроек стартового экрана, хранящихся в файле appsfolder.itemdata-ms. В данном примере мы просто добавили путь к каталогу AppDataLocalMicrosoftWindows в качестве дополнительного пути, который нужно сохранять в UPD.

User Profile Disks в RDS Windows Server 2012 / 2016

Как расширить диск User Profile Disk с помощью PowerShell

Вы можете расширить виртуальный vhdx диск с UPD профилем конкретного пользователя с помощью PowerShell командлета Resize-VirtualDisk из модуля Hyper-V.

Net use U: \srv01DemoLabOficeApps
Resize-VHD -Path u:UVHD-<SID>.vhdx -SizeBytes 30GB
Net use U: /delete

Если вы используете командлет Resize-VHD с рабочей станцией под Windows 10, то в системе необходимо установить роль Hyper-V -> ПлатформаHyper-V -> Службы Hyper-V.

Теперь нужно расширить диск из графического интерфейса консоли Управления дисками (Disk Manager). Действие –> Подключить виртуальный жесткий диск -> Расширить том.

User Profile Disks в RDS Windows Server 2012 / 2016

Либо воспользуйтесь таким PoSh скриптом:
<#
.Synopsis
This script extend size of VHDX file and resize the disk partition to Max
#>
Param(
[Parameter(Mandatory=$true,ValueFromPipeline=$true)]
[alias(«Path»)]
[string]$vhdxFile,
[Parameter(Mandatory=$true,ValueFromPipeline=$true)]
[alias(«Size»)]
[int64]$vhdxNewSize
)
begin{
try {
Mount-VHD -Path $vhdxFile -ErrorAction Stop
}
catch {
Write-Error «File $vhdxFile is busy»
Break
}
$vhdx = Get-VHD -Path $vhdxFile
if ($vhdx.Size -ge $vhdxNewSize){
Write-Warning «File $vhdxFile already have this size!»
$vhdx | Dismount-VHD
Break
}
}
process{
Dismount-VHD -Path $vhdxFile
Resize-VHD -Path $vhdxFile -SizeBytes $vhdxNewSize
$vhdxxpart = Mount-VHD -Path $vhdxFile -NoDriveLetter -Passthru | Get-Disk | Get-Partition
$partsize = $vhdxxpart | Get-PartitionSupportedSize
$vhdxxpart | Resize-Partition -Size $partsize.SizeMax
}
end{
Dismount-VHD -Path $vhdxFile
}

Читайте также:
Ошибка LogiLDA.dll: причины появления, как исправить

Обратите внимание, что нельзя расширить UPD диск пользователя с активной RDS сессией.

Чтобы уменьшить размер файла UPD (при условии, что вы удалили данные пользователя внутри vhdx файла и размер файлов на диске меньше выделенного ему размера) можно воспользоваться командами:

resize-VHD \srv01DemoLabOficeAppsUVHD-<SID>.vhdx –ToMinimumSize

А затем:

Optimize-vhd -path \srv01DemoLabOficeAppsUVHD-<SID>.vhdx -mode full

Итак, мы рассмотрели основные особенности работы технологии User Profile Disks в RDS/VDI решениях на базе Windows Serer 2016 и 2012 R2. Настройка UPD намного проще чем процесс настройки перемещаемых профилей и перенаправляемых папок. Диски привязаны к коллекции RDS и не могут повредиться при попытке совместного использования профиля несколькими терминальными серверами (в отличии от обычных профилей). Диски профилей пользователей могут храниться на SMB шарах, CSV, SOFS, в SAN или на локальных дисках. Также Microsoft отмечает, что скорость загрузки рабочей среды пользователя в случае использования UPD уменьшается.

Если вы планируете использовать для хранения UPD профилей DFS сервера, то имейте в виду, что на них должна использоваться Windows Server 2012 R2. При использовании предыдущих версий Windows Server вы получите ошибку:

Unable to enable user disks on rVHDShare. Could not create template VHD.  Error Message: The network location «\winitpro.runamespaceUPD1» is not available.

Также на стороне файлового сервера желательно использовать версию SMB 3.02 (Windows Server 2012 R2) или выше.

В любом случае, т.к. технология User Profile Disks относительно свежая, рекомендуется перед крупными внедрениями UPD откатать их работу и возможные проблемы в тестовой среде.

Оцените статью
( Пока оценок нет )
Поделиться с друзьями
Информационный блог про Windows
Добавить комментарий