Skip navigation

Tag Archives: How to

Well, with my last post, I was not able to join Hyper-v 3 to SCVMM 2012 RC. Therefore, most of labs can’t be done. After I cried loud, our MS TAM help me to find a new copy of SCVMM 2012 CTP. This version is designed for Windows 8 and all functions are in Go status!!

With this exciting news, I managed myself (thanks a lot to my team mates!) to get 3 HP G5 servers to build a test environment today. Just like all test labs, I spent lots of time to work hard to find solutions and I hope my post will save your time and let’s uncover Hyper-v 3 true power together!!

Again, if I made any mistakes, please feel free to point out.

Introduce my Test Lab:

My test lab involves 3 physical hosts in the same subnet. There is no FC SANs available nor NAS exists. Each Hosts has it’s own local disks. I installed Windows 8 Beta on all 3 servers since this is one of conditions to do labs. 2 Servers I have enabled with Hyper-v 3 and I installed SCVMM 2012 CTP on the last server.


There is no issue of installing Windows 8. But with SCVMM, you need to install AIX and .NetFramework 3.5. You can’t tick the .NetFramework inside of W8, that would fail with not able to download. What you can do is following:

And restart server afterwards

Hyper-v 3 Storage vMotion is quite good

The one thing Hyper-v R2 can’t do is storage vMotion. Without this feature, I’m not able to migrate a live VM from one share LUN to another shared LUN without powering off VM. In the Hyper-v 3, MS not only managed to do a share storage vMotion in a cluster with SAN, you can storage vMotion between two standalone Hosts with a windows 8 share folder (SMB 2.2) !! (No more expensive VSA?).

Create a share folder

Live Migration is just normal vMotion with disk files sitting on the share storage. In this case, it’s a windows 8 share folder.

Since I have only local disks, I want to have some shared storages as the part of habit I got from Vmware. With Hyper-v 3, all what you need is a Windows 8 server and create a traditional share.

That’s it. No drama. No need for any specific share rights. This share purpose is to enable you to see this share when you add it into VMM. Once it is added, VMM will modify the accessing rights.

There are 2 steps to add this Share resource. The first steps is to add it to VMM library. so all VMs will sitting on that. You also need to add share resource to individual hosts so VMM will add hosts ID to security list.

Add to VMM Library

Add to individual host

Once it is added, your host is able to migrate VMs to share library.

This is how VMM setup access rights on the folder.

Storage vMotion (between host and share folder)

Basically, you can migrate VM files from local disk of your host to a share folder and from share folder to share folder or move it back to local disk.

According to my calculation, there is no ping drop during moving. The ping value sometimes is increase from 2ms to 65ms.

Storage vMotion from host to host

It’s interesting that MS say Hyper-v 3 is able to storage vMotion between two standalone host but they recommend to do it with a share folder accessable by both hosts. So does that mean you can Storage vMotion + vMotion from Stand alone host to stand alone host?

From my test result, It actually tried but failed at 81%. What it happened was Storage vMotion kicked in and copied 9GB data from one host to another host. During the copy procedure, the ping value jump up to 600ms. But the file is copied completely. Then, ping drop back to 2ms and tried to translate the last bit in the memory and that’s where it failed.

Overall, Hyper-v 3 can do Storage vMotion and with at least 2 sessions at same time. The ping value jump up can be contributed with my 100Mbit/s network limitation. Hyper-v 3 can use a normal windows 8 share folder as storage space which saves tons of money. so no more NAS and VSA? The new Windows 8 vhdx supports 64TB so there is no worries on how big a single file can be.

Bugs I have found:

1.With Windows 8 beta, RDP connection seems dropped if I started to copy large files via network. The whole server actually seems to be frozen status until copy is finished. My guess is that W8 didn’t prioritize RDP over copy session.

2.When I storage vMotion a VM which use differencing disk, the original disk (or parent disk) are not moved with storage vMotion.

It seems it becomes sort of tradition for me to apologize delay updates every time I start a new post. The truth is it does happen in recent posts. –_-b

I am currently focus on VCAP-DCA exam and so does that help me to excuse myself little bit? :p

Anyway, welcome to read my post and I will continue to update with my best effort. Today, we are going to talk about migrate ESX3.5 to vSphere with Powercli.


Let me introduce environment first.

The old environment:

We have 7 ESX 3.5 hosts with 100 VMs running on it. It is using SAN base as datastore. 1 physical server is running vCenter 2.5 on it.

New environment:

All ESXs will upgrade to ESXi 4.1U1. vCenter will upgrade to latest version as well. It uses same SAN datastore so that’s a plus in this migration.

Migration Steps

Following is a diagram which give you some brief idea about how I do my migration. It’s little bit big picture, pls be patient when it loads.

upgrade to vsphere diagram

Using Powercli to help you

First of all, Powercli is powerful tool. But I have to mention that sometimes, it’s just much easier to use GUI interface which utilize internal cmelet and scripts to do jobs. However, there are some steps Powercli can fully utilize resource and make job quicker and efficient.

I’m going to describe the “Second week” work from above diagram with powercli power.

Preparation Stage


Of course, you need to download powercli and install first. You can find out the powercli from vmware website. or here

if you want, you can download Vmware Update Manager Powercli snap-in as well from here.

After you install powercli, you need to run it.

You may encounter this error when you run it. Regardless 32bit or 64bit version.


All what you need to do is run command as following:


then, close the powercli and rerun it again.


To do those jobs, you will find following scripts coming very handy.



Those are very good scripts although they are not watch-free scripts. It means it does require some modification or you have manually interfere when it stuck at some place time by time.

What we need to do

Following steps are what we try to do in this week.

1. 20 VMs need to migrate to new vCenter.

Well, there are 20 test vms currently running on the old hosts. Since they are sharing the same datastore(both new environment and old environment), we can just shutdown and register them on new vCenter.

1.1 connect to vCenter

Connect-VIServer your_vCenter

Note: You do can connect to host but we are working on vCenter since VMs are crossing multiple hosts.


1.2 created a new folder so I can operate VMs at same time.

You need to make sure that folder is “blue” folder not yellow folder

In this example, I found there a blue templates folder. so I will create migration folder beneath it.

New-Folder -Name migration -Location templates

1.3 Move all test VMs to this folder

Move-VM -VM yourvmname -Destination migration

You need replace yourvmname with each VM you want to move. If VM has long name, you can use yourvmname* to get rid of rest name part.

Use following command to check all vms in the “migration” folder or not

get-vm -Location migration

1.4 Create old_vmtools folder in the new vCenter

You do same thing as above and create a new folder in the vCenter called “old_vmtools” to accept those VMs.

1.5 stop all test vms

You need stop VMs from old vcenter so you can import them into new vCenter

You will love these with powercli

get-vm -Location migration|Shutdown-VMGuest

You can use stop-vm but that will turn VM off immediately.

1.6 Import vmx into new vCenter

You can do this step with script, but it’s too much trouble. It’s easier to just manually do it on new vCenter via GUI interface. When you import them, pls make sure you import them to “old_vmtools” folder.

1.7 Install VMtools

You must install VMTOOLS before you upgrade vm hardware level.

get-vm –location old_vmtools|start-vm

Here is intersection. You either use script upgrade-vhardware_vm which will install vmtools and upgrade vm hardware or you can manually install Vmtools first. Then, you use script to upgrade Vm hardware.

For safe reason, I did the second idea.

You can just click folder name on vCenter, and choose “Virtual Machine” tab on the right side window. Use “Shift” key to select all vms, and right click to choose


It will upgrade all VMs vmtools automatically. Wait for 30 mins and come back.

You may notice some of VMs failed on upgrade.

You need to open those VM console and go to VM->install Vmtools on the manual. It will automatically load Vmtools installation iso on the vm cd-rom.

go to cmd and go do cd-rom and run

d:\setup /c

This will manually remove old-vmtools. Then, you will install it again.


1.8 upgrade vm hardware

After make sure all VMs got new vmtools, then you can safely use script to upgrade vm hardware.

All what you need to do is to download script. Change extension name from docx to ps1. Copy this script to the server where powercli runs.

In the powercli, you just need to type name of script and run.


This script asks you which vCenter and folder where VMs sit. Answer those questions, the script will stop VMs one by one, check vmhardware version. Upgrade version if it is old. And restart vm.

Note: sometimes, shutdown vm takes too long before script try to convert vm hardware version. so it will stuck. You need manually upgrade hardware version and manually start vm.

1.9 remove old vms from old vCenter

at old vCenter

get-vm –location migration | remove-vm

2.0 move vms to test folder

at new vCenter

get-vm –location old_vmtools|move-vm –destination test_folder

Here it is. It’s pretty easy and simple to do the job with powercli.

Please leave comments as usual. Thanks for reading.


So this is last part of this series. Hopefully, I don’t need to write another post.

From previous post, I discussed about how to install and configure Trend Deep Security 7.5 on vSheild. This post will talk little bit more about configuration and performance review.

In my last post, I have installed vShield Zone on host, Install DS Manager one of my VMs which is also vCenter, and push DS Virtual Appliance on to one of hosts.

Then, I changed the IP and network configuration on the DS VA and activate it with Deep Security Virtual Appliance.

Please be aware that Security Policy is playing an important role in the DS. You need to make sure all protected VMs having correct Security Policy.

Once you finished the VA, we can go back to DS manager and take a quick look.

I would like to list some common issues you may encounter.


If anti-Malware status is not Capable, it means vEndpoint is not installed on this ESX host.


If Anti-Malware is on, but the color is blue. It means you haven’t assigned correct policy on this VM. In default, there is no policy at all. Just right click the VM and follow the instruction.



You better actually create your own policy before you apply. Some default policy(like windows 2k3) doesn’t have all protection on and doesn’t allow certain protocol (e.g: RDP). The best way is to make copy of old policy and customize a new one for yourself.

The next step is to prepare your VMs. All what you need to do is to install vShield Driver agent and DS Agent. Once you finish installation, you must reactivate your vm from DS Manager to let DS Manager to check VM status.


If you have installed both agents and apply right policy, reactivate your vm from DS Manager. You should see something like this in the DS Manager.


It should have all greens and Agent should running. Your VM should be protected at each level from crossing both Appliance(working with vEndpoint) and Agent.

One more thing when you try to install DS Agent, you need to copy the installation on local disk of VM and install. Otherwise, you will encounter this error.


Virus download test

I have a protected VM which has all features turned on. Let’s see how it react when I tried to download a virus sample file from Internet.


It actually worked!

Does Deep Security actually reduce resource consumption?

Here is the big question. The reason we spent so much time to deploy this product is the rumour that it can save the resource comparing with traditional AV solution. Let’s take a look.

I installed OfficeScan on one of test machines. I monitored the resource which has been consumed from CPU, Memory,DISK,Network for both test VM and Host as base line. I will scan a vm with officescan once. And also scan it with DS.

Protected VM CPU

Protected VM CPU with OfficeScan


CPU: 50% of one core. It lasts 10 mins.

Protected VM CPU with DS



only 22% on CPU comparing with 50% on Office Scan.

Note: I ran twice on this test.

Protected VM DISK

Protected VM disk with OfficeScan


Disk: 5000KBps for 10 mins.

Protected VM disk with DS:ds-15

It’s very interesting to see the first run disk but nothing on second. The reason is the first run has already load disk data into memory and it doesn’t require to load again at second time. It proves DS is load to memory and scan only memory theory. The DS scan finished in 4.5 mins.

Protected VM Memory

Protected VM with OfficeScan


Memory: Consumed memory is 1.25GB, and active memory is 4GB.

Protected VM with DS


50% of active memory in 4.5 mins. I ran twice.

Protected VM Network

Protected VM with OfficeScan


Network: OfficeScan tried to contact OfficeScan server at beginning. Then, it went quiet.

Protected VM Network Activity with DS:


There is almost nothing on network. It means DS is using ESX module to scan memory directly. It doesn’t go through normal network channel. Because it is using similar theory as vSwitch, I call it a protected vSwitch channel.

From what I can see via Protected VM angle, the resource has been consumed almost 50% less and use only half time to finish scan.

Because using DA actually involves to use Deep Security Virtual Appliance to scan. We need to take look about DS VA.



The truth behind scene is DS VA is actually scanning the data instead of protected VM. That’s why you see low utilization on VM because all what it did was to load data into memory and call vShield Endpoint driver to let DS VA to scan.

DS VA Disk:


Almost nothing on disk VA disk activity.

DS VA Memory:


It consume 1.5GB memory on VA. It’s understandable.

DS VA Network:


This is very interesting. According to this chart, the network activity on DS VA is very high during scanning. It means vShield Endpoint will open port for all VMs sitting on that protected vSwitch instead of just DS VA.


This is the vSwitch vShield Endpoint use. It’s just normal vSwith and you can add adapters if you want. It does bring my concern whether this could be potential security breach.

Here is moment of truth. Will DS actually save resource from ESX perspective?

Following is the data from Physical ESX Host:

ESX CPU utilization

ESX CPU with OfficeScan


4% of total CPUs on ESX box.  I have nothing else was running on that host.

ESX Host CPU Performance on DS


It does finish scan in half time but it actually use 6% of CPUs. Be aware this is not including overhead of ESX host CPU. It’s 2% of higher than OfficeScan.

ESX Disk with OfficeScan


Disk activity on ESX host.

ESX Disk activity with DS


It’s same disk activity but with half loading time.

There ain’t much point to check memory since everything is happening in the memory. Just one module to scan another chunk of memory in the host. That’s all.


Let’s sum up with what we have learned from those data. Please be aware I’m only test single machine scan.

Resource consumption:

ESX Host

OfficeScan DS 7.5
CPU Util 4% 6%
CPU Used time 10 mins 4.5 mins
DISK Util 200CMD/s 200CMD/s
DISK Used time 10 mins 4.5 mins
Memory Same Same
Network 0 0 Nothing on pNIC

It does seem like Host CPU is consumed more resource than officeScan.

but It seems that DS VA doesn’t support multiple threads scanning at same time. If that’s the case, a host can hold about 30 VMs max. So DS Manager will schedule to scan all machines in different time.

This is the end of this Session of this year!

I wish everyone has a wonderful Christmas and Happy New Year!!



First of all, I would like to apologize for updating my blog late since I was called away last week and not able to do too much.

I’m going to talk about vShield Edge and vApp. First of all, let’s review why we need vShield Edge. The last post can be found here.

What is vEdge?

vShield Edge is deployed as a virtual appliance to provide firewall,VPN, Web(HTTP only) load balancer, NAT, and DHCP services. Eliminate the need for VLANs by creating a barrier between the virtual machines protected by vShield Edge and the external network for port group isolation. Satisfy your network security within virtualized environments:

  • Consolidate edge security hardware: Provision edge security services, including firewall and VPN, using existing vSphere resources, eliminating the need for hardware-based solutions.
  • Ensure performance and availability of web services: Efficiently manage inbound web traffic across virtual machine clusters with web load balancing capabilities.
  • Accelerate IT compliance: Get increased visibility and control over security at the network edge, with the logging and auditing controls you need to demonstrate compliance with internal policies and external regulatory requirements.

Why do we need vEdge?

VMware is trying to design cloud system which can be used by ISP to host multiple Enterprise clouds on one datacenter.


VMware needs a cheap and efficient way to manage internal network to make sure the data between different clouds can be isolated from different network level but also be connected with well control. vEdge is used to allow you to isolate different cloud with NAT, load balance, DHCP and VPN.

Here is a good example for NAT using. There are two Test environment coexists in the same network because NAT function vEdge provides.


With vEdge, you can separate your Network tenancy into different connections without security breach or other threat.


Install vEdge

Installing vEdge is required to install license first. It’s the same location as you will do for others.


The next step is to choose which vSwitch (vSS or vDS) you want to deploy vEdge. Not like Zone which can be installed on vNic level, vEdge can be only setup on PortGroup.


All what you need to do is to choose a portgroup and click Edge menu on the right hand and provide information for vEdge VM and click to install.


Since vShield zone is base on Network crossing host, only one VM will be created and deployed by vShield Manager.  vSheild-Edge-DvPorgGroup can be migrated to other Host without any issues.


There is option when you install vEdge on Portgroup. It’s called Port Group Isolation.

You can prepare and install a port group isolation on vDS. It is an option for vEdge and it only works for vDS based vShield Edge. The port group Isolation creates a barrier between the protected VM and external network. Only NAT nuels or VLAN tags are configured.

At same time, a new vShield-PGI-dvSwitch will be created to handle traffic control. Each port group isolation will create a new VM.

Configuring vEdge

Everyone configures it differently. Please check out screen shots.










Load Balancer

Load Balancer is only for HTTP protocol at this stage. It’s designed for front web servers.


Few things to be aware:

  • At this day, vEdge can handdle 40,000 concurrent sessions.
  • You can make rules in the different layer, but new rules don’t apply to established sessions unless you manually apply it.
  • You can always create security groups as logical unit to manage your rules.
  • There is no package capture functions in vShield.
  • vEdge license can be included in Vmware View premium version.
  • vZone license can be included in vSphere Advanced.
  • vApp license can be included in vCloud director.

We will talk about vApp in next post.

I do understand that there are quite few articles around talking about how to enable multiple cores. But I did encounter few issues when I tried to do it by myself. Therefore, I write this down just as reference.

Why do we need to have Multiple cores in your VM?

The reason is simple. Microsoft Windows only support limited number of processors on their OS.


Win OS Version Max Processor
Win2k3/2k8 Standard 4 CPUs
Win2k3/2k8 Enterprise 8 CPUs
Windows 2003 DataCen 32bit 32 CPUs
Windows 2003 DataCen 64bit 64 CPUs
Windows 2008 DataCen 64bit 64 CPUs
Win 2k8 R2 64 physical CPU or 256 logical CPU


Let’s say, if you are running a Dynamics AX AOS server, it is required to run multiple cores to do your batch jobs. With AOS server, you can setup number of helpers to work with distributed batch jobs. The maximum number of helpers (number of supporting cores) is 21. If I run AOS on Windows 2003 Standard, I need to enable multicores so a Win2k3 standard can run 8 cores to help me improve calculating.

How do we enable multicore on VM?

You need to do that in vm 7 hardware which means it should be vSphere 4.x version. (I was told it could work on ESX 3.5, but I haven’t tried yet). Most important and difficult condition is you need a Enterprise Plus license to let VM to support 8 vCPUs.

You can work around by installing a new ESXi host(not your vCenter since CPU license is related to Host license)

Let’s say if  you want to have your vm to have 4 vCPUs and 2 cores on each vCPU. Here is a trick. You need to give this VM 8 vCPUs(4vCPU x 2 cores= 8vCPUs) instead of 4 vCPUs.


This will give VM 8 vCPU all together. Now you need to setup 2 cores for each vCPU. In terms of doing that, we need to add a special Configuration Parameters. Turn off you VM->Edit VM Setting


Manually add this new row into your sheet.



Then, you turn on VM.

How to verify I’m using multicores?

Well, the basic way is to open Task Manager and Device Manager.


Please be notice that the above picture is from another example. It should show up with 8 cores but it only shows 4 cores because that’s another machine. I will replace picture later.

There is another way to see number of cores if you running windows 2008 above.

Get into your machine->cmd->wmic->cpu


Move your scroll bar to middle. Here is just example. Again, it’s not related to my test machine. And you need to remember this method only works on Win2k8. For W2k3, you need other third party tools.



Possible problems you may run into

Like what I said before, you need to have Enterprise Plus license or Evaluation license on host. Otherwise, you will be pleasure to see this error.



What difference between multicores and multiCPUs?

The answer is, from performance wise, nothing. It’s just different way to call it. VM still pass on the CPU cycle to host and process it. The best practise is if you want to have 8 vCPU, you can either have 4 vCPU x 2 cores or 2 vCPU x 4 cores.

It’s total you choose and your call.



Vmware KB Article: 1010184


Here is a details you may find handy in the future. As we all use Microsoft products, MS always release their Demo with vhd format. I always thought it would pretty easy and straight forward to convert vhd to vmdk. But it turns out it’s not exactly smooth like it sounds. so I write this article to help everyone who may have same issue.

Let’s check out the basic requirement.

Sharepoint 2010 Demo.

You need to download 28 winrar compressed files from Microsoft website. It will occupy 17GB space.

Extra those 17GB files, you will get two folders.  2010-7a (44GB,vhd) and 2010-7b (14GB,vhd) file.

These vhd are using thin mode. The full size of vhd is 133GB each.


Run Sharepoint Demo in the Test or Dev Environment.

Hyper-V Solution:

You can install Windows 2008 R2 on a real physical server and add on Hyper-v feature.  However, if you don’t have Hyper-V, you may encounter following.

Hyper-V in Vmware Env  issues:

1.MS doesn’t allow you to enable Hyper-v feature on a VM. There is no other way to install Hyper-V on VM.

2. Virtual PC can’t run this Demo either. As matter of fact, MS recommend only use Hyper-V R2 to run it.


Vmware Solutions:

If you environment is complete VMWare, we need to figure out a solution to run DEMO in the Vmware vSphere Test or Dev env. But we also don’t want to waste all unnecessary space during the procedure. So for all converting, vhd or vmdk must be stay in thin disk mode.


Using Vmware Convert:

Vmware Convert is an excellent tool. However it doesn’t support vhd file directly. It requires thirdparty software to do preparation. Vmware Converter has 5 ways to import other machines into Vmware.

  1. Power-On Machine(As long as they are windows server and 2003 up. Physical or VM, using MS VSS.)
  2. VMware Infrastructure virtual Machine (convert a vm from Vmware ESX itself)
  3. Vmware Workstation or other Vmware virtual machine (must be a vm, not just a single disk. For vm server as well.)
  4. Backup image or third-party virtual machine (Support virtual PC, Symantec Recovery Imange, Acronis etc, must be a vm, not a single disk).
  5. Hyper-V server (It will deploy convert agent on Hyper-v, doesn’t require reboot).


In our case, we need to use method 3,4 or 5 to do the job.

Method 3 requires a Vm workstation or VM server version of VM. We can use Starwind to do this job.


Starwind free tool V2V convert can convert VHD to VMDK and vice verse.

It can has following options. First 3 options are what we concern.


Vmware growable image and VMware pre-allocated image are VMware workstation version VMDK. First option is to use thin disk mode.If you choose this one, you have to download a VM workstation or VM Server to create a VM.

Vmware ESX Server image is what we want. But it has biggest issue. There is only thick mode for this option. In our case, you have to convert 43GB VHD(thin mode) to 131GB VMDK (ESX but thick mode). You can upload this big fat file to your storage space but it will cause lots disk consumption and time.


Then, you can use VMware converter to import it into ESX.

Method 4 is the one I recommend here.

All what you need to do is to download Virtual PC 2007 SP1 which can be installed on the Windows 2008 R2. You can simply run it easily and ignore the warning it gives you since you don’t need actually to run vm.

You just need to create a Mcirosoft Virtual PC VM. Then, you can use VMware convert to import it into ESX.


Method 5 is a little distance to go.

You need to install a Hyper-v on bare physical hardware and create a VM and import the vhd disk. Then, you can use VMware convert to import it into ESX.



Convert VHD to Vmware method.

Install Virtual PC 2007 sp1-> Create a vm->using vhd->save vmc file->load VM Converter->use method 3->import into vSphere

Install Starwind->Convert VHD to ESX Server VM->save full size VMDK file ->Upload full size VMDK file->Create VM in vSphere->using VMDK disk (full size)

Install Starwind->Convert VHD to VM workstation vmdk(thin)->save thin vmdk file->install VM workstation or VM Server->Create vm->load vmdk->create vmx file->load VMConvert->import into vSphere with thin mode

Or you can use Winimage to replace Starwind


Download virtual pc 2007 sp1

I have spent some time on collecting information for VCAP. I have downloaded the blueprint but it turns out I have too much stuff I need to catch up. so I am thinking why not sharing some of my collection while I’m searching? Here is the first post and please write to me if you have your own way to prepare VCAP.

Ok. Today topic is understanding storage identifier in vSphere 4.1. I’m not quit sure whether you have noticed the storage identifier in ESX 3.5 is a mess. It’s different from the name you give it via the SAN and it’s all different on each host. vSphere 4.1 has dramatically changed the chaos with new name and new rules. Let’s take detail look.

Please be aware that all ESX 3.x examples and discussion in this post referes to ESX (not ESXi). All ESX 4.x refers to ESXi 4.1 only since we won’t use ESX anymore in vSphere 4.1. Also, ESX 3.X will see different storage device (but same type) vs ESX 4.x.Please look the keywords not exactly label.

There are 4 different ways ESX use to label storage.


  • vmhba<Adapter>:<Target>:<LUN> or vmhba<Adapter>:<Target>:<LUN>:<Partition>
  • vml.<VML> or vml.<VML>:<Partition>
  • /dev/sd<Device Letter> or /dev/sd<Device Letter><Partition>
  • <UUID>

There are 6 different ways ESX use to label storage.


  • naa.<NAA> or  naa.<NAA>:<Partition>
  • eui.<EUI> or eui.<EUI>:<Partition>
  • mpx.vmhba<Adapter>:C<Channel>:T<Target>:L<LUN> ormpx.vmhba<Adapter>:C<Channel>:T<Target>:L<LUN>:<Partition>
  • vml.<VML> or vml.<VML>:<Partition>
  • vmhba<Adapter>:C<Channel>:T<Target>:L<LUN>
  • /dev/sd<Device Letter> or /dev/sd<Device Letter><Partition> (ESX only, not for ESXi)

Let’s take a look what ESX 3.x storage properties tell us about device name.

Vmware use vmhbax:y:z to identify a storage device. How about ESX 4.x?

Here it is. New identifier for ESX 4.x.

naa.<NAA> or eui.<EUI> to replace vmhba
vmhba was very confused in the ESX 3.X version. It could be considered as path name or device name. In the ESX 4.X, vmhba is exclusively to identify a path to LUN.

NAA stands for Network Addressing Authority identifier. EUI stands for Extended Unique Identifier. The number is guaranteed to be unique to that LUN. The NAA or EUI identifier is the preferred method of identifying LUNs and the number is generated by the storage device. Since the NAA or EUI is unique to the LUN, if the LUN is presented the same way across all ESX hosts, the NAA or EUI identifier remains the same.

mpx.vmhba<Adapter>:C<Channel>:T<Target>:L<LUN> ormpx.vmhba<Adapter>:C<Channel>:T<Target>:L<LUN>:<Partition>

Some devices do not provide the NAA number described above.  In these circumstances, an MPX Identifier is generated by ESX to represent the LUN or disk. The identifier takes the form similar to that of the canonical name of previous versions of ESX with the mpx. prefix.  This identifier can be used in the exact same way as the NAA Identifier described above but it’s for local disks identity. In other word, this is used for local device only.

vml.<VML> or vml.<VML>:<Partition>

The VML Identifier can be used interchangeably with the NAA Identifier and the MPX Identifier. Appending:<Partition> works in the same way described above. This identifier is generally used for operations with utilities such as vmkfstools.
The vml path hosts the LUN ID, GUID and partition number information and this is also stored in the volumes VMFS header. Vml construct is used by kernel to define paths to see SCSI LUN.

/dev/sd<Device Letter> or /dev/sd<Device Letter><Partition>

This naming convention is not VMware specific. It’s decided by Red Hat Linux and you won’t see that in the ESXi 4.1 since it’s replaced by mpx. This convention is used exclusively by the service console and open source utilities which come with the service console. The <Device Letter> represents the LUN or Disk and is assigned by the service console during boot. The optional <Partition> represents the partition on the LUN or disk.  These naming conventions may vary from ESX host to ESX host, and may change if storage hardware replaced.  This identifier is generally used for operations with utilities such as fdisk and dd.

Note: VMware ESXi does not have a service console; disks are refered to by the VML Identifier.


The <UUID> is a unique number assigned to a VMFS volume upon the creation of the volume. It may be included in syntax where you need to specify the full path of specific files on a datastore.  The UUID is generated on the initial ESX host that created the VMFS volume based on the UUID creation standards. It’s possible to have same UUID although it’s very rare.

I’m going to show you a series of command and you will see the difference between ESX 3.x and ESX 4.x.

Please leave comments if you want. Thanks

This slideshow requires JavaScript.



ESX storage:

UUID is not unique:

This is fix up for PVSCSI issue in ESX 4.0 U2. Previous link

Basically, there are 2 errors you may encounter during adding pvscsi device  to windows 2k3 and 2k8.

1. PXE issue

After you added new disks, you encounter PXE issue. Even if disk you installed is the secondary disk, you will still encounter this issue.


Vmware bug

New Updates:

Just spoke to Vmware support and they are able to reproduce this issue in their lab.


Vmware vCenter 4 U2 can’t take too many options in adding and changing hardware at same time. so do one step a time.

E.g: add disk. then, click ok. Get into setting, change type of scsi, ok. etc.

New fix:

This issue is caused by boot SCSI card sequence has changed after you delete and add new SCSI controller.

All what you need to do is to make sure the SCSI (0:0) is in the first bootable position like what  you can see in the diagram.

2. Blue screen of windows

After changing boot disk SCSI controller type, you can see windows started, then, you encounter blue screen. The system keep restarts.

Cause: Windows doesn’t have your SCSI driver.

Solution: You must have all SCSI drivers available in device manager before you load all type of disks. If you build machine with PVSCSI, you won’t have LSI SCSI driver. So you need to add secondary disk of LSI to let vmtools to install driver.


Before you start:

I have fixed PVSCSI few issues in my another post. Please check out if you do encounter problems.

I really hope you guys like my last series ESXi era: Using ESXi to replace ESX. I will start a new series which is upgrading ESX 3.5 to vSphere. I believe lots of companies are facing with this issue while ESX 3.5 support reaches it’s own lifetime and vSphere become more matured. This series is not only talking about how to upgrade, it also discuss how to optimize your performance and new technology used in vSphere.

Since this is a large projects if you have big environment, I would like to break them down and bring them to you with not exactly project wise order. I will make a list of ordered posts at the very end of this series.

All right, let’s hit the ground and roll out!

One of issues for upgrading ESX3.5 to vSphere is to upgrade your VMs. Your VMs are using Vmware hardware version 4 which doesn’t give you too much performance boosts. I’m going to guide you through how to upgrade a VM (I’m using Windows 2008 R2) to new version and optimize more. There are lots of detail information will be blended in this process.

Test Environment

In my test environment, I have a vCenter 4 U2(build 258672) and 1 ESX 3.5 U5 (build 226117) and ESXi 4.0.1 U2(Build 261974, You have to redownloaded this version of ESX 4 update 2 since latest update has issues with View).

I added those 2 hosts into vCenter at same time which will be exactly similar situation you will encounter in the future. So I created a VM(Windows 2008 R2) from ESX3.5 and ready to be moved to vSphere. This VM has 3 hard disks. 1 OS and 2 data disk. As you can see from this picture.

be noticed that the nic card the vm current has is E1000. Also the SCSI controller is LSI Logic Parallel.

As you can see from above picture, the OS is win2k8r2 and it’s running on hardware version 4.

That’s the vmtools version running on that VM.

Step 1: vMotion and Upgrade VMtools

First step is to vMotion to your ESXi server. I’m not going to solve the issues you may encounter on the vMotion, but I can recommend you to shutdown VM if you have to. That will help you a lot in many cases. You are going to have outage for the following procedures anyway. the next one is to upgrade VMtools. You must upgrade VMtools before you upgrade VM hardware. Otherwise, you may encounter missing and hidden drives issue I will mention later. So you  can either upgrade manually in VM console or just right click VM and choose guest->Upgrade vmtools.

Be noticed Upgrading VMtools will cause restart your VMs. Make sure you have turned off your monitoring services.

After upgrade VMtools, you should able to see new VMtools version.

Step 2: Upgrade VM hardware

VM hardware upgrade option will only appear when the VM is off. Hence, you need to power off your VM and right click Upgrade Virtual Hardware.

Notice: Once  you upgrade your VM HW to v7. You can’t vMotion VM back to ESX 3.5 server.

This is result of upgrading VM hardware. The Hardware version is 7. Nic is still using same nic which is E1000 in this case. Be noticed there is a new VMCI device added into your hardware list. VMCI in default is disabled. so What is VMCI?

The Virtual Machine Communication Interface (VMCI) is an infrastructure that provides fast and efficient communication between a virtual machine and the host operating system and between two or more virtual machines on the same host. The VMCI SDK facilitates development of applications that use the VMCI infrastructure.

First of all, VMCI is fast. Instead of going through 1Gb/s virtual nic to communicate  other VMs, it directly use memory to exchange data with other VMs on the same host. It can reach 24 times as fast as 1Gbps network connection in some case depends on your physical memory structure.

then, why not uses it? VMCI basically requires not only OS to support it, it also requires application to use VMCI stack instead of traditional TCP/IP stack. At this day, not many applications can do that. That’s why it’s disabled in default.

Step 3: Optimize your VMs with new technology

All right, let’s move on. so Hardware upgrade finished here? No. If you stopped here, you will lost a huge chunk of performance boost. There are at least 2 technologies you can apply to your VM so you can gain performance up and utilization of CPU down.

First technology, PVSCSI.

They were able to achieve 350,000 I/O operations per second on a single vSphere host (ESX 4.0) and with just 3 virtual machines. Their testing utilized the EMC Enterprise Flash Drives, which have an incredibly high throughput. They talked about how the VMware Paravirtual SCSI (PVSCSI) adapter was able to achieve 12% more throughput with 18% less CPU cost compared to the LSI virtual adapter.

There are also downsides with PVSCSI. First of all, it does  support bootable disk officially after U1.I have tested building new windows 2003 and windows 2008 with PVSCSI as boot disk successfully. All what you need to do is to connect floppy disk image when you install windows. Then, you need to hook up with PVSCSI floppy image which you can get them into 2 ways. Please follow this link to get more information.  From my tests, it failed when I tried to use it on existing boot disk on windows 2003 server and windows 2008. It also doesn’t support FT as well. But It’s worthy to use it.

The other technology is new VMnic card.

The paravirtualized network adapters in the VMXNET family implement an idealized network interface that
passes network traffic between the virtual machine and the physical network interface cards with minimal
overhead. Drivers for VMXNET-family adapters are available for most guest operating systems supported by
The VMXNET family contains VMXNET, Enhanced VMXNET (available since ESX 3.5), and VMXNET
Generation 3 (VMXNET3; newly-added in ESX 4.0).

The paravirtualized network adapters in the VMXNET family implement an idealized network interface thatpasses network traffic between the virtual machine and the physical network interface cards with minimaloverhead. Drivers for VMXNET-family adapters are available for most guest operating systems supported byESX.The VMXNET family contains VMXNET, Enhanced VMXNET (available since ESX 3.5), and VMXNETGeneration 3 (VMXNET3; newly-added in ESX 4.0).

There are some tricky way to implement those hardwares. Let me demonstrate you as follow.

First of all, you need to know what’s your current IP configuration of E1000 card. Then, you can deleted the E1000 card when VM is power off. Now, switch to one of non-boot disk and notice that disk is connecting to SCSI(0:1) which means it connects the our first SCSIcontroller.

Now, you need to remove (disconnect) your 2 non-boot disks.

Make sure you are using “Remove from virtual Machin”. You don’t want to delete vmdk file from disk.

then, you press ok to apply these operation.

Your VM settings should like this picture. Notice VMCI device is not enabled.

We have already removed all old hardware now we need to reinstall them. Click Add to add new Ethernet Adapter.

Select VMXNET 3 card. Finish the wizard.

Now, let’s add (connect) removed hard disks. Be aware you will gain second SCSI controller during the procedure as well.


You have to choose SCSI (1:0). It will start install additional SCSI controller. At this stage,  you don’t have choice to choose type of SCSI card, but you can do it later.


Be aware new SCSI controller is there. Also new hard disk. Now, you can modify the type of that new SCSI controller. With vSphere, you can let multiple VMs to access same VMDK as well.

It’s time to add another removed disk.

That’s what it look like after finishing configuration.

After finishing configuration, it’s still few steps from making it work. You added and removed hardware for that VM, but VMWARE didn’t actually removed the hardware from OS level. What it did was to hide removed devices instead of actually removing it. so you have to do it by yourself.

Now, let’s start VM and restart it with it’s request since we added new hardware.

Just be aware the IP address has lost since we are using new nic. We have to get into system to remove old hidden nic card so we can add ip to new card. As what I mentioned above, the old card is still hidden and with IP configuration. Since Windows doesn’t allow same  IP to apply to nics in the same box, so you have to removed the old card.

After you finish restart, you log into vm via console and open command window and do following step.

There is also another trick. You must start device manager not computer manager which contains device manager. If you use computer manager, you won’t see hidden devices.

so once you opened device manager, you should see following picture.

You still to enable show hidden device. But if you don’t set environment variable and open device manager, you won’t able to see those hidden devices.

Next step is to remove those hidden devices.

then, you can add IP and finial picture should look like this one.

All right. This is end of part 1 of Upgrading ESX 3.5 to vSphere. I explained how to upgrade VMs and also use the new technology in vSphere. I hope you will like it and please feel free to leave comments.


First of all, let me express my personal feeling to people actually visit my site day by day. I have been away for one week to get MCITP:EA certificate and haven’t updated my blog for one week. But I’m just surprised by how many people actually keen to come back my blog.

Now, I’m off MS for a while and finally can dive into VMware world again and hopefully, I can get practical and deep as well. With no further duo, please allow me to bring up this new series topic, Using ESXi to replace ESX.

Why would you to use ESXi to replace ESX in the production?

I’m pretty sure that’s the first question you would ask. That’s also first question my manager asked as well. In the old time, ESXi is a free product and not even get supported by Vmware. And what’s wrong with ESX?

Well, if we double check what vmware said recently.

§First choice is ESXi Embedded, whenever possible.

ESXi is the future.

VMware has announced its intention to eventually replace ESX with ESXi.

§Design the management infrastructure to support VMware® ESXi, even if deploying VMware ESX™.

Limit the use of service console–based command-line management and monitoring agents

Develop ESXi management techniques now because ESX will eventually be phased out.

This message is from a vSphere Design workshop and blogged in vFrank.

As far as I understand, Vmware had enough headache to fixing RedHat version of Service Console. More than 50% percentage of Updates are delivered for SC.Thousands Support call are related to this poor Management console and Vmware believes ESXi can work better, lighter, and easier. According to my personal experiences, I’m very troubled by ESX console ping dropping. I have 2 or 3 software monitoring SC via ping, SNMP and there are always issues.

Concerns about ESXi

It’s free product, do I get support?

Yes, you do. I just have Vmware License team shoot an official Email to me to prove ESXi is supported as long as you have full production support. You will get exactly same support as esxi.

Does ESXi support vMotion, HA, FT, DRS, blah,blah?

Yes, they are. ESXi support all those functions with no issues.  I would like to provide you a link which is comparison of ESX and ESXi.

So what kind of features does ESXi support?

I can show you a picture with most functions of ESX and ESXi supported. If you want to get full list, please follow this link. This page shows there are no functions ESX supports while ESXi doesn’t.

To be continued…….