woensdag, oktober 13, 2010

The truth is out there -bist blog IS ALIVE!

Ok, this has been a long time guys (and girls) but Virtrix is back (for a brief moment ;)) to share some very important news: against all odds, the (rather excellent) blog of my collegue Geert Verbist (http://virtual.bist.be) is actually being read!!! By accident, I stumbled upon a guy who was reading a blog post in Copenhagen!!! Can you imagine??

Here is the evidence:

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 http://www.peetersonline.nl. 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: http://www.yellow-bricks.com/2009/02/25/vmworld-day-2-random-stuff-and-data-recovery/

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!