Expand virtual machines hard disk – automation 7 Comments

Sometimes, at some customers's place, with an infrastructure already in place (XenApp with PVS or XenDesktop VDI pooled with PVS) the D: drive is too small. The drive where you redirect Windows Event Logs, Logs (UPM for example and/or other applications - services) This is a drive where page file is often redirected as well and even memory dump file generated. PVS cache can also be on this drive : Cache on device RAM with overflow on Hard Disk When RAM is zero, the target device write cache is only written to the local disk. When RAM is not zero, the target device write cache is written to RAM first. When RAM is full, the least recently used block of data is written to the local Write Cache disk to accommodate newer data on RAM. The amount of RAM specified is the non-paged kernel memory that the target device consumes. Cache on device Hard Disk The cache on local HD is stored in a file on a secondary local hard drive of the device. It gets created as an invisible file in the root folder of the secondary local HD. The cache file size grows, as needed, but never gets larger than the original vDisk, and often not larger than the free space on the original vDisk. It is slower than RAM cache, but faster than Server cache and works in a HA environment. The lack of space on this drive will bring some slowness in user's session and this drive needs to be expanded a bit to get back a normal user experience. To expand these disks two actions need to be done : Expand the Virtual Machine hard disk - in this example vmware Virtual Machines Expand the disk within the Operation System (Windows) In addition to the following script, psexec tool (Microsoft Sysinternal) is used to execute remotely the diskpart command listed in a text file (diskpart.txt) which is upload to the Virtual Machines. Targeted Virtual Machines need to be powered on. Psexec.exe and Diskpart.txt needs to be in the same folder as the Powershell script, of course you can specify their path as it suits your need.   This script is using XenDesktop / XenApp command to list all the Virtual Machines with SessionSupport value equal to SingleSession, it means the VDI only in my case. If you want to check the lust of Virtual Machines…

Load Balancing TFTP with Netscaler 10.5 30 Comments

Implementing Citrix Provisioning Services (PVS) is very common nowaday when it's about deploying Shared Desktops (XenApp) or Pooled, Private or Personal Desktops (XenDesktop). If there are still some debate around about using TFTP+PXE vs using BDM (Boot Device Manager) I still observe a large number of deployment made using TFTP+PXE rather than BDM. Both of these two solution have Pro and Cons (Check Wilco's website here) and this is an architectural choice you need to plan ahead the project. Using TFTP and PXE bring several spof along the line and need to be consider and design as the most resilient as the high availability require. TFTP is not redundant by design, using the DHCP 66 options (Boot Server Host Name) allow the use of only one IP address. and there is no redundance behind that. With Citrix Netscaler, Citrix gave us the ability to bring high availability to this spof and address this issue. With Netscaler previous version (prior 10.x) that wasn't that easy to setup and the understanding of Netscaler feature like Layer 2 Mode, DSR etc... And if you didn't understand exactly everything what you were doing, all the PVS traffic was going through the Netscaler and believe me, that was really pain in the ass... I saw that kind of mistake a number of time... With Netscaler 10.1 then 10.5 things are a lot more easy... So I just jump on the occasion I had at one customer's place to load balance 4 Citrix PVS servers (TFTP + PVS) to deliver this simple and fast how to. Information you need to gather : IP Adresses and name of all PVS servers (with TFTP) One IP Adress for the Virtual Server (VIP) One or more Netscaler 10.5 (I made this configuration with 10.5.51.10.nc) Here is a basic architecture overview of component we are impacting : Netscaler #1 and #2 : This is were the configuration will take place PVS Servers #1, #2, #3 and #4 : All the PVS / PXE / TFTP servers we will use in this example DHCP Servers #1 and #2 : This is where we will configure the 66 option by using the Load Balanced IP Address (VIP) VMs : All these Virtual Machines will use PXE to boot get the Load Balanced TFTP address to launch the ARDBP32.bin file.   Let's got for the Netscaler configuration, first you need to login, if you're using a multi Netscaler architecture you…

Citrix PVS vs MCS – Despectus 21 Comments

I know this subject has been cover thousand times here and there but this is an eternal discussion we have whatever the forum or the meeting going on when we speak about Citrix. To remind people not familiar with MCS or PVS here are the main differences : MCS : Machine Creation Service PVS : Provisioning Services All the blogs, articles, white papers are very good and very technical with a lot of details but lake too often of "real life" example. Of course this is important to know  detailed performance measuring iOPs in read and write, cache mode, disk and storage type etc. but what most of the time everyone is missing is a crucial component : complexity and ability of the technical team to handle PVS and/or MCS. At many of my customers place we've implemented PVS architecture on multi-site with DFS-R and SAN / NAS etc to provision XenApp 6.5 farm lightning fast and this is every time a success when everything is setup correctly and when everything works as expected. BUT the complexity we leave behind at the customer's place leave me a though that in 70% of the case, they will call us back to fix an issue they created while trying to handle PVS and surrounding component. 20% won't call us but nothing will change, event the XenApp servers will remain in the same state as when we left. Of course writing documentation and how to for everything won't solve this issue because managing XenApp servers provisioned with PVS is complex and needs good organisation and an understanding of the product. PVS is in version 7.1 (April 2014) and haven't evolve that much during last couple of years, some say PVS will disappear with time to let MCS take over, but I honestly don't know what are the plan for Citrix about PVS. But as PVS is an awesome technology, I think Citrix will bring more and more feature to MCS and keeping the simplicity while adding feature will be an interesting chalenge. To keep this topic short (that never happen when we speak about this during CTP meetings or forums :) ) I would say for large enterprise I would continue to use PVS on the current and new deployment but put in my customer's mind the overhead of complexity could cost more than intelligent storage solution (software, hardware) and introduce few desktops (XenDesktop…

Trend ServerProtect 5.80, XenApp 6.5 / PVS 3 Comments

AntiVirus software are always pain in the ass when it's about delivering desktops through golden images system like Citrix Provisioning Services. It's changing but still, in most of the company I'm working for there is always the AntiVirus dude who is yelling and requesting to be able to watch / watch and be able to know where the Antivirus software is deployed, if it's up to date and if all the machine are ok. Last blog I did about an antivirus was about Symantec SEP 11 (here) and Symantec did their job by understanding what was a virtual environment about with the version 12. With TrendMicro and ServerProtect, we're not there yet... Even if their product Office Scan seems to fit better the needs, today I had to deal with Trend Micro ServerProtect installed on the PVS golden images. The problem remain the same, a Trend GUID is created when installing the piece of software on the golden image but won't change across multi machine usage. The Trend GUID is located in the registry : HKEY_LOCAL_MACHINE\SOFTWARE\TrendMicro\ServerProtect\CurrentVersion\SpntService\NS_GUID with a 75 long character chain. What I had to do : Create a 75 random character string Replace the registry value create a flag so the value won't change at each reboot So I did with my crappy PowerShell skills a very small script (and thanks to Livio @EldejiPoint for the cleanup ^^ ) So this script will be executed as a startup script for the computer (using GPOs) and by creating a trend.txt file on the fixed drive (d:\) the generated Trend GUID won't change upon the file is removed. I hope it will help !

Citrix XenDesktop 7 – Create Persistent Hypervisor Connection and Hosting Unit, Unattended 13 Comments

I blogged about how to automate Citrix XenDesktop 7 deployment and database creation, and how to join and existing XenDesktop 7 site unattended, but now to continue and go a bit further in the automation process, I needed and wanted to know how to automate Hosting Configuration by Adding Connection and Resources to the DDC in an unattended way. This blog will cover creation process for XenServer 6.x and vCenter (vSphere) 5.1 since I don't have access to a Hyper-V (yet), I went over Citrix eDoc to check how I could do this and I found here : [link] Thanks to Livio for some PowerShell help :) It helps to understand whet need to be setup and after few tests I ended up writing this script to automate this part :   This script have been tested with Citrix XenDesktop7 and XenServer 6.2 and vSphere 5.1

Citrix XenDesktop 7 – Installation 14 Comments

XenDesktop 7 is now available with different features and entitlements (link) and yes there is a lot to read on this webpage but most of everything is already known features. So I will just write now what I read between the line : No more Citrix Streaming Application (RIP) in favor of Microsoft APP-V XenServer is now version 6.2 and Open Source ! http://www.xenserver.org/ Seamless Local Apps is now official and build-in. PVS is version 7 now and MCS continue its evolution. (I'll come back later on a blog post about that) Edgesight is included in XenDesktop 7 (Another blog post subject) Storefront is now version 2 Receiver for Windows is v4 Windows 8 and Windows 2012 supported Many other changes I need to cover later on Several editions are available today : Now this is time to show you how the installation process, pretty straight forward as I already mention and this is for those who are curious about this new version and don't have tie to POC it or try it right away.   To download Citrix XenDesktop 7, this is the way -> [link] XenDesktop 7 Edocs : [link] XenDesktop 7 Admin Guide : [link] XenDesktop 7 Upgrade Guide : [link] XenDesktop 7 Install Guide : [link]

Citrix Excalibur Tech Preview 6 Comments

As many of you might know Citrix are kind of melting all there product in one, a Cloud product. The project name is Avalon, with two releases until next year named Excalibur (what we will speak about in this blog post) and Merlin coming later next year. First, I spoke with many customers and other partner, and Citrix one more time did confuse everyone with all those names... Avalon, Excalibur, Merlin, Thor etc etc Almost 90% of the people I spoke with though Avalon, Excalibur and Merlin are three different products. Maybe I'm wrong but as far s I can see thing, Avalon is the code name for the final project then Excalibur and Merlin are just timeline version release until the final release and then a final product name. I must admit this one is a bit confusing everyone... This is like Citrix wants to show the big picture but just give a tiny pieces of the puzzle. Citrix Avalon Excalibur Tech Preview is available for download here : [link] Project Avalon Excalibur Technology Preview is our next-generation, unified desktop and app virtualization technology that is reinventing the delivery of Windows apps and desktops for mobility in the cloud-era.  The availability of this tech preview will allow Citrix customers and partners to have a first-hand look at a new unified FlexCast infrastructure combining VDI and Hosted Shared desktops and apps from a single platform. New features include: Simplified, unified, and expanded FlexCast 2.0 architecture New unified FlexCast 2.0 architecture combines simplified and integrated provisioning and personalization tools for both desktops and apps, delivered from either a desktop-based or server-based operating system. Windows Server 2012 and Windows 8 Host Windows 8 VDI desktops or VM hosted applications in addition to Windows Server 2012 server-based desktops and applications. This tech preview also supports Windows 2008R2/SP1 and Windows 7. SuperCodec for Optimized Graphics New enhancements to HDX using Deep Compression Codec technology double the visual performance of desktops and apps to mobile devices dynamically adapting for device type, form factor and network connection while still leveraging the processing power of modern tablets and smartphones Storefront for apps & data Create centralized enterprise app stores to deliver desktops, applications, and other resources to users on any device, anywhere with the Citrix StoreFront. Intelligent configuration tools New intelligent configuration tools for deploying desktops and apps that proactively check configuration errors in real time while streamlining the…

I updated last week my lab at home : XenServer 6.0 to XenServer 6.0.2 Provisioning Services 6.0 to Provisioning Services 6.1 and XenDesktop 5.5 to XenDesktop 5.6 Everything went well for XenDesktop, update was smooth and VDA update was successful and simple as well. I did the setup of Personal vDisk successfully and it worked without doing anything specific. Then I wanted to built a new Windows 7 golden image to take a fresh start and install the less application possible, this is when I began to have an issue with Personal vDisk : Startup failed Personal vDisk failed to start because the snapshot inventory has not been updated. Update the inventory then try again. Status code: 15 Error code: 0x0 Alright, I had a freshWindows 7 VM updated to the last Microsoft patches with Acrobat Reader installed, PVS Target Device, Citrix Profile Management, EdgeSight and XenTools... Every time I was creating a new vDisk using Imaging Wizard, the operation was successful but all the VMs I tried to launch after had this issue... I got the log files to try to understand what was wrong by clicking on the collect logs button : I got a zip file containing PvDSvc.log.txt, PvDWMI.log.txt and SysVol-lvmSupervisor.log, I will just past an excerpt here : Clearly with the SysVol-lvmSupervisor.log file, something was wrong... It took me some time to figure out what could be wrong. I just noticed every time I wanted to use Imaging Wizard, when the VM needed to reboot to load the vDisk and boot, before restarting the Personal vDisk inventory manager was launch and requested to be updated... So I did the update but at every reboot the same pop-up came again and again... I went to read the "manual" : To update master images that use personal vDisks You enable the personal vDisk feature for use with a master image when you install the Virtual Desktop Agent. During the installation procedure and after any update to the image after installation, it is important that the disk's inventory is refreshed and a new snapshot is created. This procedure describes the required steps. Because administrators, not users, manage master images, if you install an application that places binary files in the administrator's user profile, the application is not available to users of shared virtual desktops (including those based on pooled catalogs and pooled with personal vDisk catalogs). Users must install…