This is something I wanted to write about for some time now, after the release of XenDesktop 7 but there are only 24 hours in one day so therefore I didn’t have the time before now
But the purpose of this post is to really say that Storefront is slow…..
Don’t get me wrong it not about Citrix but the combination of Storefront and IIS that makes it a bit complex and therefore this makes it a bit slow.
Now there are a couple of tricks that can tune the perfomance.
In Web Interface you could enable it from the console, but in StoreFront we have to change it in the store config. By enabling socket pooling, Storefront maintaines a pool of sockets instead of creating a socket each time a new user connects, this will give a better performance for SSL based traffic.
You can enable this by opening the web.config file under C:\inetpub\wwwroot\Citrix\storename\
And Change this to “on” after that you have to do an IIS reset.
(NOTE: Make sure you backup the config files before making alterations)
With Windows Server 2012 we have a new feature in IIS called always running on the application pools, this allowed for IIS to make everything ready after an application pool has restarted, before this the previous IIS was set to start loading after the first user tried to login after a restart. This caused the first user to login after an application pool has restarted to take loooong time to login. With Server 2012 IIS we can change the application pool to always running.
With 2008 R2 not so easy. But we can make it happen
First we need to download the application initialization feature from Microsoft
After that is done and installed do a restart on the storefront server.
Then we have to make som changes to the config. First we need to change the application pool to always running (we cannot do this via the gui in 2008 R2)
Open the C:\Windows\System32\inetsrv\config\applicationHost.config on the storefront server. Locate the following setting /configuration/system.applicationHost/applicationPools
Then we have to add the always running paramter on each application pool for instance the authentication pane we need to add the startMode=”AlwaysRunning” on each ofthem.
<add name=»Citrix Delivery Services Authentication»
And you might have the following application pools in the config that needs to have this paramter.
- Citrix Delivery Services Authentication
- Citrix Delivery Services Resources
- Citrix Receiver for Web
- Citrix Delivery Services
Now after we have done that in the same document we have to change under the /configuration/system.applicationHost/sites we need to add the preloadEnabled=”true” paramter. So for instance for the authentication application
applicationPool=»Citrix Delivery Services Authentication»
This paramter needs to be added for all the Citrix Applications (Depending for instance if AG is setup)
After this is done save the config, do an IISreset and test the login to make sure that is it operational and that you don’t get any errors (check also under the web server event log)
Next we need to make changes to the following config files
Under the section /configuration/system.webServer we need to add
<add initializationPage=»/endpoints/v1″ />
On each of the following config files.
After this is done we need to change the Store config file which is located under C:\inetpub\wwwroot\Citrix\<StoreName>Web\web.config
Under the same section as those above we need to add the following parameters.
<add initializationPage=»/Home/Index» />
After that is done save the config, and do an IIS reset.
Now if you are having trouble with Storefront, it generates its own events in Event Viewer under Citrix Delivery Services.
Also it is important to note that if you are having to much issues with a slow StoreFront you should go with 2012 since it is out-of-the box optimized ASP/IIS setup.
And it is also important to remember that Storefront should be on a dedicated server with atleast 2 GB of ram and 2 cores.
If you are having trouble with Storefront you can enable trace logging *This requires alot more CPU on the server”
Add-PSSnapin Citrix.DeliveryServices.Framework.Commands Set-DSTraceLevel -All -TraceLevel Verbose
To disable you just need to set –TraceLevel off.
All the information will ge placed in C:\Program Files\Citrix\Receiver StoreFront\admin\trace folder on the storefront server.
Wow this has been a huge day for both Microsoft and Citrix.
First of Microsoft announced today publically that they are making RemoteFX clients for all mobile platforms (Maybe part of the Mohoro DaaS?) Which means that Microsoft VDI and with Storage dedup might make MIcrosoft a better alternative and gain some lost grounds there, because this has been one of Citrix’s best features broad platform support. So about time Microsoft came aboard as well!
Anyhow… Citrix also made an announcent today that they will release XenDesktop 7.1 as of 23th of October, this release will support all of the new platforms that Microsoft will release the 18th great news! That means VDA on Windows 8.1 and Windows Server 2012 R2, and that XenDesktop can leverage all of the SMB features and SCVMM 2012 R2 with MCS.
(Still eager to see the PVS features here)
So that means you can upgrade your infrastructure first and then Citrix later
Hopefully this means that we can use XenDesktop 7.1 against New gen VMs, and hopefully 7.1 also includes provisioning against Azure it might be….
A New secret from Citrix
Citrix just recently released a new build of its Netscaler appliance and also included a provider to integrate with Virtual Machine Manager even thou it is very hidden from the naked eye.
Open up Netscaler GUI web-console and up in the right corner you have the downloads pane.
under here you will find the Management Pack for SCOM and the provider for VMM.
After you have installed in you need to restart the virtual machine manager service on the VMM Server, then it will appear under the Configuration Provider on SCVMM.
this means that we can create VIP templates against Citrix Netscaler
It has the same feature set as It did before. Was hoping for something new and exiting feature set but not yet.
A suberb day so far! earlier today I received information from the Education team from Citrix that I received my beta result from the XenDesktop 7 exams, and I passed them all!
Thats the 200, 300 and 400 exams!
Then later on today I just got a email from Microsoft which has honored me, by giving me an MVP title for Enterprise Client Management!
This is the first time I am reciving this title.
Now finally alot of hardwork has paid off! Im humble and looking forward to further working closely with Microsoft and its products.
Next inline is CTP
another part today is that Citrix released a new version of XenDesktop 7, which allows support for Windows Server 2012 R2 and Window 8.1
Which can be downloaded here –> https://www.citrix.com/downloads/xendesktop/betas-and-tech-previews/desktop-and-apps-tech-preview.html
As well they released the version of GPU-sharing Tech-preview for XenServer http://www.citrix.com/go/private/vgpu.html
Exiting times ahead!
With the release of XenDesktop 7 I was eager to see if there were any integrations with Configuration Manager, but no not yet….
Citrix also recently released an update to the Configuraiton Manager connector (Project thor) and there it was announced that Citrix is wokring on a new project called Loki, which is a connector between XenDesktop 7 and Configuration Manager!
Will this allow you to use the App-V capabilities from within Configuration Manager to XenDesktop instead of having a standalone App-V enviroment ?
Looking forward to it!
This is going to be a long one, and I want it done properly! Since I have seen multiple blogs containing the same recipe over and over again on how to setup networking within Virtual Machine Manager I have yet to see a blog post that actually describes and shows how it all links together, yeah everyone can create a network within VMM and describe how to do it but to show the “big picture” is something else.
So the things I am going to go trough.
1: Logical Networks
2: VM Networks
3: Port profiles and Port Classifications (Uplinks and how to attach VLANs to a host)
4: Logical Switch and NIC Teaming
5: The Big Picture how it is all linked together.
Lets start with the first things first, the Logical Network.
Logical Network is a container. When you create a logical Network you need to create Network Sites within it. Network Sites might be different locations or depending on the site of your company different networks.
For instance I can create a Logical Network called Sandbu, within it I have 3 sites, which will be for my different networks. Within these sites I need to attach all my VLANs which I need on my virtulization hosts.
Important to note that I do not attach a logical network to something, but I attach my network sites to a host group or multiple host group. I can also create an IP-pool from each VLAN I associate with each of the Network Sites. In my case I only needed an IP-pool for where my Virtual Machines are going to be placed, the rest will be using DHCP. The IP-pool is associated with a VLAN, so when I want to provision my VMs I can use from the IP-pool which the VMM maintains or I can use DHCP. The overview will look like this.
So what actually happens to the hyper-v hosts when I attach a network site to the host groups ? Not much actually, the hosts get the site “linked” to them, so when I go to Hardware of the host and look on the Network Adapters I can see that my newly created network site appears under.
This is because I linked the network site to the host group this host resides in.
What happens if I associate a logical network with the sites to this host ?
Not much, it limits the host to the use of these VLANs if I for instance wanted to create a network switch.
Ill leave it at that at the moment.
Now we have created a logical network, attached network sites added VLANs and created a IP-pool of adresses. Next we need to create VM Networks.
VM Network are virtual network which are networks useable for virtual machines or virtual nic who are part of a NIC team.
Since our network sites are VM traffic, Storage and management which will all go trough the a virtual NIC and trough a switch we need to create VM Networks for them.
After we have created the VM networks for each VLAN.
So in my case I need to create three networks, one for virtual machines, one for management and one for storage. Important to note that VM networks are associated with a VLAN within a network site. Here I can now create a vm network for my virtual machines from the network site I created earlier with an IP-pool.
Now since the VM networks are linked to the Logical Networks, and the Logical Networks are linked to the Host groups the hosts will have them as well. We can see this when we try to edit the network settings of a virtual machine on one of the hosts.
Now since I have three VM networks I can choose from each of them.
I have three VM networks to choose from in my case. I can also create a hardware profile which uses the VM network by default so I dont have to change network settings each time.
Now the next parts are port profiles and port classifications.
Port Classifications are just to describe a virtual port profile (even thou you can not link it directly, you can only link it when you create a logical switch)
So when we create a port classifications this is all we do
Note there are alot of predefined port classifications here as well.
Next is the port profiles.
There are two types of port profiles. One is an Uplink Port Profile (Which is actually a profile for how to setup NIC teaming) Here we select what kind of NIC teaming we want.
Uplink Port Profiles are also linked to a Network Site. If we want the three network sites trunked via the Uplink Port (NIC teaming) we need to add all sites.
And the other port profile is virtual network adapter port profile (Here we can define offload settings and what type of security settings and bandwitdth settings). Note that a virtual network adapter port profile is not linked to a network site or a logical network.
After we have created the uplink port profiles and the virtual network adapter port profiles we have to create a last magical component which is a Logical Switch.
A Logical Switch is just a template actually. Its based upon the extensible switch which comes with 2012 and includes the uplink port profile, and virtual port adapter profile and what extensions that is going to be included.
And there we link the port classification to the virtual network port profiles. So when we create the logical switch it bind (Different Port Profiles, Extensions) and adds the template to a switch.
And since the uplink port profile is linked to the host group we can now create a logical switch on a host group. So to be able to create a logical switch on a host we need to make sure that the logical network and network sites are assosiated with the host.
After we have created the logical switch we can then add virtual network adapters for the different services, then the virtual network adapter can be added to a VM network and added a port classification.
Note that these virtual network adapters are not the ones that can be created by using NIC teaming manager (These network adapters can only be created via powershell or via SCVMM)
So now when I check my virtual machines on this host I can move them to the newly created switch and choose Subnet.
So the big picture. (This took some time to create via Visio)
Done for to now, hopefully this post made sense for some!
Many might have noticed that little banner on the right side of my blog, well of right now I have my first official sponsor and of course it had to be veeam
I have had some offers before but Veeam is something I work with everyday and enjoy working with.
Veeam is an interesting product and I will when I have more time focus on more posts with Veeam in the middle.
So this is a discussion I often meet, and will come across more the next weeks and months ahead I belive
Many of the customers I work with are often a full blowen Citrix customer or more forwards Microsoft.
Many are facing the discussion mobility how do we embrace it ? (or from another point of view, how do we manage it ?) and they are doing some research and find often that XenMobile or Intune shows up. So whats the difference between the two ?
Citrix has a long time been the master of delivering workspaces to a user and to any type of device, and with the release of CloudGateway Enterprise they were entering towards delivering mobile based features (for instance allowing them to deliver mobile based applications to a user device trough Citrix client) and with the purchase of ZenPrise last year they went full in. Zenprise was a fullblown MDM solution and now they have integratet CloudGateway (Cloudgateway was the old product which included Storefront, Gateway and AppController) with ZenPrise which is now known as XenMobile Enterprise.
This fits well for Citrix’s image (any device anywhere) and now they can manage any device as well (as long as it is mobile). Also they have developed sandboxed based applications under the category Worx and they can also deploy any applications from the vendors different stores. These Worx applications use Micro-VPN functionality to connect to the infrastructure and are completely seperated from other apps inside the mobile client.
To break it down in components XenMobile (Enterprise) consists of
* Netscaler (Gateway)
* XenMobile MDM
Then on the other side you have Microsoft, which is coming from a client management standpoint, and they have been there for quite some time. With the latest release of Configuration Manager, Microsoft released a connection with Intune which allowed buisneses to manage mobile devices via Intune directly from Configuration Manager.
So all mobile devices needed to be setup to talk to Intune in order to be managed.
Configuration Manager has also expanding it support to include Linux / Mac / Thin Clients as well as mobile devices with Intune, so microsoft has operated in the management part for a long time.
Instead of aiminig for a on-premise solution Microsoft har put everything in their cloud. So whenever Microsoft deployes a new feature to Intune every customer of Intune gets it without needing to do anything.
They also have an integration to exchange to allow the IT-guys to control mobile devices trough Active Sync (this also includes Office 365)
There is a new intune release coming with a new release of Configuration Manager the 18th of October.
But can these two products compete?
Well… they have some of the same features which is device management, Citrix has more advanced features with XenMobile and with Worx and Micro-VPN etc. Microsoft has full support for Windows phone and Windows RT (And coming with iOS and Android with an company portal app pretty soon) and Intune might have what you need but nothing fancy.
What we need to remember is that Configuration Manager is a fullblown client management suite, with patching, deploying operating systems, applications, baselining, antivirus, with Intune it gets mobile device management capability. XenMobile is not in this category, it gives you mobile management, mobile application management, sandboxing applications, give any device application delivery trough Citrix Receiver.
So if you are a System Center customer with Configuration Manager and your IT-guys use ConfigMgr for management, adding Intune might be an easy way to go ahead, and by using Intune you leave the feature set to Microsoft, they need to continue development and will add more features as new release become available (So you will get the new releases for free since its a cloud based solution which you get buy a monthly basis). For other customers which needs advanced features such as selective wipe and the ability to seperate buisness and private data and more advanced security features and deep suppor for all vendors (Except Windows) XenMobile is for you. Zenprise was one of the market leading vendors before Citrix bought them up.
If you compare the cost (for Intune the cost pr user is 6$ pr month so for one year you have 72 USD. You also need Configuration Manager for it to make any sense.) You can also get a discount if you are EAS or EA agreement already which makes Intune more viable.
XenMobile Enterprise on the other hand is not so much more expensive then a regular Intune subscribtion of course it requires alot more infrastructure then Intune does.
So hopefully you got a bit more understanding on what seperates Intune from XenMobile!
Well I had the pleasure of playing around with Windows Server 2012 R2 scale-out file server with a JBOD SAS chassis. Then I wanted to try the storage tiering feature in R2.
So in my case I had a SAS chassis with 4 SSD drivers and 12 7K
First I created a storage pool for the one with tiering.
Next we have to create a virtual disk from the storage space.
When we create a new virtual disk on the pool, here we have to define a storage tier.
Next we have to define a layout of the Storage, I created a simple layout for both pools.
After I have created two virtual drivers on top on the storage spaces and used fsutil file create new to create a random file on both of the drives.
The below is the storage tiereing virtual drive (310k IOPS) the file I used then did not use the whole cache drive. Next run I created a file which in theory would fill the SSD drives and had to move it over to the HDD drive.
More blog post will come when I have tested some more!
Another fancy feature from within Configuraiton Manager is the ability to create VHDs direcly from the console by using a task sequence. Think of the possibilities of creating golden images by bulding a VHD file and then importing this direcly into SCVMM.
In order to do this process there are a couple of requirements.
* You need a physical computer which runs Hyper-V (Window 8 or 2012 +) (NOTE: Had some trouble running the R2 Configmgr on Hyper-v 2012 R2 so I used 2012 for this guide.
* you need the Configuration Manager console installed on the physical computer
* Should not be the site server
Now first thing we do after installing the R2 console is to go into Software Library –> Operating Systems –> Task Sequences.
Then right-click and choose “Create a new task sequence” –> “Install an existing image package to a virtual hard disk”
Next we follow the procedures here and enter the information.
Now after we are done with creating the task sequence we can continue on with creating the VHD. We go into Software Library –> Operating Systems –> Virtual Hard disks, right-click and choose “Create Virtual harddisk”
Now first of it builds an ISO file with the task sequence and creates a VM in hyper-v.
You can see a random VM name appears.
Note: you can view the smsts.log for any errors that might occure during the running of the task sequence inside the VM (Before formatting this is placed on the X: drive)
To troubleshoot the hyper-v server you can view CreateTSMedia.log and DeployToVHD.log which are located under %ProgramFiles(x86)%\Microsoft Configuration Manager\AdminConsole
Remeber that this process creates a local VM instance on that hyper-v server that is spins up and runs the particular task sequence (when it is done it shuts down the VM and removes it from Hyper-V) and you get left with the VHD.