The Nutanix Acropolis Hypervisor (AHV) became Citrix Ready last year which means the hypervisor is fully supported by Citrix. With the release of Nutanix Acropolis and Prism 4.6 the setup got even easier than before. In this post I’m going to show you how to use Nutanix and Citrix in 3 simple steps.
Nutanix and Citrix – Phase 1
Independent of which hypervisor you use to host your Citrix environment, the Master Image build process is the same. The only difference is the VM tools.
You should ALWAYS strive to use automation, leveraging MDT, SCCM, RES or whatever preferred OSD solution. My Automation Framework which is an exclusive feature of my xenapptraining.com course has a customization built on top of MDT.
This makes it extremely easy to deploy new environments and assure that the Master Image is consistent across all platforms. All required software are installed and it even optimize & seal the image correctly using the Base Image Script Framework.
Nutanix and Citrix – Phase 2
After you’ve installed manually or automatically the OS and all the required software + the new Nutanix Guest Tools (NGT) it’s time to prepare the image with Sysprep.
Nutanix 4.6 has a new feature where you can upload the Sysprep xml file during cloning. I didn’t have much success with that, but it really doesn’t matter because that feature requires you to run Sysprep prior anyway.
I guess that option is more for VM templates (Image Service), which is like rotten tomatoes and should be avoided at all costs. Automation to the People!
Customize and copy the following XML file to the root of the system drive.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
<?xml version="1.0" encoding="utf-8"?> <unattend xmlns="urn:schemas-microsoft-com:unattend"> <settings pass="oobeSystem"> <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <UserAccounts> <AdministratorPassword> <Value>P@ssw0rd</Value> <PlainText>true</PlainText> </AdministratorPassword> </UserAccounts> <OOBE> <HideEULAPage>true</HideEULAPage> <ProtectYourPC>3</ProtectYourPC> <SkipUserOOBE>true</SkipUserOOBE> </OOBE> </component> <component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <InputLocale>0414:00000414</InputLocale> <SystemLocale>en-US</SystemLocale> <UILanguage>nb-NO</UILanguage> <UserLocale>nb-NO</UserLocale> </component> </settings> <settings pass="specialize"> <component name="Microsoft-Windows-UnattendedJoin" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Identification> <Credentials> <Domain>xenapptraining</Domain> <Password>P@ssw0rd</Password> <Username>JoinAccount</Username> </Credentials> <JoinDomain>xenapptraining.com</JoinDomain> <MachineObjectOU>OU=WS12,OU=FMA,OU=Citrix,OU=vDesktops,OU=Deployment,DC=xenapptraining,DC=com</MachineObjectOU> <UnsecureJoin>false</UnsecureJoin> </Identification> </component> <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <ComputerName>*</ComputerName> <RegisteredOrganization>xenappblog</RegisteredOrganization> <RegisteredOwner>xenappblog</RegisteredOwner> <TimeZone>W. Europe Standard Time</TimeZone> </component> <component name="Microsoft-Windows-DNS-Client" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Interfaces> <Interface wcm:action="add"> <DNSServerSearchOrder> <IpAddress wcm:action="add" wcm:keyValue="1">192.168.1.10</IpAddress> </DNSServerSearchOrder> <Identifier>Ethernet</Identifier> <DisableDynamicUpdate>false</DisableDynamicUpdate> </Interface> </Interfaces> </component> </settings> </unattend> |
Then run the following Sysprep command:
1 |
c:\windows\System32\sysprep\sysprep.exe /generalize /oobe /shutdown /unattend:c:\ahv.xml |
Nutanix and Citrix – Phase 3
Now that your Master Image has been prepared with Sysprep it’s time to clone some machines.
Select your Master Image and click Clone.
Specify the number of clones and the starting index number. I would really like to see the possibility to use 01/001 etc instead of only 1 in the next release.
After the cloning process is finished simply start the VM’s and they’ll automatically be joined to your domain and moved to the specified Organization Unit. If you would like to change the computer names you’ll need to do that manually or create a PowerShell script to do it automatically.
Even though Nutanix is supported, there’s currently no MCS integration for Acropolis so you’ll need to add the machines manually to your Delivery Group in Citrix Studio.
And that’s it!. As you’ve learned above, using Nutanix and Citrix together is really easy.
In my next post I’m going to show you how you can use the new Nutanix Acropolis File Server to host home drives and Citrix Profile Management profiles.
Do you know of a way to clear duplicate or orphanded sid/computer names from a nutanix node or cluster?
Nope, sorry, try the Nutanix forum.