Určitě jsme také nasazovali svou farmu terminálových serverů na platformě Windows Server 2012 nebo 2012 R2. V rámci této farmy máte jako jednu z možností nastavit tzv. User Profile Disky, které bych interpretoval jako novější a efektivnější Roaming Profile. Hlavní výhodou je, že při použití User Profile Disků se nepoužívá kopírování profilů, ale vytvoří se disk ve formátu VHDX na centrálním file serveru a pouze se připojí (namountuje) uživateli do profilu.
- Nevýhodou je, že daný disk může být připojený jen jednou na jednom serveru. Na ostatních serverech se použije tzv. Temporary profile a uživatel nemá svá data. V některém dalším článku vám ukáži jak se dá udělat ruční dismount v případě, že to neudělá operační systém sám. Což se stává velice často a to zejména na Windows Server 2012.
Je zajímavé, že když se podíváte na centrální souborový server, tak vidíte jen identifikátor těchto disků. Co když potřebujete rychle vědět čí je jaký disk na terminálovém serveru?
Existuje možnost jak najít všechny uživatelská jména k daným VHDX diskům. Můžete se přihlásit na managementový server, kde máte nainstalován modul pro Active Directory Powershell, namapovat si disk jako net share do nějakého písmena disku (Drive Letter) a použít následující powershell:
[gistpen id=“109″]
Výstup:
Další problém, na který jsem narazil nastává, když si na User Profile Disk nastavíte nějakou hodnotu a po čase zjistíte, že je tato hodnota nízká a potřebujete všechny disky rozšířit. Ne globálně, ale ad-hoc per uživatel popřípadě per skupina uživatelů. Nastavení nelze změnit, jakmile jej jednou nastavíte, alespoň ne jednoduše.
Základní prací s VHDX disky je připojení daného disku nalezením na souborovém serveru pomocí SIDu Active Directory, tento disk však umožňuje pouze jeden souběžný přístup a tak je nutné zajistit, aby uživatel ve chvíli modifikace nebyl přihlášen na žádném ze serverů Terminálové farmy
Jedinou možností, na kterou jsem přišel je použít Powershell a aplikaci třetí strany, která se jmenuje
- Makevhd.exe
- Resizevhd.exe
Zdroj: http://code.kliu.org/misc/vhdutils/
A pak je možno použít tento scénář pro rozšíření disku:
- Musím zkopírovat do složky D:\Scripts\vhd_utils\resizevhd.exe
- Připojím adresář s User Profile Disky do disku
- Naleznu disk, který má název uživatelského SIDu
- Znám uživatelské jméno
- přejdu do Active Directory management Console
- Vyhledám účet uživatele
- Přejdu do jeho vlastní na záložku Attribute Editor
- Vyhledám položku objectSID
- Znám jméno disku a potřebuji zjistit jméno
- Zvolím Vlastnosti souboru
- Přejdu na záložku Details
- Vyhledám položku Shared with, kde je na prvním místě Jméno
- nebo zjistím pomocí předchozího skriptu
- Znám uživatelské jméno
- Zajistím, aby nebyl uživatel přihlášen na žádném terminálovém serveru
- Spustím powershell jako administrator
- Přejdu do cesty D:\Scripts\
- Napíšu notepad.exe .\Extend_vhdx_profile.ps1
- Upravím název souboru, který je nutno rozšířit
- Upravím velikost pro „resize“ vzorcem počet GB * 1024 * 1024 * 1024
- Upravím velikost vzorcem Počet GB * 1024 – 3
- Uložím a spustím skript
Powershell s názvem Extend_vhdx_profile.ps1
- Musím zkopírovat do složky D:\Scripts\vhd_utils\resizevhd.exe
- Připojím adresář s User Profile Disky do disku
[gistpen id=“111″]
Přepočtová tabulka velikostí
Požadovaná velikost (GB) | Resize Volume | Resize Partition |
5 | 5368709120 | 5117 |
6 | 6442450944 | 6141 |
7 | 7516192768 | 7165 |
8 | 8589934592 | 8189 |
9 | 9663676416 | 9213 |
10 | 10737418240 | 10237 |
11 | 11811160064 | 11261 |
12 | 12884901888 | 12285 |
13 | 13958643712 | 13309 |
14 | 15032385536 | 14333 |
15 | 16106127360 | 15357 |
16 | 17179869184 | 16381 |
17 | 18253611008 | 17405 |
18 | 19327352832 | 18429 |
19 | 20401094656 | 19453 |
20 | 21474836480 | 20477 |
21 | 22548578304 | 21501 |
22 | 23622320128 | 22525 |
23 | 24696061952 | 23549 |
24 | 25769803776 | 24573 |
25 | 26843545600 | 25597 |
26 | 27917287424 | 26621 |
27 | 28991029248 | 27645 |
28 | 30064771072 | 28669 |
29 | 31138512896 | 29693 |
30 | 32212254720 | 30717 |