Posts Tagged ‘esx’

VMware ESX4i packet loss with VMs

I’ve just finished building this ESX4i server with a few VMs in it and as I plug it into the serve space and into the network switch, I notice that the vSphere console is laggy, to the point of being really annoying.

I ping the server from a workstation, a few packets get lost in transit. I grew the ping packets to 60 kilobytes, and sure enough, about 10% packet loss. I tried pinging the hypervisor management interface, still from my workstation, and I get a slightly lower, but still significant amount of packet loss.

After checking all my cables and trying another network switch, I finally saw that the switch was not illuminating the “Full duplex” light, indicating it was, instead, half-duplex.

Going back into vSphere client, clicking my host in the left menu, then going in the configuration tab, then Networking, then Properties. Second tab “Network Adapters”, then Edit. In there, the Status of my physical NIC was set at 100 mbit Full Duplex (so it should have worked.) I changed it to Auto Negociate and now everything works perfectly. 1800 ping packets transmitted, 0 loss.

Activating permanent SSH server in ESX4i

VMWare ESX4i comes with a built-in (but hidden) shell console that is extremely useful to move around vm files and hard disks. Accessing it is easy:

  1. Press ALT-F1 to switch terminal to the unsupported console.
  2. Type “unsupported” (there will be no feedback on the screen), press enter.
  3. It will ask for “Password:” so type in your root password, press enter.

You’re now in the shell. It’s quite limited (mostly BusyBox tools), but very useful nonetheless.

Then, you can enable SSH so that you can access this shell remotely:

  1. Type:  vi /etc/inetd.conf
  2. Use the down arrow to reach the first like that starts with #ssh
  3. Type the letter i to enable editing.
  4. Use the right arrow to move the cursor to the letter s
  5. Press backspace to erase the # symbol.
  6. Press escape to exit editing mode.
  7. Type :wq to write the file and quit.

Now this is the part that other posts on the web about this subject did not include, so I’m adding it in case it helps out anyone.

To enable the SSH server immediately, without rebooting, and without restarting all the services (thus disconnecting all open consoles):

  1. Type ps | grep inetd and note the first number
  2. Type kill -HUP (number)

Example:

~ # ps | grep inetd
5080 5080 busybox              inetd
~ # kill -HUP 5080