Wednesday, July 27, 2011

Citrix: Logon Optimization

Citrix released another good read on how the logon process in Citrix XenApp and/or XenDesktop works and how to optimize this:

How the Logon Process Works
In order to better understand where time can be shaved from the user logon, we will first review the logon process as shown below: Please note that this diagram focuses on internal users accessing either a XenApp or XenDesktop resource. Additional steps are required based on external access via Access Gateway.

ctx0006

After this the document gives an explanation of the most common causes of logon delays:

  • Logon & Authentication
  • Profile Access Issues
  • GPOs and Startup Procedures
  • Networking Issues
  • Hardware Overutilization
  • Application and Desktop Startup

And it ends with an example of how to monitor this process using Edgesight.

The PDF can be found here

Wednesday, July 20, 2011

Initial setup for VMware vCloud Director and setting up provider vDC

Let me start off by saying this is a very long blog post, probably the longest I will ever create. I wanted to showcase the initial setup wizard for those of you new to setting of VMware vCloud Director. Once you have created and installed all of the Hosts, vCenter server, Database, vShield and the vCD cell you then need to setup vCD. There are several very good blog posts by other community members out there that step you through the process of setting up the base infrastructure. I will include some of the links at the end in case you need them.

I will be showing you step by step that the vCD setup wizard takes you through. This will show you how to created Virtual Datacenters, Organizations, Networks and Pools, Catalogs and Media. You will begin to get a good base understanding of how vCloud Director works. I will also point out some similarities with Lab Manger 4.0 for those of you that have used LM in the past.

Logging into vCloud Director

Before getting to this initial login screen you will need to supply a password for the admin account and enter the vCloud Serial number. You will not be able to test out vCloud Director in your lab unless you get a trial code or have an NFR license, unless you are lucky enough to have a valid license code to use.

vCloud Director first time setup Wizard

Now that you have logged in you can see below you are presented with the first screen of the vCD setup wizard. This process is broken up into 8 main parts that will step you through setting the bones of the configuration.

Read my full blog post after the jump for complete details.

Attaching a new vCenter Server to vCD

The first step is to attach to a new or existing VMware vCenter server. This is going to allow vCloud Director to gain access to VMware hosts, networks and resources pools. You will need to supply the vCenter server name or IP address along with login credentials.

The next step is going to ask for details about connecting to the vShield Manager virtual machine that you imported. This is going to handle all of the firewall and security features in vCloud Director.

The last screen in this stage is displaying the information that you entered before committing it. Make sure to double check since it will be easier to change now than having to go back and change later.

Create Provider vDC

You have now moved to stage 2 of the initial setup wizard for vCD. In this stage you will create your first Provider vDC (Virtual Data Center). You can use vDC’s to divide up your compute power for locations, SLA’s or any other physical or logical reason that you may have.

You will now select a vCenter server to connect to from the first column. This will then populate a list of resources pools, these pools with show any that exist currently on your VC server. This includes the root pools for the VMware hosts.

Next you will select the datastore(s) that you wish to grant access to on this Virtual Datacenter. The list is populated based on the vCenter server that you selected in earlier step.

In this step you need to provide credentials so that vCD can install the vCloud Director agent onto each host to allow it access to the resource pools that you selected earlier. You can use a global set of credentials or an ID specific to a certain host depending on your setup.

The last page is a summary of your selections for this stage.

Create External network in vCD

So starts the next stage of the vCD setup wizard which covers the External network setup. This screen is going to pull networks/port groups from the vCenter server that you are connected to. These networks will allow you connection out to the internet or your production network for example. In my sample Lab used for this write up I create a couple of empty port groups.

This step is now gathering network related details and asking you to assign a Static IP pool for use on this network. This reminds me very much of Lab Manager 4 in setting up network within that product.

This step is just asking you to provide a meaningful name and description to the External Network so that it will make sense to people when looking at it later.

Final screen is again a confirmation screen showing your selections before committing them.

a

Create Network Pool in vCD

So in this stage you are going to setup a Network Pool in vCloud Director. You can see from the image below that there could be 3 options based upon how you have setup your infrastructure. Since my lab is a simple setup for now I’m not using VLAN tagging or a vNetwork Distributed Switch. So my only option was to use vSphere port group based network pools.

This step is asking you to select the vCenter server that you will be using to setup this stage, in case you have more than one.


I am now able to select a port group from the list below. The only thing to note here was that it states that it must be an unused port group. So make sure that it is empty.

Again you are just providing a name and description that will make sense later. You could name these based on location, customer, business division or any other logical reason for your install.

Create New Organization in vCD

Now we move onto the next stage of vCD setup wizard. In this part we will be creating an Organization that will consume resources. This Organization is very similar to what an Organization was in VMware Lab Manager. You can use them to setup a Company, Customer or Business unit. Its up to you and your business need as to how you will divide things up.

For each Organization you will have different options on how you will setup LDAP for authentication. This is where vCD separates its self from Lab Manager. Since LM was geared towards working with only one LDAP. With vCD you can work with different LDAP sources for each Organization.

For simplistic reasons I choose not to use LDAP for my lab. So below I am creating a user manually for the sake of this lab. You can see that a role is assigned along with generic user information.

For the remainder of the user setup window you can see that for each user you have additional options that can be set. Your allowed to setup the number of Virtual Machines that can be stored or Running for the user.

This screen is showing the user that I created and allows me to create additional ID’s if needed.

This step allows you to choose whether the Organization that you are creating will be able to publish / share its Catalog with other Organizations within vCloud Director. There could be several reasons that come to mind that you might want to do this. Again you need to give this thought to see how it fits into your overall plan. You can always change this by editing the Org later on.

This step allows you to setup the Email preferences to allow VMware vCD to send email alerts.

This step is setting up the retention policies on Virtual Machines that will live within this Organization. On this screen you can set policies that control the Maximum runtime leases within VMware vCloud Director along with Storage Leases. There are also options to control the leases for vApp templates.

This screen is a continuation of the policies screen from above. Is this lower portion of the policies section you can set Quotas on the number of Running Virtual Machines and Stored VM’s. There are also some additional limits at the bottom that can be applied for connections and resource intensive operations.

This last screen is the settings confirmation screen.

Allocate resources to an Organization

So onto the next stage of the setup and we are now Allocating resources to our Organization that we created earlier. You can see below the Provider DC that we created is listed and its showing us the percentage of Processor, Memory and Storage used.

On this step we are presented with 3 different Resource Allocation Models that we can use. The choices are Allocation Pool, Pay as you go and Reservation Pools within VMware vCloud Director.

In this screen I select the Resource Allocation Method so that you can see how resources are controlled. This Resource Model lets you control the amount of CPU GHz at a percent guarantee. You also have the same approach for Memory allocation. There is a setting more max number of VM’s that can be created also. In the lower portion vCloud Director is giving you an estimate based upon the settings you have chosen and the available resources of the Organization that you have setup.

I backed up a step and choose the Pay as you Go Model in vCD to let you see the options available with this method. This method is only commiting resources when the vApps are running in the Organization VDC.

And lastly the third model is the Reservation Pool Model that is being shown below. This method offers guaranteed resources to the Organization vDC and lets users control and commit on a per VM basis.

Next it’s asking we to allocate storage to this Organization. It is showing me the amount of space available in the Datastore that was assigned to the Org when we set that up earlier. You can then commit the amount that you want and decide if you want it to be Thin provisioned.

Now we need to select a Network Pool.

Next you need to name your Organization vDC just as we did in other steps. You also can choose to Enable the vDC now or leave it inactive for now.

The final screen is confirming your selections.

Add Network to an Organization

Ok it’s network time in the setup wizard. As you can see from the image below its allowing you to create Internal and External networks in your Org. This also reminds me a log of Lab Manager with it’s Virtual Networks. You can see from the option below that its using a NAT’d setup and routing the external traffic into our Org. There is also and Advanced setup option which is shown in the next image.

In this image I selected the Advanced option to setup the network settings.

This is the option that I ended up selecting for it’s simple setup. It will have a internal and external connection but the external will have a direct connection. So it won’t be fenced or fire walled off and need traffic routed to it.

In this step you are setting up the Internal Org Network for vCD. You can see the available port groups that are setup on your vCenter server. It allows you to see only networks that this Org has permissions to use or see all available networks.

You are now setting up IP information for your Internal Network.

Now you must name the Internal vCD Organization Network.

This step you are setting up the External Organization network and selecting from available networks that were setup earlier for external use.

Here is just the confirmation screen.

Create a vCD Catalog

Now onto the final step of the setup wizard. You are now going to create a Catalog for your customer. You are presented with a list of customers that are setup, select the right one and proceed. This is another step again that reminds me a lot of how Lab Manager worked. The vCD Catalog feature is kind like what the Library feature in Lab Manager strives to be. Within a Catalog you will be able to publish Templates, vApps and Media for people to consume.

Your just naming your Catalog in the vCD step.

This screen is asking if you want to have the vCD Catalog remain private to this Organization or allow if to be published for other Organizations to use.

You have now finished the basic setup of VMware vCloud Director. From this point you can create Virtual Machines, vApps and attach media to the Catalog and allow them to be used. All of these steps from the wizard are the same methods that you will use later on to add additional resources from within the vCD admin panel. So these screens will become very familiar as you use the product more.

OK as promised here is a list of good blog articles from other community members that have documented the setting up of the underlying infrastructure required to run VMware vCloud Director. These guys have created great step by step guides some including videos to show you how to create and install the virtual machines necessary before you can get to this stage.

Hany from Hypervisor – vCloud install

Duncan from Yellow Bricks – vCloud install

Source - http://www.virtualizetips.com/2010/10/initial-setup-for-vmware-vcloud-director-and-setting-up-provider-vdc/

Cloud Experience – Episode 3: Moving vSphere Workloads into the Cloud

Everybody says the future is in hybrid clouds. In fact that’s where I think the “trust” in private clouds and the “flexibility” of public clouds will find the compromise: it will be a mix of both. The ultimate goal is for a cloud consumer to be able to deploy a workload onto either a public or private cloud using the same tools with a completely transparent experience. In the first episode of this series of posts we explored the cloud on-boarding experience with VMware partner Stratogen. In the second episode we explored how to start consuming the cloud we have subscribed to. Building on that, this third episode will illustrate how to move existing vSphere workloads into the cloud as the first (yes I agree.. rudimental) step towards the hybrid cloud vision. In fact if infrastructures are incompatible, moving workloads between each others may prove to be difficult (although not impossible admittedly). Stay tuned on the topic as there are a few other episodes in the pipeline that I am looking forward to publish.

Recently Amazon announced a feature to move vSphere workloads onto EC2. This episode isn’t much different meaning that I’d like to show you how simple it is to move a vSphere workload into any vCloud Director based cloud. A VMware sales person would argue that moving a vSphere workload into a vSphere based cloud is much easier than moving it into a non-vSphere cloud but hey, I am a geek, and I still have a lot of respect for what Amazon has been able to achieve so far.

The scenario that you need to think about for this third episode is as follows: I am a vSphere administrator and I have subscribed with Stratogen for some additional compute capacity (episode 1). I have started to deploy some workloads in the cloud (episode 2) but I now want to move some existing workloads from my local vSphere infrastructure into the cloud. Let’s get started.

Moving a vSphere template into the cloud

The first thing I want to do is moving some of my standard template into the cloud. In real life, end-users may have both templates and actual workloads stored and running in the local vSphere deployments. When deploying brand new workloads in the cloud they may want to do so from an existing template which represents their standard “company stack”. This may be a Red Hat 5.5 image for example. So I am going to locate my Red Hat template image on vSphere and export it in OVF format:

The amount of time it takes to export is usually proportional to the size of the VMDK file.

Once I have exported the template I can now import it into my vCloud Director based cloud. If you remember from the second episode I have already created a TurnKeyLinux image in my private catalog. Now I am going to import my vSphere template. In order to do this I click on the “Upload” button in the screen:

This opens up the upload java app:

As you can see I have an option to choose the target virtual Data Center and catalog. In my case I don’t have too many options since Stratogen assigned to me only one vDC and I have created, for the sake of simplicity, one single private catalog in my organization.

Last but not list I now need to locate my OVF descriptor in the folder where I have exported the template (“c:/StagingArea/Red Hat 5.5″ in my case):

And the upload begins. The time it takes to upload the template usually depends upon its size as well as the bandwidth available between where the files exported are located and the target cloud.

And here it is the original vSphere template ready to use in the cloud:

If you are interested in diving into more details regarding the catalog capabilities in vCloud Director you can have a look at this article.

Moving a vSphere workload into the cloud

We have just demonstrated how to import a template into the private org catalog for future brand new workloads deployments. Moving an actual vSphere workload into the cloud is a similar process but there are a few details you need to be aware of. For the sake of keeping it simple and quick we will demonstrate how to move an existing single virtual machine. A similar procedure can be used to import an existing vSphere vApp into the cloud.

I have located a VM in my vSphere environment that I’d like to move to the cloud. This is a training application that I rarely use and I have determined that it is a good candidate for a public cloud hosting model. This VM is a standard standalone Windows 2003 machine that doesn’t require any specific interaction with other local infrastructure services. It has been configured with a DHCP address and the local DHCP server has provided this VM with IP number 172.16.100.132.

First and foremost I need to power off your virtual machine. I would then export this VM like we have exported the template in the steps above. The first thing to note is that vCloud Director doesn’t support uploading a VM directly into the Org vDC “My Cloud” so I have to first upload the OVF into my organization catalog just as if it was a template. We are basically using the catalog in this case as a buffer.

I will follow the same steps I have used to upload the Red Hat template and I’ll see my TrainingApp VM there:

I can now right click on the template and “Add (it) to My Cloud“:

And the deployment wizard gets started. For consistency I am calling the vApp TrainingApp:

And then I leave the default VM and Windows names set to TrainingApp (again for consistency).

Note above that I am connecting this VM to the Direct Internet Connection available in my organization. See my first episode to get a proper background of my actual organization network configuration. In a real life environment you may not want to connect directly a Windows VM to the Internet like this. I have done this for the only purpose of demonstrating how to connect a VM to a network. Most likely you may want to connect the vApp to a NAT/Routed network with the proper IP mapping and firewall configurations in place.

After a few minutes the vApp is ready in “My Cloud“:

And this is how the TrainingApp VM inside the vApp construct looks like from a networking perspective. Note that vCD assigned an IP from the Static IP Pool associated to that Direct Internet Connection that is under control of Stratogen.

The last thing to keep in mind is that what I have shown here is the very core capability of moving virtual machines from vSphere to vCloud Director (and possibly viceversa if needed). I wanted to stress about the idea that moving workloads across compatible platforms running the same backbone engine makes the overall hybrid cloud story way more simple (from a virtual machine format perspective). What I am NOT showing here is the coordination and orchestration of the whole process. If you have noted, at the end of the steps to move a workload into the cloud you end up with the TrainingApp VM in vSphere, the TrainingApp template in the cloud catalog and the actually instantiated TrainingApp vApp in the cloud. This will require a certain amount of coordination in an actual production environment. Specifically you may want to decommission the vSphere VM and the (transient) template when you are done moving the actual workload into the cloud. Demonstrating something like this is beyond the goal of this brief post that, again, was only meant to demonstrate the core infrastructure capabilities and the easiness of moving workloads without having to touch the Guest OS in terms of drivers and things like that.

In future episodes I am going to show how future (not yet announced) hybrid cloud technologies are going to simplify the experience I have shown here.