donderdag, juni 25, 2009

VMware: creating vCenter database fails: “login failed”

Today we got a strange issue when creating a new vCenter instance on our corporate SQL 2005 server. During installation we got “error 25003: setup failed to create the virtualcenter repository”.


When setting up the ODBC connection, we used the correct SQL Native Client for 2005. ODBC connection to the SQL was tested and working.

However, in the vpxd installation log we got the following error message:

[VpxdVdb] Converted munged password in registry
[2009-06-25 10:05:14.697 'App' 5392 warning] ToUCS2: Invalid UTF-8 sequence during conversion.
[2009-06-25 10:05:14.744 'App' 5392 error] ODBC error: (28000) - [Microsoft][SQL Native Client][SQL Server]Login failed for user 'VirtualCenterUser’

The problem? Character translation of the vCenter installer failed because we were using a “strange” character in the password (in our case รน). So be careful when using auto generated passwords and check for non-standard character sets!

vrijdag, april 24, 2009

VMware vSphere Health Check Report v1.0

Lamw has updated his Perl based Health Check Report script (now compatible with vSphere 4.0). This script generates a health check report similar to that of vmwareHealthCheckScript but for the new vSphere release of VMware ESX(i) 4.x and VMware vCenter 4.x and it's managed entities.


Check it out here!!

vrijdag, april 17, 2009

ESX - VLAN compare / checker script for PowerShell

First and foremost: all credit goes to Hugo Peeters over at I just took his script and modified what was useful from a VLAN perspective. The code below will create a HTML page with VLAN inconsistencies. This can be a useful script in a large environment to compare all VLANs/portgroups presented on a per cluster basis. I know we use it ;)

Copy/paste this in PowerGUI script editor and run! Make sure c:\temp exists

BTW: in vSphere we will have host profiles and distributed vSwitches to tackle the “not presented everywhere” problem ;)


$outputFile = 'C:\temp\compareVLAN.html'
$VCServer = "<vCenter FQDN>"
$VCUsername = '<username>'
$VCPassword = "<password>"

Function Create-HTMLTable
    $arrHTML = $Array | ConvertTo-Html
    $arrHTML[-1] = $arrHTML[-1].ToString().Replace('</body></html>',"")
    Return $arrHTML[5..1000]

$output = @()
$output += '<html><head></head><body>'
$output += '<style>table{border-style:solid;border-width:1px;font-size:8pt;background-color:#ccc;width:20%;}th{text-align:left;}td{background-color:#fff;width:20%;border-style:solid;border-width:1px;}body{font-family:verdana;font-size:8pt;}h1{font-size:12pt;}h2{font-size:10pt;}</style>'
$output += '<p>The following VLANs are not available to all ESX servers in the cluster:</p>'

$VC = Connect-VIServer $VCServer -User $VCusername -Password $VCPassword

ForEach ($Cluster in (Get-Cluster | Sort Name))
        $output += "<h2>" + $Cluster + "</h2>"
        $VMHosts = $Cluster | Get-VMHost | Sort Name
        $vSwitches = Get-VirtualSwitch -VMHost $VMHosts
        $AllPGs = Get-VirtualPortGroup -VirtualSwitch $vSwitches
        $myPGCol = @()

        $PGdiffs = $VMHosts | ForEach {Compare-Object $AllPGs (Get-VirtualPortGroup -VMHost $_) -SyncWindow 1000} | ForEach {$_.InputObject} | Sort Name | Select Name -Unique
        ForEach ($PGdiff in $PGdiffs)
            If ($PGdiff.Name -ne $null)
                   $myPGObj = "" | Select VirtualPortGroup
                $myPGObj.VirtualPortGroup = $PGdiff.Name
                   ForEach ($VMHost in $VMHosts)
                   $myPGObj | Add-Member -MemberType NoteProperty -Name $VMHost.Name -Value (!!(Get-VirtualPortGroup -Name $myPGObj.VirtualPortGroup -VMHost $VMHost -ErrorAction SilentlyContinue))
                $myPGCol += $myPGObj
        If ($myPGCol.Count -eq 0)
            $output += '<p>'
            $output += "All VLANs OK."
            $output += '</p>'
            $output += Create-HTMLTable $myPGCol
        Clear-Variable $VMHosts -ErrorAction SilentlyContinue
        Clear-Variable $myPGObj -ErrorAction SilentlyContinue
        Clear-Variable $myPGCol -ErrorAction SilentlyContinue
        Clear-Variable $PGdiffs -ErrorAction SilentlyContinue
        Clear-Variable $PGdiff -ErrorAction SilentlyContinue

$output += '</body></html>'   
$output | Out-File $outputFile -Force
ii $outputfile

Disconnect-VIServer -Confirm:$False


vrijdag, maart 06, 2009

VMMU and TPS @ yellow-bricks

Duncan over at Yellow-Bricks just wrote an interesting article on the effect of vMMU on Transparent Page Sharing. He concludes that when virtualized MMU was set to “force” Transparent page sharing didn’t take place or at least at a lower grade. Read more here. Make sure you check out the links in the article!

woensdag, maart 04, 2009

Disk.UseLunReset and Disk.UseDeviceReset Advanced options

One word of advice: if using a SAN attached ESX deployment, make sure Disk.UseLunReset is set to 1 (default = 1) and Disk.UseDeviceReset is set to 0 (Defaults to 1). The reason to disable the Disk.UseDeviceReset param is because it does a complete SCSI bus reset. All SCSI reservations will be cleared, not for a a specific LUN but for the complete device. This could disrupt your SAN fabric. I would suggest setting the ESX host in maintenance mode and reboot it afterwards. See also page 118 of the Fibre Channel SAN Configuration guide or Yellow Bricks post on the topic for more info.

Alternatively, you can also set this via the Service Console by issuing the following commands:

esxcfg-advcfg -s 1 /Disk/UseLunReset
esxcfg-advcfg -s 0 /Disk/UseDeviceReset
service mgmt-vmware restart

donderdag, februari 26, 2009

VMworld roundup – day 2 (and party time!)

Good morning everybody! First and foremost: congratulations to my Xylos college Geert Baeke on becoming a VMware vExpert!!! Check it out here. He deserves it as he must be one of the granddaddy bloggers. So I guess he will be driving his BMW M5 soon ;)

Here is a small recap on some of the things we did yesterday.

In the general session, Stephen Herrod (the company CTO and Senior Vice President of R&D) talked about VDC-OS, the vCloud and vClient initiatives in more detail.


vCenter is one of the focus points during the keynote:

  • Availability: vCenter will have an Active/Passive model using heartbeat (based on Neverfail technology)
  • Scalability: there will be a possibility to use a feature called “Linked-mode”. You can connect to a maximum of 10 vCenters using a single VI Client. Oh yes, to search through al these VMs and hosts you will have the ability to use an (advanced) search feature.
  • Automation: of course, the eagerly awaited Host profiles feature will be spot on for operations teams to keep their ESX deployments in synch. A short demo was shown where a new ESX was added to the cluster and immediately made compliant with the profile.
  • Linux: VMware finally created a vCenter in a Linux appliance

The new componentized model of vSphere is explained in more detail: vStorage (SAN API’s to offload certain features to the SAN => see my previous comments on the NetApp session yesterday), vNetwork aka distrivuted switching and the omnipresent Cisco Nexus 1000V and vCompute.


The concept of the vCloud is definitely an important one: once we have vSphere, VMware will be able to leverage some long distance (storage?) VMotions into or out of the internal/external cloud via a concept known as a “Private cloud”. A short demo with the new vCloud plug-in was shown.


Stephen talks about Mobile Virtualization Platform (MVP) and the PCoIP (PC over IP) concept using advanced hardware (will be software in the future) acceleration techniques such as Teradici 3D/2D mulitimedia accelerators.

Then a Nokia N800 is brought onto the stage to show what the mobile hypervisor will be capable of: a dual- OS using on the one hand Windows CE as the “business” mobile OS, and Google Android for your personal settings.



We decided it was time to do some Labs. First, we did the vCenter data recovery Lab (BTW, it reminds me of a product called ESXpress). Anyway, it’s based on a virtual appliance and a vCenter plug-in.


In a nutshell: you must prepare your backup destination (for example a network share), and create a backup plan using a specific retention policy. By default, data is de-duplicated


File-level restore will be available to in the final version and it will be possible to change the network settings when doing a restore rehearsal (currently, the restore rehearsal boots up the same VM with the same IP by default)

Check out Yellow-Bricks for more info on the hot-add feature used in the virtual appliance to do the backup:

Another lab we followed was the one on the new Cisco Nexus 1000V. As I said in my last blog, this is all about vNetwork: use a managed distributed switch in vSphere to leverage monitoring, Access lists, etc, on your vSwitches. A Virtual machine always uses the same Veth marker, so this is useful after DRS/VMotion is triggered. Check out the key benefits in the screenshot below:


Here is another overview of the Nexus architecture:


A Nexus enabled vSwitch looks something like in the screenshot below: note the UpLink0 (a number of uplink port profiles is created by default BTW) that is used to connect the assigned NICs to your distributed vSwitch. Note the Manage Virtual and Physical adapters links ;)


And then it was… party time! A lot of food/drinks/live music/arcade gaming and beautiful women. Happy times in the Cloud Nine!





dinsdag, februari 24, 2009

VMworld roundup – day 1

Well, last night we had a great party. We did meet with some other colleagues and customers/friends in the evening.



This morning we woke up and…the weather was excellent here in Cannes! We (Geert Verbist over at, Guy and myself) attended the general keynote and some sessions.

For the first time (well, that is not counting partner day) Paul Maritz actually used the term vSphere to describe what will be the VDC-OS of the future (this will be the name of the ESX/VI 4.0 suite of products that will be released in the first half of 2009). The 2 main keywords of this VMworld: VDI/vClient solutions and the internal/external (v)Cloud/VDC-OS

Next, I attended a great session on VMware with NetApp integration. The things these guys are doing (combined with the next-gen vStorage API) are just amazing. Soon we will be able to offload all Snapshot/Clone/Thin Provisioning/… tasks to our storage. At last! What used to take minutes (as in: deploying a template is just a copy operation of a .vmdk) is now done in seconds! Needless to say the demo’s were quite impressive.

Oh yes, did I mention Multipathing in vSphere? I didn’t? Well, listen to this: it will be possible to configure the optimal path to your san (using vStorage API) with just 1 click of the mouse: “Apply optimal path configuration” (or something like that, I don’t remember the exact command). Gone are the days of manual multipathing. Anyway, I hope all other vendors will follow NetApps example and integrate all these nice toys in their products.

Next up was the first 3rd party vNetwork Distributed vSwitch: Cisco Nexus 1000V, a (software) plug-in to ESX that creates an advanced vSwitch version built on Cisco NX-OS. We will finally see a managed vSwitch on ESX with full configuration, monitoring and security options! The VEM (Virtual Ethernet Module, or the vSwitches themselves) are managed by a VSM (or Virtual Supervisor Module, a VM or hardware appliance that manages all VEM instances and that tightly integrates with vCenter).

Don’t worry: if the appliance fails, all configuration states are unchanged until the VSM is revived/restored. You can manage the switches as you can manage a “real” Cisco switch. As this is a distributed switch, you must only create it once per cluster. So adding a new ESX host will be a breeze(oh yes, did I mention host profiles ;))


Another session that got my attention was the one about SRM design best practices. Glad to here we already set-up SRM by the book.

Last (but definitely not least) we checked out a session from the (in)famous Brian Madden himself: VDI versus Terminal Services. In his (controversial) typical way he compared VDI to TS as being both SBC (server based computing) with the same problems/advantages since Citrix launched WinFrame (now called XenApp) for NT 3.51 in 1997.

His conclusion: with TS, you currently get more bang for the buck (or should I say more users per server?). HOWEVER: if you see how fast the VDI space is growing and the fact that there is tremendous competition amongst Citrix, Quest and VMware he predicts that by June 2010 all major problems with VDI as such will be gone. We’re thinking graphical enhancements (Terradici, HP RGS, ....), more users per server, thin provisioning on your SAN, etc..). Yay to TS! Yay to VDI!


Next up: the VMware Benelux party with 250+ Benelux people. Happy times and kisses from Cannes and see you tomorrow!


zondag, februari 22, 2009

First day at VMworld Europe 2009

Ok, so we arrived early @ Nice this afternoon, took the bus to the Palais des festivals in Cannes and went through the registration process. All settled then! Tomorrow we’ll have partner day (and the Benelux party of course!) so stay tuned for some nice blogposts on ESX 4.0 (vSphere?), SRM and VMware View!