Showing posts from 2015

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:

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 #E…

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:

Shut down and disable services on original VM.Rename original VM.Rename new VM to original VM's name.Create the following directories on new VM:C:\ProgramData\VMware\Infrastructure\Inventory Service\SSLProgramData is typically always on C: drive, so this is a must.C:\ProgramData\VMware\VMware VirtualCenter\SSLProgramData is typically always on C: drive, so this is a must.C:\Program Files\VMware\Infrastructure\Inventory Service\SSLC: drive can be replaced w/ drive that you plan to install inventory services.Copy your signed certs from your old VM to this new one in the above directories.rui.pfxrui.crtrui.keyIn 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.truststoresms.keystoreEnd Result before installations…

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:

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)
cp /opt/vmware/uninstallers/ /tmp chmod +x /tmp/ /tmp/
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:
Gathers a list of VMsOutputs that list into gridviewClicking 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.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 o…

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 cr…

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.
There are a couple problems w/ this model:
Additional vSphere license costAdditional VSAN license costAdditional 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.
Unfortunately, you can only circumvent the additional SSD/Disk costs.  You still need to purchase the vSphere …

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:

Switched to embedded SSO and back to external SSO.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.Under the admin tab select Yes for certificate regeneration and hit submit.
Then switched back to no.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. …

PowerCLI: Configuring an All-Flash vSAN

From my understanding all-flash vSAN works like this:
Caching Tier is 100% Writes. (Write Buffer)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) { $$SCSILUN.Cano…

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://,udp://" #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 {$ -match "…

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.
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^)/

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.

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:

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.

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 everythi…

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.

TermDefinitionAscendantAny 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

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.


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

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 uninstal…

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.

Outlook Preferences--> AutoCorrect --> AutoFormatUncheck *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:

Initial Heap Size : 64MBMax 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)
# Maximum Java Heap Size (in MB)
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 'actu…

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:

Download here:

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 everyth…

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 fee…

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.)

[Direct link to Survey]

The independent R&D project ‘Virtual Reality Check’ (VRC) ( 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 ( 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 Over 1300 people participated.…