For sometime now I have been occupied with my little book project, it has taken a lot of time from my blogging since it has been completely new territory for my part. But! it has been a unique learning experience and I think that I’ve never been this good a using Word… Ever!
A while back a publisher contacted me and asked if I was interested in writing a book for them, at first I thought nah… don’t have the time and capasity to finish this in time.. But after thinking about it a couple of days I thought when am I going to get this opportunity again ? Therefore I said yes! and fast forward a couple of months ahead and here I am with the finished product.
So allow me to introduce my little book
Configuration Manager 2012 High-availability and Performance Tuning
FThis is the first time I’ve ever written anything that was over 10 pages (Yes including school as well) and it has been a unique experience and I wish to thanks the publisher Packt www.packtpub.com who has given me this opportunity.
I also wish to thank my reviewers
Marius Skovli and Dragos Madarasan for good feedback in the review process.
Citrix released yesterday a tech preview of their Service Template for XenDesktop 7.1 for System Center Virtual Machine Manager.
This template allows for rapid and easy deployment of an entire XenDesktop 7 infrastructure, including setup of Director, License Server, Desktop Delivery Controller and Storefront.
It does not by default include Netscaler as part of the that template but that is something we can add to the “mix” later.
the Techpreview of the template can be downloaded from mycitrix here –> https://www.citrix.com/downloads/xendesktop/betas-and-tech-previews/system-center-service-template-tech-preview.html (This requires a valid mycitrix account) it has a template for XenDesktop and for PVS.
ill continue on with the XenDesktop template and show how it is deployed.
The template contains a bunch of PowerShell scripts, XenDesktop 7.1 ISO file and the template file itself, in order to fully setup the template it needs to VMM ISO file and a generalized 2012 VHD file.
After we have downloaded the template file open VMM –>
Then go into Library and Import Template –>
Then point to the extracted XenDesktop folder.
Then choose next, now we need to point the template to the different ISO files and generalized 2012 template.
After that is done and the mappings are correct we can contine on with the importing.
This will take some time since it needs to import the XenDesktop to the library. When we now go into Service Templates we can see XenDesktop listed as an option there. If we right click and choose “Open Designer” we can see how the layout will look like.
Now if we wanted to we could use the Netscaler integration as well to deploy multiple DCC and Storefronts and automatically setup a load balancing of these services as part of the deployment. Lets see how that can be done using the Service Template. (Note that this integration is still not support in 2012 R2) (UPDATED: IT WORKS) but for the purpose of demonstrating how it CAN be done ill show it anyways. So after we have installed the addon and created a VIP template for DCC and one for Storefront we can open the designer again.
Next we can connect the VIP profiles to the different components, one DCC VIP template for DCC and one for Storefront which has different load balancing mechanisms setup.
Now If I where to configure a deployment of this. I can configure the amount of each server I want in order to ensure scailability and redudancy.
When I start the deploy wizard I get a question to define what is my management network.
Here I can define what is the backend of the netscaler and what the VIP addres of the load balancing solution is going to be.
But since the integration between Netscaler and VMM is not functioning in R2 ill need to get back on that in a later post (UPDATE IT WORKS). But if I go into one of the servers I can see the application scripts that are run in order to setup a functional site.
If I for instance have ComTrade installed on Operations Manager in order to have monitoring of my Citrix enviroment I can add this as a Application Configuration in the last step to have a complete, XenDesktop 7 setup with load balanced Netscaler solution and have complete monitoring using Operations Manager.
This is the power of Citrix and Microsoft!
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!
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.
Must say that the product teams are working 110% releasing new managemnet packs almost weekly! the lastest update came from the SQL team, which has been updated 3 times the last year. (there has also been alot of changes within SQL)
You can download the management pack from here –> http://bit.ly/187uMJJ
And the lastest update contains some bugfixes and a new DB dashboard which is very useful for the DBA admins.
Now as a warning which is imporatant to note with this management pack:
We recommend that you monitor no more than 50 databases and 150 database files per agent to avoid spikes in CPU usage that may affect the performance of monitored computers.
Now this management pack has a lot of monitors which comes included, some are enabled by default and some are not to reduce the noise.
Since it logs typical stuff like.
* User Activity
* Space report for database, logs etc
* Disk latency
So of course YOU can use it for more then 50 databases, its just that the monitores require some tuning before you can installed the management pack on other servers. Since its hard for Microsoft to determine if you want to monitor a particular component within SQL or not.
And with the new DB dashboard here you get a complete overview!
(Had some issues with the SQL server agent at the time of the writing so therefore I have a blank DB overview)
So as of right now Im taking a vacation from blogging a couple of weeks ahead, why ? Right now I am having 4 MCT traning courses in a row which takes up a lot of time preparing and energy.
Another thing that happens recently is that I have been asked to author a book regarding System Center (not going to tell about what topic yet, its a secret! )
And since both of these are going to take most of my time some months ahead there is going to be less updates then usual and when I have started on my book im going to reveal what the subject is about so stay tuned!
Today Microsoft released a Management Pack for VMM 2012R2 Fabric (or a dashboard view)
Which can be found here –> http://www.microsoft.com/en-us/download/details.aspx?id=39635
If you want to install this, there are a couple of prerequistes that you need to take care of.
(Which are not stated on the download page)
First you need to install some additional management packs on SCOM
- Windows Server Internet Information Services 2003
- Management packs that are required by the management pack for Windows Server 2008 Internet Information Services 7:
- Windows Server 2008 Operating System (Discovery)
- Windows Server Operating System Library
- Windows Server 2008 Internet Information Services 7
- Windows Server Internet Information Services Library
- SQL Server Core Library
And then you have to connect VMM 2012R2 with OPSMGR2012R2
Which can be done under settings and System Center settings –>
After that is done, SCVMM will import some additional management packs into SCOM (For VMM monitoring) and then you can import the downloaded dashboard.
You will find the dashboard under Monitoring –> System Center Virtual Machine Manager –> Cloud Health Dashboard
And from here I can for instance view the Fabric Health Dashboard which will give me more detailed info om my virtual infrastructure.
Network Node monitoring physical networks (So you would have to enable network monitoring in SCOM in order to get information)
The purpose of this dashboard is just to give you a quick overview of (What is the health of my cloud?)
Microsoft just recently released a preview pack of a management pack that can be used to monitor Windows Server 2012 R2, good job Microsoft!
You can download the preview pack here –> http://www.microsoft.com/en-us/download/details.aspx?id=39375
The management pack includes monitors for most of the Windows Server features. Including some awesome feature for Hyper-v 2012 R2, including for instance Host Health Dashboard and Virtual Network Usage.
It also includes for other features such as Cluster, AD, ADCS, RDS, and even Server Essentials.
Now Microsoft should hurry up and release some management packs for System Center 2012 R2 as well that would be great!
When Citrix released Excalibur they also included a whole bunch of Powershell which allows you to run Powershell cmdlets to alter anything.
If you are inside the Studio console you can see that there is a PowerShell window there, which shows all of the cmdlets that you have run.
and how does this help ? With the combination of Orchestrator, we can add automation to the equation.
What if we could automate the assignment of application to users via Orchestrator? and we could also add an approval workflow if we used it with Service Manager.
If a new users want a set of 20 new desktop for his or hers company we could create a new workflow which would run a PowerShell script against MCS and do this automatically.
However, I’m not going to go ahead of myself here, this is a start post to show what we can do with the provided PowerShell modules.
First I’m going to show how to import the modules that Citrix provides in this release.
Head over to the Studio server and open Powershell ISE
From there you can run this import commands.
There are more modules but these cover most of the administrative tasks.
If you refresh the ISE modules list now, the Citrix components will show up.
If we created a simple «Publish Application task» We can use the New-BrokerApplication to publish notepad.
New-brokerApplication -CommandLineExecutable C:\windows\notepad -displayname notepad -Applicationtype HostedonDesktop
NOTE: A bit of advice if you are unsure of how the cmd should look like, create an application with the wizard and extract the info after using the get-brokerapplication cmdlet.
Now we have a functional PowerShell cmd to publish Notepad to the studio.
So we know now that we have to import the modules first, then we can run the command to publish notepad, but how do to this via Orchestrator?
First set set-executionpolicy unrestricted on the Studio server.
And your script should be saved.
Now we simplest way is to use the Run Command activity in Orchestrator
I saved the script file locally on the Studio server, and the script looks like the output from the PowerShell ISE above.
So when I run this runbook what happens ?
This just publishes the application in Desktop Studio, it still isn’t assigned a user yet, that requires a bit more in PowerShell ill come back to that later this is just to show the abilities you have with Excalibur and PowerShell
Now Citrix released a beta build of Excalibur a couple of months ago, which shows the next generation of XenDesktop and XenApp architecture. (Well actually just XenDestkop, since the XenApp architecture is disappearing)
In addition, with this release we have some fancy choices for how to manage the machines within XenDesktop.
Excalibur will add additional WMI classes to all its desktop.
Which are listed here à
This allows you to create collections based upon if it’s VDI or Session host based, and even if it is assigned to a user or not.
Now in order to make these attributes available in Configuration Manager we have to add some WMI classes.
Go into Client Settings -> and alter the clients policy -> Go into hardware inventory and choose add classes. And from the list choose Add Hardware inventory class. From there you can browse to a remote computer that is installed as a VDA and in the namespace you can type \root\citrix\desktopinformation
And choose «Citrix_VirtualDesktopInfo»
Then Press OK
This will give you some more attributes on that WMI class
Which you can again use to create collections based on the variables.
Since Excalibur does not have any direct integration with for instance App-V you can now create user-based assignments to delivery groups.
So the user has multiple options of application deliveries.
Either via Software Portal and Configuration or Storefront with Citrix.