Like I said in the recent TechTalk on server virtualization for XenApp, because there were so many questions, i was going to post answers to them all in a blog.  And this is the blog. 

First, many of you wanted the addresses for the reference materials i identified in the webinar. Here they are: 

Q: Is all this done on a Citrix appliance or is it all software based and we provide the hardware?

A: Running XenServer is all software based.  You install XenServer, which takes roughly 10 minutes, on a physical server.  From there you can split up the physical server into any number of virtual servers.  A free version of XenServer Express and an evaluation version of XenServer Enterprise can be downloaded here:* *\\

Q: What is the best resource for researching the possibilities of XenApp?

A: With regards to virtualization and recommendations, I would suggest the following materials, which covers different types of configuration, practices, considerations, how to do it, and much more. 

Q: What about network utilization with regards to Provisioning Server?

A: Network utilization is important for Provisioning Server in that the operating system image is streamed down to the virtual server.  With a base Windows 2003 Server, the install size is roughly a few GB.  However, Provisioning Server does NOT stream that entire image to the virtual server.  Provisioning Server ONLY streams materials as needed.  In fact, booting a Windows 2003 Server only streams a fraction of the multi-GB actually used in the install.

Q: Is Network Storage iSCSI or Fiber connection?

A: When you virtualize the disk with Provisioning Server, you essentially do not have any storage assigned to the virtual server.  Yes, you read that right, you don’t assign storage to the virtual server because the image is streamed on-the-fly.  It is actually pretty wild to think about. Provisioning Server should be on an enterprise storage solution like a NAS or a SAN for high-availability and high speed of delivery to the virtual server. 

I know the first time I had discussions about Provisioning Server I was like, what do you mean there is no disk.  But it is true.  If you stream to the physical server, you can completely unplug the hard drives. In the virtual server world, you just don’t assign disks to the server. With this type of solution, you end up not having to worry about GBs and GBs of storage required for a virtualized XenApp solution.  In fact, I’ve seen customers use Provisioning Server to help them migrate to newer versions of XenApp.  Right now, let’s say you are running XenApp 4.5 installed on physical servers. When the next release of XenApp arrives, you create your image with Provisioning Server and stream the image to the servers (physical or virtual).  If you run into challenges with the new version of XenApp, your fallback procedure is to use the hard drives again, which still contains the XenApp 4.5 installation. Pretty cool if you ask me. 

Q: Would XenServer bundle with P2V tool for free? Or we have to buy PlateSpin P2V tool?

A: The P2V tool, when it is released, will be free. You won’t need to buy any third-party tools to do P2V conversions. 

Q: We have VMware ESX Enterprise already. Should we get XenServer for our XenApp farm? What are the advantages?

A: I’m not a Sales person so I don’t recommend products just because it is what we sell. So when talking about virtualizing XenApp, first understand that XenApp is a unique beast.  It doesn’t behave like other systems within the data center. It must support hundreds of users simultaneously.  This requires lots of memory, lots of context switching, lots of disk access. It is different than let’s say Exchange or SQL Server.  Before XenServer 4.1, I would have been hard pressed to recommend XenServer as a viable solution for XenApp. In fact, most virtualization solutions would not have dealt with XenApp effeciently.  But look what happens when XenSource became part of Citrix.  Our engineers (XenApp and XenServer) worked together to re-architect the hypervisor to perform remarkably better for XenApp virtual machines as compared to the 4.0 version of XenServe. That being said, XenServer is optimized for the XenApp workload.   Instead of making you perform some low-level funky “tweaks” the hypervisor, we just have you select the type of workload the virtual server is doing.  In this case, you select XenApp. This option changes how XenServer deals with memory to align better with XenApp requirements. 

Now, when you look at XenServer Platinum the picture becomes even better with Provisioning Server.  Without Provisioning Server you must still manage each virtual server as if it was a physical server. This is regardless if you are using XenServer, Hyper-V or even VMware.  Provisioning Server lets you focus on the role and not the server.  There are fewer roles in the data center than there are servers. Easier to manage and maintain, a huge savings if you ask me.  And you did   But I did only touch on a two areas.  Take a look at the documents (especially the reference architecture) I put at the beginning of this blog for additional information.

Q: what were your server specs for your example?

A: The scalability testing completed with XenServer and XenApp were done on a Dell PowerEdge 1950 (1 Quad-core 1.6GHz, 8GB-16GB RAM). 

Q: What about users that are logged into an app, and the server is rebooted

A: A physical server, virtual server or a server receiving the image from Provisioning Server, those users are disconnected and their sessions are gone.  Now if the physical XenServer fails, the virtual XenApp servers can be moved to another XenServer, a feature we call XenMotion.  In this circumstance, a user might see a slight pause in their session, all depends on the current situation. But the point is in this situation, the users session and data is intact.

Q: You mentioned doing P2V of Citrix servers throughout your presentation.  Are there any items to be aware of when doing this?  Any resources to help with this process?

A: Well, the first is an upcoming P2V tool that will let you convert a physical server to a virtual server for XenServer.  If you only use XenServer and not Provisioning Server, the only other item is to set the optimization setting for the virtual server to Optimized for XenApp.  This was discussed earlier in this blog.  If you are also going to stream the system with Provisioning Server, you will want to build the “golden image” how you want it to be for each server. You then must run the integration utility, which will take care of all the other configuration items.  If you want instructions on how to do the Provisioning Server aspect, take a look at the Implementation Guide identified at the beginning of this blog.

Q: Did you use Provisioning Server w/ the test load, or just straight XenApp on XenServer?

A: The scalability testing was just XenApp on XenServer.  I can bet your next question will be what impact on scalability with Provisioning Server have.  And might I say it is a great question if I do say so myself.  Unfortunately, I’m not aware of any scalability testing that shows the impact to single server scalability with Provisioning Server. 

Q: How is XenApp rated on VMware ESX vs. on Provisioning Server on XenServer?

A: Unfortunately, due to VMware’s end user license agreement, we are not able to publish scalability numbers for VMware ESX.  No one can except VMware.  We did tests against a number of virtualization vendors and found that XenServer allowed roughly 70% more users than others when running 64Bit XenApp.

Q: How large would a server image be with Provisioning Server?

A: The size of the Provisioning Server virtual disk, which I call a role, can be pretty much any size.  However, you don’t want to go wild with the image size.  If you create a 10GB image and a 100GB image, the 100GB image will take a lot longer to build and optimize, plus it will waste space and we are all trying to conserver power, space, cooling, etc.

Q: What is the best client to use – PN, PNA or WI?

A: You tell me   It really depends on what you need.  Most administrators prefer PN as it allows them to make connections as they need to support the environment.  Users prefer PNA or WI.  PNA is great in that you don’t have to go to a web page to get to your applications, so it is faster from a user perspective, but WI allows you to integrate the published resources in other pages like SharePoint. I personally use Web Interface and my favorite color is green.

Q: How can one discern how much RAM/CPU is being used on a daily basis?  Does Access Suite Console give that info?  (Am on PS 4.0 and use VMWare)

A: Within the XenApp Access Management Console, you can generate reports for your XenApp servers to give you all kinds of information about the overall utilization of the servers. The reports are in the Report Center. Also, you can use Resource Manager or EdgeSight to get even more detailed information.

Q: Is there a release date for the P2V tool?

A: All I can tell you is the beta is expected soon.  I would log onto MyCitrix and see if you can see it in the download section. Also, Roger Klorese has been blogging about the next version of XenServer (Project Orlando). I recommend taking a look at his blogs.

Q: Is there a guideline for application roles that are not suited for XenServer virtualization?

A: Hmmm, I’m trying to see if I can think of an application that is not suited for XenServer, but I’m having trouble.  Before XenServer 4.1, I would have probably said XenApp due to the overhead, but now that the overhead has been drastically reduced, I can’t say that anymore. 

Q: What file system do you recommend for the storage partitions on a NAS or SAN?  (I think VMware has a proprietary clustered file system, Novell uses OCFSv2).

A: This is what I love about XenServer and Citrix.  You can use anything you want.  NAS, SAN, NFS, iSCSI.  If you already use something like NetApp, use it.  If you use a SAN solution, use it for XenServer. 

Q: Nice to see how memory issues can be addressed with virtualization. What about CPU, network, and disk I/O being the bottleneck?

A: Excellent question. 

  • CPU:  Not sure what issues are around CPU in the XenApp world except for CPU underutilization because of memory bottlenecks and memory limits.  Virtualizing lets you completely use what you paid for. 
  • Network: The networking aspect is interesting.  Because the physical server is now hosting multiple virtual servers, you want to make sure you have adequate bandwidth going into and out of the physical server. The network component is critical to XenApp, but the data transferred is fairly minimal due to the use of ICA.  Now on the backend, the XenApp applications require data from their source. And if Provisioning Server is being used to stream the operating system, more network bandwidth is required.  But these should still be within the limits of the current standard server hardware of 1GB NICs.  However, I would still recommend mulitple NICs to a single XenServer. You don’t want a Homer Simpson tripping over a network cable and dropping all users from a XenServer.
  • Disk I/O: In a enterprise design, I would recommend you use some type of fast storage like a NAS (regardless if you use Provisioning Server or just plain XenServer).  These devices are specialized hardware optimized for file sharing.  I have had customers tell me that their XenApp environments actually run faster because of XenServer and the integrated NAS/SAN.  

Q: is the benefit presented on this slide in the fact that Disaster recovery is improved by virtualizing?

A: Disaster recovery is improved. With XenServer you can move a running virtual server to another XenServer. Provisioning Server also helps in the DR scenario as you can quickly re-provision systems to take on a new workload with a simple reboot. 

Q: You don’t have to have 32-bit apps to run on 64-bit OS.  That’s where you get your scalability on XenApp

A: True, you can continue to run your 32bit apps on a 32bit OS like Windows 2003.  The problem is that you have a memory limit with 32bit OS.  In more cases than not, you will max your RAM before you get close to maximizing your CPU. 

Q: We have XenApp 4.5 running on a dev/test environment in VMware. Session connection times seem to be slow for an app to open up. What kind of things should I be looking at to find the source of the problem outside of adding hardware to the VM. thanks!

A: Well, first I would say try using XenServer  (I know, I had to say it)    But seriously, take a look at the storage situation with your VMware implementation. What performance numbers are you getting from the I/O system in your setup?  With XenServer, we recommend you use either a NAS or SAN type solution which provides the fastest possible disk performance.  The faster your disks run, the faster apps load because they are coming from disk.

Q: What technology are you using to determine user count?

A:  We are just performing scalability tests with tools like EdgeSight for Load Testing and then to get the metrics, we utilize perfmon counters and log files to analyze the results and make comparisons.

Q: I’m a bit new to XenApp but your numbers for concurrent users seemed very high. If your Visio app is using 1Gb of RAM just for you, doesn’t’ that mean that a max of 15 people could use Visio on a XenApp server?

A: In that example, yes.  However, it all depends on the apps.  For example, the scalability numbers I presented for roughly 300 concurrent users on a physical server were working with Excel only.  This was used to determine overhead. Your concurrency numbers will vary based on workloads. The scalability numbers are meant to give you an idea of the XenServer overhead.

Q: Another point is disk utilization… we are often disk bound

A: Yes, disks can be a problem. Sure you can implement array controllers, use 15K RPM drives, but you are still relying on the local system to manage the file system. When you integrate with a SAN or a NAS type solution, those devices are optimized for file hosting.  Optimization=Speed

Q: I have already heard that you can not clone XenApp servers… where can I learn more about this?

A: Read the Reference Architecture document identified at the beginning of this rather long blog. It talks about the Provisioning Server Integration Utility for XenApp.

Q: How do you get 200 users in 4GB of RAM?

A: By running Excel only.  This workload is used to show the overhead impact between 64bit physical, virtual and 32bit.  You workloads and your concurrency numbers will be different. This is to give you an idea of the expected overhead.  I’ve actually seen other people get their XenApp servers into the upper 100s by using bigger applications than Excel. It all depends on the apps and users. That is the main problem with scalability tests, they only reflect a single type of workload and do not represent your environment. They are only meant to give you an idea of what the overhead is and comparisions against other products.

Q: Any tool like ESX Ranger becoming available?

A: ESX Ranger has many different features.  I know you would be able to use something like Workflow Studio to help manage the environment from user-based, event-based or schedule-based triggers.  As this product is still in beta, it is hard to tell what functionality and integrated components will be available at release.

Q: Isn’t XenServer only supported on 64-bit platforms?  How then would we virtualize a 32-bit Server with your scenarios?

A: XenServer is a 64bit hypervisor, but it can virtualize 32 and 64bit systems. 

Q: Did you reference a 32bit version of XenServer?

A: XenServer only exists as 64bit.  There is no 32bit code in the XenServer.

Q: What about PAE on 32-bit systems?  This allows more than 4gb of ram to be addressed. 

A: I wondered if someone was going to ask about that.  Congratulations.  You can use more than 4GB of RAM on a 32bit system, but there are a lot of things you must be aware of.  Instead of making this blog even longer, I created another entry that discuss the PAE setting, which can be found here:

Q: Why would you keep a backup data store if you can just motion it instead?

A: In the event the live data store is corrupted and is unrecoverable. If it is, I hope you have a backup. 

Q: What are your thoughts on virtualizing Provisioning Server?

A: The great answer, it depends.  Virtualizing Provisioning Server will induce latency into the stream as it must go through a virtual network and then onto the physical network to the device.  However, being able to hot-move the Provisioning Server to another server and easily add capacity makes virtualizing a very sound solution.  I haven’t seen any numbers yet as to what virtualizing Provisioning Server would do to the scalability.

Q: Running published desktops. Can I virtualize these?

A: Published desktops on XenApp, yes you can.  If you are talking about XenDesktop, desktop virtualization, VDI, whatever else they call it these days, you can as well. In fact, Citrix XenDesktop is also based on the XenServer hypervisor.



Homer Simpson Quote of the Blog “If you really want something in this life, you have to work for it. Now quiet, they’re about to annouce the lottery numbers!”