Posts

vSphere Environment Analysis

vSphere Infrastructure analysis is important, so I wrote this script to help me to easily get a quick understanding of a given environment.  This grew out of the CPU Ready script that I wrote several months ago, in addition to CPU Ready detection, it can check for Memory problems as well as report the maximum CPU Usage and Active Memory for every VM in an environment. Usage:  vm-analyze.ps1 -Stat <metric to examine> -VM <VM to examine> -Days <# of days to examine> -Threshold <Threshold % as an integer above which to report CPU Ready> The script accepts the following for the Stat option: cpuReady memProblem cpuMax memMax The -VM option is optional - if it is included (as the name of a VM), the script will perform its work on that specific VM, otherwise it will analyze all VMs in the inventory.  The -Days option specifies how far back to analyze; it defaults to 6 days if not specified.  This can be important to play around with, as ...

Windows 7 VDI Desktops

There are two very useful documents around making Windows 7 work in a VDI environment; I find myself searching for these with some frequency, in order to provide links for customers.  Given that frequency, I guess that it’s only appropriate that I make a quick post here about them. The first one is the Windows 7 Optimization Guide .  This guide contains a lot of useful (really, vital) steps that make Windows 7 work well in a VDI environment.  It’s an excellent guide, with information as complex as how to make a customized Windows install or as simple as just running a batch file that makes the changes.  It also explains the changes in great detail, listing requirements vs. recommendations, so it is definitely worth a read. The second one is a KB article.  When using multiple monitors, there will be “hitches” when a user drags a window from one monitor to the other.  To prevent this, you must change some VM advanced settings  on that VM. ...

Infrastructure Scalability and Datacenter Design for VDI

We’re all familiar with the concept of the core four resources: CPU, Memory, Network and Storage.  These days, we tend to combine CPU and Memory into a single “Compute” resource (since they are both contained within a single object, the ESXi host), but the concept still holds.  When we’re talking about resource utilization for a VDI solution, we’re usually concerned with Compute resources and Storage resources; PCoIP, RDP, ICA – they’re all pretty efficient protocols, so even a single gigabit adapter provides more than enough bandwidth for the VMs on most VDI ESXi hosts (IP based storage, on the other hand, might see more benefit from additional bandwidth). So, how do we scale our Compute and Storage resources, as the project advances from POC to Pilot to a phased production rollout?  The answer to that question depends on how your infrastructure was designed – it was designed to be scalable, right?  At a high level, I’m seeing two different movements within th...

Polling CPU Ready Metrics

A customer recently asked me how to easily check their environment for high CPU Ready metrics.  Given that I don't know of an easy way to quickly look through the whole environment by the GUI, I decided to pull out PowerCLI and see what I could put together. For those who don't know, CPU Ready records the time that a VM spends (during a given interval) ready for CPU time, but no physical CPU is available.  Basically, it reports on CPU contention.  There will always be small amounts of CPU Ready - that just reflects the time that it takes a CPU to react to an OS's request to compute.  In general, CPU Ready times averaging below 5% of your polling interval should be completely unnoticeable.  Between 5% and 10%, delays become noticeable, and beyond 10% they are seriously problematic. Those rules for interpreting CPU ready are all based on percentage of a time interval, but the metric that is actually recorded is the number of milliseconds spent ...

View Security Server Firewalls

If you’ve ever set up a View Security Server for external access, you’ve probably invested a fair amount of your time looking at firewall port requirements.  I sure did.  And then, after all that time, I still ended up falling back on trial and error, for at least a little bit.  Rather than repeating that process (and to hopefully help others), I’m putting together a quick post with my notes.  This engagement is using vShield and is securing the Security Servers with these rules, preventing both incoming and outgoing traffic (except for what is explicitly allowed). First, there is an excellent list of general network portsrequired for VMware products , which can give you a good place to begin.  There’s a more detailed list of View Network Port Requirements  as well, which is an even better place to begin (but, if you’re working with other VMware products, the general list is a good resource to have available). Unfortunately, as I’ve mentioned, tha...

View Security Servers Behind an SSL Terminating F5 Load Balancer

We’re working on remote access for a View solution at one of my customers right now.  We’ve got a pair of external user Connection Brokers, each partnered with a Security Server.  We’ve also got an F5 Big-IP load balancer sitting in front of the Security Servers, giving them some protection from the big bad ‘net and, more importantly, providing load balancing services.  We found that the process was a bit more circumspect than I had expected, involving instructions from several documents, so I’m consolidating our process here.   At first, we followed the instructions from the F5 View Deployment Guide , which got us really close to what we needed.  It’s worth noting that the “External URL” and “PCoIP External URL” fields should be the public address of the F5, even though the document uses an internal address in its examples. We were able to connect to the system by our public name and it presented the list of desktops to our test account.  Howev...

How does vCenter Process and Relay External Commands?

I’ve been working with Unidesk lately, as well as with the vSphere PowerCLI .  One of my customers has also been having an intermittent issue where they cannot browse their datastores (it just sticks at “Searching Datastore…” until they lose patience and close the window).  All of this has gotten me thinking about the relationship between vCenter and the ESXi hosts.  When we send a command to vCenter, such as creating a new VM, we all know that vCenter is simply relaying that command to one of its ESXi hosts, which does the actual work.  Same thing with file copies through the Datastore Browser, and in fact even reading the datastores through that same tool. How do we, as administrators, know which ESXi Host vCenter is using as its “workhorse”?  In a clustered environment, it’s really very unclear.  It turns out that, if that workhorse ESXi host is having an issue, it may prevent a lot of those basic vCenter functions from working (such as the aforem...