vSphere: SFCB configuration has changed

Was getting this error when applying a host profile.  It happened after I changed the DVS/vDS 'NAME'.  I updated it in the host profile too.  It's a nondescript error that I couldn't figure a way around.  So what did I do?  Deleted the profile and created a new host profile based on a host I knew was configured correctly.  Voila, SFCB configuration has changed error/noncompliant host profile state GONE!

Resolve by simply deleting and recreating host profile.

vSphere: no coredump target has been configured (fix it w/ powershell)


Was able to fix the above error by following steps outlined here:
http://blog.ukotic.net/2015/05/31/no-vmkcore-disk-partition-is-available/

So that inspired me to write how you can do this against multiple hosts via a scripted method.  I started by simply exporting a list of servers via PowerCLI:
Get-Cluster myCluster | get-vmhost | select name | out-file -FilePath D:\scripts\Output\clusterlist.txt -Encoding ascii


I opened the txt file, removed the 'name' header, then ran the following:

for server in $(cat ~/Desktop/clusterlist.txt);

do ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no root@$server 'esxcli system coredump partition set -u; esxcli system coredump partition set --enable true --smart'

done

A better way to do this would be to use plink, above was a quick and dirty way for me.  So here is a way to do it all from Powershell only that quite frankly would've saved me the trouble of pasting the password in 20 times:

$Creds = get-credential
#Echo "n" because I don't want or care for putty/plink to record the server ssh/rsa key.
$ClusterHosts = Get-Cluster myCluster | get-vmhost
Foreach ($ClusterHost in $ClusterHosts)
{
$ClusterHost| Get-VMHostService | Where { $_.Key -eq "TSM-SSH"} | Start-VMHostService
echo n | C:\someplace\plink.exe $ClusterHost.Name -l $creds.username -pw $creds.GetNetworkCredential().password "esxcli system coredump partition set -u; esxcli system coredump partition set --enabled true --smart"

$ClusterHost| Get-VMHostService | Where { $_.Key -eq "TSM-SSH"} | Stop-VMHostService -confirm:$false
}

Alan wrote a little snippet awhile back where you can insert it so that it'll download plink automatically for you.  It's also how I remember the little echo trick.

[Update: Just realized that this needs SSH service turned on and that I really didn't include loop statement.  Snippets inserted above]

Even better way:
$ClusterHosts = Get-Cluster myCluster | get-vmhost | get-esxcli
Foreach ($ClusterHost in $ClusterHosts)
{
$ClusterHost.system.coredump.partition.set($null,$null,$null,$true)
$ClusterHost.system.coredump.partition.set($true,$null,$true,$false)
}

VMware: Error 26002/26006 - Upgrading vCenter from 5.0 to 5.5 w/ CA signed certs

There are troves of these articles online about this so I'll try to keep this concise.

Steps for moving from one VM (assuming Windows and SSO/PSC already in place) to another:

  1. Shut down and disable services on original VM.
  2. Rename original VM.
  3. Rename new VM to original VM's name.
  4. Create the following directories on new VM:
    1. C:\ProgramData\VMware\Infrastructure\Inventory Service\SSL
      • ProgramData is typically always on C: drive, so this is a must.
    2. C:\ProgramData\VMware\VMware VirtualCenter\SSL
      • ProgramData is typically always on C: drive, so this is a must.
    3. C:\Program Files\VMware\Infrastructure\Inventory Service\SSL
      • C: drive can be replaced w/ drive that you plan to install inventory services.
  5. Copy your signed certs from your old VM to this new one in the above directories.
    1. rui.pfx
    2. rui.crt
    3. rui.key
      1. In the case of the VirtualCenter SSL directory, you'll probably also need the following, I think they are used for the custom spec passwords:
        • sms.truststore
        • sms.keystore
  6. End Result before installations begin, should look like this:
  7. Once you do this and backup the SQL server database, you should be ready to move forward.

Details:
Essentially, getting the error above was because I did not follow VMware's instructions on updating my signed cert.  If I did things properly, meaning updating both the Inventory Service and vCenter Service w/ the same signed cert, I would not have gotten the above error.

Meaning I generated a signed cert from my internal CA and only applied it to the vCenter service.  The Inventory Service was still using a self-signed cert, which when an upgrade is attempted causes it to blurt out the above error.

vSphere: Update Manager - Cannot run upgrade script on host

Ran into this problem on about 3 hosts when upgrading from 5.0 to 5.5.



2 of the hosts were resolved following this KB:
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2007163

KB basically states to check /altbootbank or /bootbank and move the file located in stage.xxxxxxx the the directory above it.

1 of the hosts required the KB above in addition to uninstalling the FDM agent by doing the either of the following:
Remove Host from HA (This removes the fdm agent, use command lines below if needed)
or
cp /opt/vmware/uninstallers/VMware-fdm-uninstall.sh /tmp
chmod +x /tmp/VMware-fdm-uninstall.sh
/tmp/VMware-fdm-uninstall.sh

Reference Sources:

Powershell: Out-Gridview -passthru switch

My co-worker saw this on twitter and sent this to me:

get-vm | out-gridview -passthru | open-vmconsolewindow

Upon first glance, I was thinking: "Well, that'll kill my machine trying to open 10000 VM consoles". But upon closer inspection, it works a bit differently than I first thought.

Basically what the above does is this:
  1. Gathers a list of VMs
  2. Outputs that list into gridview
    1. Clicking OK on the highlighted row, passes thru the highlighted 'object' to the next command.
      • You can also select multiple rows and have them all pass to the next cmdlet.  
      • I assume this will only work if the next cmdlet knows how to handle multiple objects.
      • In the case of Open-VMConsoleWindow, it does work.
  3. Open-VMConsoleWindow takes in the highlighted object and runs.
I didn't realize out-gridview had a passthru option, but now that I do, that can certainly make interactive scripts easier when I want someone to make a selection.  Obviously when I want to be lazy.

Basically, you can make use of it anytime you want prompt for a choice and just insert out-gridview in-between your source and destination.
So using the example above, lets say I want to stop a specific process, but I don't know the name of it.  Normally, I would get the list of processes by using get-process, record its name or PID, etc. then capture it a variable or just pipe it to stop-process.  Out-Gridview makes this a one step process:

Get-Process | Out-GridView -passthru | Stop-Process 

Now I just highlight the process I want to kill (granted you can do this in task manager, but hopefully you see the concept), and click OK.


Powershell: CPU Load Generator

Found this snippet online.
foreach ($loopnumber in 1..2147483647) {$result=1;foreach ($number in 1..2147483647) {$result = $result * $number};$result}

Works great, but only seems to hit a single CPU.  In order for it fully load all CPU's, I decided to augment it by simply having it launch a powershell window per CPU/Core found w/ the same script running in a loop.

Here is what I came up w/ below:
#$NumberofProcs = (Get-WMIObject win32_processor | Measure-Object NumberofLogicalProcessors -sum).sum
#Updated based on anonymous feedback.
$NumberofProcs= [int]$env:Number_of_Processors
While ($NumberofProcs -ne 0) 
{
$NumberofProcs--
Start Powershell.exe -ArgumentList '"foreach ($loopnumber in 1..2147483647) {$result=1;foreach ($number in 1..2147483647) {$result = $result * $number};$result}"'
}
For some context, I was using this script to force vRealize Operations to send a notification for anomalous behavior on a typically low use VM. Thanks anonymous! I'd credit you if I knew who you were.

vSAN Cost-Effective Architecture (For Desktops, almost there for servers)

So my esteemed colleague, Andrew Harding, brought this to my attention and the idea has kind of blossomed.  I thought it was rather clever approach to implementing VSAN in a cost effective manner.

The current line of thinking w/ VSAN is that you buy each host w/ the exact same disk configuration. In this way, with each host purchase, you not only get capacity, but you get additional I/O and CPU/Memory performance.
Disclaimer: Mac Mini's are completely unsupported by VMware, this is for illustration purposes only.
There are a couple problems w/ this model:
  1. Additional vSphere license cost
  2. Additional VSAN license cost
  3. Additional Hardware SSD/Disk cost
Being that VSAN does NOT attempt to keep VM storage data local to a host, you can augment your VSAN cluster w/ simple compute hosts that have no storage.  Meaning, if you don't have storage capacity or I/O performance problems, you can simply add another host that does not participate in the VSAN for additional CPU/RAM capacity.
Disclaimer: Mac Mini's are completely unsupported by VMware, this is for illustration purposes only.
Unfortunately, you can only circumvent the additional SSD/Disk costs.  You still need to purchase the vSphere and VSAN license.  If you ever need additional storage capacity and/or I/O performance you can simply slot in SSD's/Disks into those compute-only nodes at a later date.  It would be much nicer if you could circumvent vSAN licensing for those compute-only nodes while they do not provide storage.

However, in the VMware Horizon suite model, this type of architecture can play in your favor as VSAN is included and based upon a concurrent user model.  In this way you actually circumvent licensing completely, assuming you have enough concurrent users, and only need CPU/RAM/Storage.

I was happy to see that VSAN for the Horizon suite now includes all-flash VSAN now and that it is not a separate cost.  Unfortunately, VMware is still treating VSAN like they did vMotion back in the day.  You want All-Flash VSAN for servers?  That's extra.  Stretched VSAN Cluster?  Well, that's included when you buy all-flash.  Can you buy it separately?  No.  Ugh.  I'm going back to my previous stance, "All-Flash" should be included in the base license.  It feels stupid otherwise.  Features like "Dedupe", "Erasure-Coding", and "Stretch Cluster" should be and make sense as add-ons as they don't necessarily require specific hardware.  At least, not that I'm aware of yet.

vSphere Web Client (vCSA) stuck on authenticating

Related to vSphere 5.5 and vCenter Server Appliance.

Basically, when attempting to log into the web client I would get the following error message or the dreaded authenticating forever loading bar:
Could not connect to vsphere web client contact your administrator to fix this issue

Long story short, I did the following to fix my problem:

  1. Switched to embedded SSO and back to external SSO.
    1. Honestly, this step may or may not have been needed, but I did notice errors in my SSO server logs.  You might try step 2 first just to see.
  2. Under the admin tab select Yes for certificate regeneration and hit submit.

    1. Then switched back to no.
  3. Restarted Web Client Service.
Details:
Thankfully, I had another vCenter appliance attached to the same SSO server that was working fine.  So to troubleshoot, I looked at the virgo logs for the web client on the one that was working and that one that was not.  I noticed that my working vCenter Web Client would get a response back from the SSO server requesting a session.  The entries looked like this:

70008563 100113 200025 com.vmware.vise.security.DefaultAuthenticationProvider            Retrieving session listeners for sessionId 100113, clientId 200025 

session-init-pool-15127      70008563 100113 200025 com.vmware.vsphere.client.security.sso.SsoTokenLifetimeManager    Registering session : 100113

On the one that was not working, the second entry would never show up.  This told me there was something wrong w/ the communication between the SSO server and the VCSA having the issue.  That led me to unregister the VCSA from the external SSO server and use switch to the embedded one then back.  This didn't seem to fix the problem, so my next thought was to have the VCSA regenerate its certs.

Did that and after restarting the web client service, seemed to fix the issue described above.  I'm pointing that the cert regeneration was all that might have been needed, but unsure if unregistering and registering back played a role in fixing the issue as well.  Basically listing it just in case.

PowerCLI: Configuring an All-Flash vSAN

From my understanding all-flash vSAN works like this:
  1. Caching Tier is 100% Writes. (Write Buffer)
  2. Capacity Tier is Mixed-Use
With this in mind, I ordered Dell R730's w/ two types of drives.  Two high write endurance SSD's and Four Mixed Use SSD's.

Short Story:
Here is the script I created to 'tag' the mix-use drives as flash capacity:
#Enable All Flash vSAN Intelligently
Add-PSSnapIn -Name VMware.VimAutomation.Core -ErrorAction SilentlyContinue
$TargetHosts = Get-VMHost
$CacheDiskVendor = "TOSHIBA"
$CacheDiskModel = "PX02SSF040"
$CapacityDiskVendor = "TOSHIBA"
$CapacityDiskModel = "PX02SMF040"

Foreach ($VMhost in $TargetHosts)
    {
    $ESXCLI = $VMHost | Get-ESXCLI
    $Storage = $VMhost | Get-VMHostStorage
    Foreach ($SCSILUN in $Storage.ScsiLun)
        {
        If ($SCSILUN.Vendor -match $CapacityDiskVendor -and $SCSILUN.Model -match $CapacityDiskModel)
            {
            $ESXCLI.vsan.storage.tag.add($SCSILUN.CanonicalName,"capacityFlash")
            }
        }
    }
I'm simply listing cache disk model and vendor as variables for my own sanity.  They are not used in the script to do anything.
Long Story:
The conundrum I ran into while going to configure my all-flash vSAN was that all my SSD's were from the same vendor and only differed by model number.  The part that sucked, the GUI doesn't reflect the model number and vSAN 6 defaults to detecting all SSD's as caching disks.  To top it off, the disks w/ their canonical names do not enumerate in the same physical order.

So, using the script above, I was able to find out the vendor and model numbers of all the detected disks and then apply the 'capacityFlash' tag to the correct disks.  If all my disks were the same, then I wouldn't have had specify models, but hopefully this is helpful to anyone else that might run into this.

References (Other Tools):
http://www.punchingclouds.com/2015/04/16/vmware-virtual-san-6-0-all-flash-configuration-utility/
http://www.virtuallyghetto.com/2015/02/how-to-configure-an-all-flash-vsan-6-0-configuration-using-nested-esxi.html
https://blogs.vmware.com/storage/2015/02/13/vmware-virtual-san-flash-configuration/

Licensing Bug [Update]:
Noticed this, even after configuring all-flash VSAN, the 'license feature' was still showing not in use.  This is simply a display bug and VMware is aware of it.  Your all-flash VSAN will still work properly.


PowerCLI: Configure/Enable Remote Syslog

[Updated ESXCLI call to v2 to reload syslog service]
Been spoiled w/ Log Insight, so didn't realize what I needed to do to get logs forwarded to Splunk Cloud from ESXi hosts.  Here is the script I wrote up to do so:

#Gets your list of hosts to configure for remote syslog.
$VMHosts = Get-VMHost
#$VMHosts = Get-Cluster MyCluster | Get-VMHost #Uncomment and comment line above if you want to target hosts in a cluster only.
#The remote syslog destination(s).
$SyslogValue = "tcp://192.168.123.5:514,udp://192.168.123.6:514"
#If Replace is set to true, will simply overwrite whatever is populated currently.  If False, then it will append.
$Replace = $true
#If ConfirmPreference is set to true, this script will ask you on every single host whether you want to make the change.  Set to $False, if you just want it to do it.
$ScriptConfirmPreference = $false

## Don't modify from here ##
$AdvancedSettings= $VMHosts | Get-AdvancedSetting| where {$_.name -match "syslog.global.loghost"}
Foreach ($AdvancedSetting in $AdvancedSettings)
    {
    If (!$AdvancedSetting.Value) {$AdvancedSetting| Set-AdvancedSetting-Value $SyslogValue-Confirm:$ScriptConfirmPreference}
    $CLI = $AdvancedSetting.Entity | Get-EsxCli -V2
    Switch ($Replace)
        {
        $True
            {
            $AdvancedSetting | Set-AdvancedSetting -Value $SyslogValue -Confirm:$ScriptConfirmPreference
            $AdvancedSetting.Entity | Get-VMHostFirewallException| where {$_.Name -eq "syslog"} | Set-VMHostFirewallException-Enabled $true
            $CLI.system.syslog.reload.invoke()
            }
        $False
            {
            If ($AdvancedSetting.value -match $SyslogValue)
            {Write-Host-ForegroundColor:Orange"$($AdvancedSetting.Entity) has a current value of $($AdvancedSetting.value), which seems to contain this value: $($SyslogValue).  Replace switch is false, so this script will not change it."}
            Else {$AdvancedSetting| Set-AdvancedSetting-Value ($AdvancedSetting.value + "," + $SyslogValue) -Confirm:$ScriptConfirmPreference}
            $AdvancedSetting.Entity | Get-VMHostFirewallException| where {$_.Name -eq "syslog"} | Set-VMHostFirewallException-Enabled $true
            $CLI.system.syslog.reload.invoke()
            }
       
        }

    }

SWAG: VMWorld 2015 - MGT4783 - Introduction to Monitoring the Public Cloud with vRealize Operations Manager

Slots still open for our session.  Join us as we walk you through installing, configuring, and utilizing the AWS management pack for vRealize Operations.  During our Q&A we'll be giving away some swag bags from FlexDrive (Stickers, T-Shirt, keychain, and Car Vent cell phone holder).  We'll also have some Cox Automotive power bricks to giveaway to a lucky few.  Maybe some other free stuff too.
Swag Bag
Looking forward to a great session and want to make sure you technical folks leave w/ some useful reference material and general info.  Swag is always good too. \(^o^)/

Speakers:
K. Chris Nakagaki - Technical Lead Engineer
Sonya Ryherd - Sr. Systems Engineer

vROPs: Take Cluster Offline: Status: Removing Slice

Applies to vROPs running in NON-HA mode, below was thanks to help from VMware support.  They have an internal KB on this so it should eventually be published or more likely fixed in the future.  Mostly for my own notes, but interesting for those tinkerers out there.

Case:
Attempting to remove remote collector node from vROPs to replace w/ larger remote collector.  Correct way would have been to move 'instances' to other collector or data nodes before putting collector node offline.  Instead, I just removed the collector node from the admin console.  That's when it got stuck in this state.

It's supposed to move the 'instances' to other collectors, but that didn't seem to work and it got stuck in a state of taking the cluster offline.  So to remove the remote collector and get back to a stable state, VMware support walked me through below.

Resolution to Case:
DO NOT ATTEMPT BELOW STEPS UNLESS YOUR CASE MATCHES ABOVE EXACTLY OR YOU REALLY KNOW WHAT YOU ARE DOING.

Did you know? Running ESXi on Macs has licensing caveats...


Did you know that according to Apple's OS X EULA, you are only allowed to run 2 OS X VM instances per physical device?

So what does that mean for running ESXi on a Mac Pro?  You can only run, legally, 2 OS X VM's on it.

http://images.apple.com/legal/sla/docs/OSX1010.pdf

How's them apples?  Kinda sucks, wondering what other people have done to get around this?  Mac Mini value was much better w/ vSAN when it had two internal disks (for the server version).

Really the only option is to talk to your Apple rep and see how you can license more.

Opinion: Nutanix Acropolis and VMware


I was lucky enough to attend the inaugural Nutanix .NEXT conference in Miami the last 3 days.  I learned a lot and met many new faces.  Here is the bottom line:

Nutanix has released their flavor of the KVM hypervisor dubbed "Acropolis".

So what does that mean for you VMware shops?

Right now, possibly lower or complete removal of hypervisor licensing costs.  However, VMware is a leader for a reason, so you will likely need to augment by using something like VMTurbo to manage and give you smarter DRS like capability plus more.  I'll need to read-up on Acropolis feature sets, but the fair comparisons would likely be between the base vSphere ESXi editions (including vCenter)  vs Acropolis/Prism and/or the vCloud Suite vs. Acropolis/Prism/VMTurbo combo.  It's going to come down to features and price.

I'm thinking personally that it "MIGHT" be cheaper to go an Acropolis/Prism/VMTurbo route strictly from a licensing perspective, but have yet to price everything out.  Taking VMTurbo out, I think would most certainly save from a licensing perspective.  The argument may be hardware vendor lock-in, but that is slowly dissolving w/ Nutanix I think.

Through Nutanix Prism software, they even give you the capability of swapping out the ESXi hypervisor w/ the click of a button.  VM's will be migrated to the different hypervisor too, albeit they will be shutdown for the migration process, but looks to be completely automated.

Kinda curious if that is a two way street though.  Meaning, could I change from Acropolis to Hyper-V or back to ESXi?
[Update: Right now, it's a one-way street.  Other things to consider, no cloud stack for Prism/Acropolis to speak of currently.  Still early, but worth keeping an eye on.]

Regardless, all this means, it's an exciting time to be in the infrastructure space.  Hopefully this pushes VMware in the direction of making vSAN a part of the vCloud Suite AND not charging a premium for the 'all-flash' edition of vSAN.  Quite honestly, VERY STUPID move on VMware's part.  it's only shown in that article, so I'm hoping they reverse that idea.  I'm already paying a premium on SSD's and they want me to pay more for licensing!?  Get real.

Right now, technology-wise, I feel Nutanix 'appears' to have the simplicity side of things going for them.  VMware, it's unfortunately quite complicated, but very feature-rich.  The bigger thing that Nutanix will have to worry about though is public cloud adoption.  Yes, they can utilize it too, but will I care?  If I use the public cloud 'efficiently and correctly', on-premise becomes a small pie.

vRealize Operations (aka vROps) formerly vCenter Operations (aka vCOPs) Dictionary


Found this on a community board and well, thought it might be useful to repost.  Also looking to add to this as time permits.


TermDefinition
AscendantAny object higher in the "tree", includes parent (and grandparent, great-grandparent, etc)
ParentObject directly above selected object (VM's parent is a host, for example.  Host parent is cluster, etc)
ChildObject(s) directly below selected object in the "tree" (host child(ren) is any VM on host)
DescendantAny object lower in the "tree", include child, grandchild, great-grandchild etc

The above information is useful when creating group objects and what not in vROps.


VCSServiceManager not uninstalling



Summary:
So here is the scenario.  I'm uninstalling vCenter, but leaving SSO because I am testing something.  I go to upgrade SSO 5.5 to 6.0, I get an error of "Cannot start vCenter Service" or something close to that effect.  Uh ok, why?  vCenter Service isn't even there,  Turns out, my uninstallation of vCenter did not uninstall VCSServiceManager service properly and it now is stuck there.



Workaround:

  1. Visit this page from the affected system
    1. Make sure to add http://*.microsoft.com and https://*.microsoft.com to your trusted sites list in IE.
    2. If you don't, well, you'll likely end up in IE hell.
  2. Run FixIT and run through the wizard to have it remove the VCSServiceManager install.


Details:
The vCenter installation for 6.0, I guess, detects this VCSServiceManager and bombs on the upgrade even if it is just SSO.  So I'd run the uninstall manually and the entry wouldn't go away.  No interactive error, nothing.  Looking at event logs would show that the uninstall bombed w/ a MSI error of 1603.  Basically you have to debug it from what I read.

Then I was dealing w/ wonderful IE security while trying to run the above Microsoft FIXit app.  Once I got around that, it was able to successfully cleanup the stale/broken entry and SSO 5.5 to PSC 6.0 upgrade worked perfectly.

Outlook for Mac _underscores_ turn to italics?

I finally took the time to find and turn off this incredibly annoying 'feature' in Outlook.  Figured I'd post for anyone else loving this wonderful feature.  Honestly, 'most' people will probably not have this problem, but when working in the IT world, everything has an underscore.

  1. Outlook Preferences--> 
  2. AutoCorrect --> 
  3. AutoFormat
  4. Uncheck *Bold* and _italic_ with real formatting




NetApp VSC Performance

This is related to the 4.2.2 version.  Essentially, the JVM that is installed for the NetApp VSC, defaults to the following:

  1. Initial Heap Size : 64MB
  2. Max Heap Size: 1024MB
What does this mean?  It means that if you deploy a VM w/ 8GB of RAM to install VSC on, it will only EVER use 1GB of RAM.  The VSC (4.2.2) also tends to have performance issues when dealing w/ larger environments.  There is an article somewhere, but I can't find it for the life of me right now.  Anyway to fix this issue, you need to modify the wrapper.conf file.

This is typically in the installation directory of C:\Program Files\NetApp\Virtual Storage Console\wrapper\wrapper.conf

The lines you need to modify are:

# Initial Java Heap Size (in MB)
wrapper.java.initmemory=1024

# Maximum Java Heap Size (in MB)
wrapper.java.maxmemory=4096

Now you 'can' up the heap to 4GB max if you think it needs it, but I'd recommend looking @ "Active Memory" stats of the VM this VSC runs on to make sure it 'actually' needs that much.  I found in my environment (2000+ VM's), I didn't need to go above this number since it never breached more than 3.5GB.  Since it was staying steady around 3GB, I decided to change the initial heap to 3GB so it wouldn't have to keep building it up on startup.

Later version of VSC 'might' not have this same issue, but you can this same logic if it does.

Extra Note:
You may need to apply this to the NetApp SnapManager Service as well, that is located in:
C:\Program Files\NetApp\Virtual Storage Console\smvi\server\etc\wrapper.conf


vCenter Client for Mac/Linux!? No, not completely, but a most useful tool.


I was lucky enough to play w/ some early builds that Steve put together and now it's finally a 1.0 product.  I highly recommend downloading and playing with it in the very least.  It is a free download.

The one bug that I remember reporting, that doesn't appear to have been fixed yet though is that the client doesn't understand folders in the hosts & clusters view.  So if you have clusters/hosts in folders, it will not enumerate those in the client.  So it's rather useless to me currently, but should work fine for most people.

You can read more about it here:
http://www.doublecloud.net/product/ice.php
http://www.doublecloud.org/2015/03/doublecloud-ice-the-ide-for-managing-clouds/

Download here:
http://www.doublecloud.net/downloads.php

vSphere NFS Connection Status Alarm Auto-Remediation

One minor annoyance I had when moving to a new company was a load of alerts that were simply noise.  Not to anyone's fault, but simply poor default VMware implementation.

VMware comes packaged w/ an alert to notify when a storage path is down.  The problem is that, that's all it does.  So say you have the SNMP traps generated from that to create a ticket.  Great, now you have a ticket, but little did you know that the problem fixed itself via some failover method.

So now you have a ticket, you were woken up in the middle of the night for something that was benign.  Wouldn't it be great if another SNMP trap were sent that said "Hey, I'm ok now, close out the ticket"?

The assumption is that the SNMP trap collector, like HP's BSM/SiteScope tool, were smart enough to associate a trap to the same alarm.  Which, in my case, it does.  So here is how I redesigned an NFS alarm to send trap stating a problem and then having that alarm send a trap designating everything is ok.

Some interesting results from the Project VRC State of VDI/SBC Survey

I can't publish all the results, but they will be available here on March 24th, 2015.

Here are two that I found rather interesting that I can publish early:

XenDesktop seems to be the incumbent VDI solution for the survey respondents.  I knew that Citrix had been around a long time, but still rather surprised that it's still trumping VMware's Horizon View.  I probably shouldn't be though as Citrix has always advertised their solution very well and feature functionality always seems to be ahead of View.  Although, seeing XenDesktop in practice on vSphere infrastructure doesn't give me the warm and fuzzy's especially leading into the next question.
How updates are installed/updated/managed responses doesn't really surprise me, but it does bother me.  Manually updating images seems so archaic and I'm quite frankly surprised that VMware hasn't made updating Parent VM's a more automated process.  Being that the respondents were also Citrix heavy, I feel this bodes poorly for their product on the automated operations front as well.

The only way I've hypothesized to update parent VM's in a somewhat automated process is to:

  1. power-up the parent VM 
  2. query SCCM for the related VM 
  3. wait for a 'success' of applicable 'some time window' updates.  
  4. Power off VM
  5. Snapshot it
  6. Delete old snapshots (based on some time window and count)
  7. WinRM call powerCLI cmdlets on View Brokers to then associate pool to new snapshot.


I think if I remember correctly, doing that last step was not possible or somewhat very difficult because the cmdlets didn't have this capability.  Something to look into again I suppose.  I also have thoughts on using WinRM in a 'cloud' fashion against View Brokers.  I'm working on an article that I'll publish later w/ my thoughts and practical application of this thought.

Counts of VM's running specific OS types

This was a fun little exercise for me in getting a count of VM's per OS type spawned off by a question in the vmware communities board.  The result would look something like this:

It's quite simple and probably could be written a bit more efficiently, but ran sufficiently fast enough for me.
$TotalVMs = Get-View -ViewType VirtualMachine -Property Name,'Summary.Config.GuestFullName'
$OSFilters = $TotalVMs | select -ExpandProperty summary | select -expandproperty config | select -unique guestfullname | sort


$MyCustomReport = New-Object PSObject
Foreach ($OSFilter in $OSFilters)
     {$MyCustomReport | Add-Member -Name $OSFilter.GuestFullName -MemberType NoteProperty -Value ($totalvms | select -expandproperty summary | select -expandproperty config | where {$_.GuestFullName -eq $OSFilter.guestfullname}).count}
$MyCustomReport | Add-member -Name Total -MemberType NoteProperty -Value $TotalVMs.Count


$MyCustomReport

Time to participate in the Project VRC "State of the VDI and SBC union 2015" survey

(I was requested to post this with the benefit of being allowed early access to the results to share.  I'm mainly curious to see what 2015's report looks like.  That and I'd like to see US respondents go up.)




The independent R&D project ‘Virtual Reality Check’ (VRC) (www.projectvrc.com) was started in early 2009 by Ruben Spruijt (@rspruijt) and Jeroen van de Kamp (@thejeroen) and focuses on research in the desktop and application virtualization market. Several white papers with Login VSI (www.loginvsi.com) test results were published about the performance and best practices of different hypervisors, Microsoft Office versions, application virtualization solutions, Windows Operating Systems in server hosted desktop solutions and the impact of antivirus.

In 2013 and early 2014, Project VRC released the annual 'State of the VDI and SBC union' community survey (download for free at www.projectvrc.com/white-papers). Over 1300 people participated. The results of this independent and truly unique survey have provided many new insights into the usage of desktop virtualization around the world.

This year Project VRC would like to repeat this survey to see how our industry has changed and to take a look at the future of Virtual Desktop Infrastructures and Server Based Computing in 2015. To do this they need your help again. Everyone who is involved in building or maintaining VDI or SBC environments is invited to participate in this survey. Also if you participated in the previous two editions.

The questions of this survey are both functional and technical and range from “What are the most important design goals set for this environment”, to “Which storage is used”, to “How are the VM’s configured”. The 2015 VRC survey will only take 10 minutes of your time.

The success of the survey will be determined by the amount of the responses, but also by the quality of these responses. This led Project VRC to the conclusion that they should stay away from giving away iPads or other price draws for survey participants. Instead, they opted for the following strategy: only survey participants will receive the exclusive overview report with all results immediately after the survey closes.

The survey will be closed February 15th this year. I really hope you want to participate and enjoy the official Project VRC “State of the VDI and SBC union 2015” survey!

Visit www.projectvrc.com/blog/23-project-vrc-state-of-the-vdi-and-sbc-union-2015-survey to fill out the Project Virtual Reality Check "State of the VDI and SBC Union 2014" survey.