Tuesday 30 September 2008

Wake on LAN problems - Dell 2950 servers and Broadcom NICS

Although I've been using vmware for over 3 years through various incarnations, I've only just been in a position to exploit the power-saving features in v3.5. 

At first glance it looks pretty straight forward - click the "enter standby" option and sit back and watch. No.

First off, you need to have Wake on LAN (WOL) supported on your vmotion NIC.   This isn't necessarily something you think of when setting up the patching of the virtual server - Intel PT1000 Quad Port NICs only support WOL on the first port (Dual ports also).  Others in the range might be different, but the VT1000 NICs have their own issues in vmware depending on the version of vmware installed.

Most of the servers I work on are Dell x9xx series which have Broadcom 5708 onboard NICs.  Looking in Virtual Center at the NIC configuration shows whether VMware thinks WOL is available.  I was a bit confused when I found for some servers it was available and for others it wasn't.  Dell support went through the usual steps - update the firmware, update the NIC firmware, etc. - to no avail.

I tested the WOL feature anyway with the AMD Magic Packet utility and the MAC address of the NIC and lo! it woke up.  Curiouser and curiouser.

After more research by Dell, one of their engineers discovered source of the issue (hurrah!) in the version of the Ethernet Controller Hardware.  an lspci command (run as root) reveals the version number:

05:00.0 Ethernet controller: Broadcom Corporation Broadcom NetXtreme II BCM5708 1000Base-T (rev 11)

Rev 11 is the culprit and Rev 12 servers correctly show WOL available in vmware.  Dell have escalated the issue to vmware so hopefully there will be some kind of resolution soon.

So in summary:
  1. Make sure vmotion is enabled on a NIC that supports WOL
  2. Check your broadcom NICs are Rev12 and above.
  3. Put your Host in a Cluster
  4. At least one other Host in the Cluster must be on (this does the wakeup on the others that are in standby)
  5. Enable WOL in the NIC boot bios

Blogged with the Flock Browser

Tuesday 1 July 2008

Setting up wildcards with Exim4 and virtual domain

This is a quick howto for setting up Exim4 with:
1) several incoming (virtual) domains
2) some local users
3) wildcard catchall accounts to collect the emails not matching the local users
  • Setup the virtual domains in the dc_other_hostnames variable in /etc/exim4/update-exim4.conf.conf. These are the domains considered local by this installation of Exim4. Any other domains will be routed as remote mail either through the IP defined by dc_smarthost, or direct delivery through DNS lookup of the MX records, or a hubbed_hosts definition file if it exists which overrides the DNS lookups.
  • Create the local users with adduser
  • If required, create the local user sending addresses (for the From: header) in /etc/email-addresses (otherwise the local user will be stamped with the mail hostname defined in /etc/mailname)
    • #/etc/email-addresses
    • user1: user1@domain1.com
    • user2: user2@domain2.net
  • Define the catchall accounts in a new a wildcard aliases file /etc/aliases_wildcards
    • # /etc/aliases_wildcards
    • #*@domain1.com: domain1-catchall-user
    • #*@domain2.net: domain1-catchall-user
  • Create a new router directive to process the wildcard aliases - the first 3 digits of the filename define which order routers are processed by Exim4. This needs to be after the local_user router which is by default 900 so any value higher than 900 will work. I've chosen 999. /etc/exim4/conf.d/router/999_exim4-config_system_aliases_wildcard
    • # This router handles wildcard aliasing using a /etc/aliases_wildcards file
    • # /etc/aliases_wildcards must exist as it is a non-standard file
    • system_aliases_wildcards:
    • debug_print = "R: system_aliases_wildcards for $local_part@$domain"
    • driver = redirect
    • domains = +local_domains
    • allow_fail
    • allow_defer
    • data = ${lookup{*@$domain}lsearch*{/etc/aliases_wildcards}}
    • file_transport = address_file
  • Check the routing works as expected
    • exim4 -bt user1@domain1.com
    • exim4 -bt notauser@domain1.com
    • The first command should show email routing to a local user using the local_user router.
      • R: system_aliases for user1@domain1.com
      • R: userforward for user1@domain1.com
      • R: procmail for user1@domain1.com
      • R: maildrop for user1@domain1.com
      • R: lowuid_aliases for user1@domain1.com (UID 1001)
      • R: local_user for user1@domain1.com
      • user1@domain1.com
      • router = local_user, transport = maildir_home
    • The second command should show email routing to the catchall account again using the local_user router:
      • R: system_aliases for notauser@domain1.com
      • R: system_aliases_wildcards for notauser@domain1.com
      • R: system_aliases for domain1-catchall-user@localsystem.com
      • R: userforward for domain1-catchall-user@localsystem.com
      • R: procmail for domain1-catchall-user@localsystem.com
      • R: maildrop for domain1-catchall-user@localsystem.com
      • R: lowuid_aliases for domain1-catchall-user@localsystem.com (UID 1000)
      • R: local_user for domain1-catchall-user@localsystem.com
      • domain1-catchall-user@localsystem.com
      • <-- notauser@domain1.com
      • router = local_user, transport = maildir_home
A good source of information on which config file does what in Exim4 can be found here

Friday 27 June 2008

Cool free software - Proxmox

We're living in a virtual IT world where everything is not as it seems. This has always been the case - Windows its drivers hide the hardware from applications and RAID has been with us for years, making several disks/volumes look one big one - but the last few years has seen an explosion in different virtualisation technologies.

At the forefront is VMware. Their main enterprise offering doesn't run on an OS such as windows, it *is* the OS. In ESX v2 this was a highly modified version of redhat, but in v3 it can be considered native (this isn't strictly true but it's a good enough description for now).

Microsoft soon woke up and released virtual pc and virtual server, and more recently hyper-v, all of which of course require a windows installation to run, although the big selling point of hyper-v is that it will run on the new Windows 2008 Core Server and Microsoft are going to be selling it very cheaply with clustering out of the box.

VMware responded to Virtual PC going free and introduced first the VMplayer, and then the free VMware server (effectively their GSX server product) available for both Windows and Linux Host operating systems. The ESX server and the management tools are where VMware make their money but this market is coming under more and more pressure.

Step in Proxmox Server Solutions! They are in beta with a product that looks suspiciously like VMware ESX v2, and installs onto bare metal and unlike other solutions is available on a GPL licence. I'll be watching this one closely...

Thursday 26 June 2008

Dell Small Business 360 - 10 Essential Blogging Tools

First post of my new work blog is an article on what else? Blogging. Useful tools and tips for getting your blog out there.

Dell Small Business 360 - 10 Essential Blogging Tools