vCenter No Longer Reachable

After a power outage, we powered on our VMware infrastructure, and as we went through the process, we quickly realized that vCenter was not coming back online.  vCenter was not reachable via icmp or http/https.  Logging into the ESXi console showed the VCSA booting very slowly, but eventually it booted up.  Still no network connectivity.  After enabling bash and doing an “ifconfig”, I noticed the eth0 interface was missing.  The “ip link show” confirmed that the VM did not recognize any eth0 devices, but it did pick up an eth1 device.  For some reason, the vnic mac address had changed, and vCenter added the nic as a new device.  To resolve this:

  1. Edit this file on the VCSA: /etc/udev/rules.d/70-persistent-net.rules
  2. Delete (or comment out to test) all lines
  3. Reboot the VCSA

This process will clear the static mac association with the previous eth0 nic, and will allow VCSA to boot up with the new nic/mac address as eth0.

Reference: http://www.vmwarebits.com/content/how-fix-vcenter-appliance-no-networking-problem

Backup VMware Virtual Machines

If you need a free, open-source alternative for backing up your virtual machines, look no further than XSI Backup.  Before I did an upgrade to some VM’s I wanted to completely back them up (not just a snapshot), so I downloaded XSI Backup here: http://sourceforge.net/projects/xsibackup/

Once downloaded, copy it to the /opt folder on your ESXi host. Then you can run it and backup to a datastore that ESXi has mounted.  For example, I want to backup all my VM’s to my NFS datastore, I run:

/opt/xsibackup –backup-point=/vmfs/volumes/nfs-datastore/backups –backup-type=running

Running that command will backup all the VM’s in real-time to the datastore.  You can run /opt/xsibackup –help to see all the variables you can specify, including backing up specific VM’s and sending email alerts.

Understanding VLAN Membership

The topic of how VLANs work and untagging/tagging ports has come up, so I am attempting to write a simplified post based off some of the questions I have received:

1. VLANs are typically assigned to a single subnet.  This is done to limit the broadcast domain and for security.  For example, my network could look like this:

VLAN 10: 10.0.10.0/24
VLAN 20: 10.0.20.0/24
VLAN 30: 10.0.30.0/24

If you want to connect a PC to VLAN 30, then you would assign an IP address in the 10.0.30.0/24 network to the PC, and connect to a switchport that is Untagged on VLAN 30 (If you are using Cisco switches, this would be Switchport Access VLAN 30) .  The PC would send untagged frames since it is not VLAN aware, and the switch would accept those untagged frames into VLAN 30.

2.  If my PC wanted to access a device on another VLAN, then the switch would need to route that packet to the other network.  Some switches do this by default, others need to have “IP Routing” enabled.  I would normally use my core/distribution switch to route between networks, so I would assign an IP Address to the VLAN interface of the switch:

VLAN 10 IP Address 10.0.10.1
VLAN 20 IP Address 10.0.20.1
VLAN 30 IP Address 10.0.30.1

This VLAN interface would be the default gateway for the devices in their respective network, and allow the networks to communicate with each other.  If you need to limit access between networks, then you can apply an Access Control List to the VLAN interface.

3.  If your end device is VLAN aware, and needs to sit on multiple networks using the same physical interface, then VLAN tagging (or in the Cisco world, Trunking) comes into place.  For example, if you have a VMware host with virtual machines that are on VLAN10, and other virtual machines that are on VLAN20, then VLAN tagging would need to be setup on the VM host AND the switch.  On the switchport, we would set VLAN 10 untagged, and VLAN 20 tagged (For Cisco, this is switchport mode trunk/native vlan 10).  On the VMware host, we would create a vSwitch for VLAN 10, with no VLAN tagging enabled (because all untagged frames will be accepted on VLAN 10 by the switch).  Then we would create another vSwitch for VLAN 20, tagging VLAN 20.  Both vSwitches would use the same physical NICs. Any virtual machines in this VLAN 20 vSwitch will communicate like normal, but when the vSwitch sends the packets out of the host and to the switchport, it will tag the packets with VLAN 20 so they will communicate on the correct network.

VMware Insufficient video RAM

Looking through my ESXi event log I saw this message:

“Warning message on **server**: Insufficient video RAM. The maximum resolution of the virtual machine will be limited to 1672×1254. To use the configured maximum resolution of 2560×1600, increase the amount of video RAM allocated to this virtual machine by setting svgavramSize=”16384000″ in the virtual machine’s configuration file.”

This is already detailed in a VMware kb article: http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&docType=kc&externalId=1024990&sliceId=1&docTypeID=DT_KB_1_1&dialogID=281540115&stateId=1%200%20281538732

The quick and easy fix is:

1. Shut down your VM

2. Edit your VM settings

3. Change the Video card total RAM to 16mb

4. Boot up your VM and no error message