Mobile working… without any devices

Today is not a good day. It’s a fairly normal Tuesday – up at 05:00, leave the house at 05:30 to avoid the traffic and be in the office in London (Docklands) by about 07:00; except that I was hungry, it took 15 minutes to get served at the MacDonalds drive thru’ (call that fast food?) and now I’m at my desk I’ve found that I left my notebook PC at home. Arghhhhh!

I hadn’t realised before that I can’t work without my notebook PC. This office doesn’t have any general use desktop PCs – just hot desks for mobile/notebook users; and my data isn’t on the network either – it’s on my PC and backed up to DVD and external hard disks at home. I feel like I’ve lost a limb (well, if I had really lost a limb I’m sure it would be much, much worse, but I’m sure you get my drift).

I can’t go home to pick it up because south-east England will be snarled up with traffic now, making it a 4-hour round trip (and I have a meeting at 10:30). Luckily, I’ve managed to borrow a notebook from one of the guys in the office for a few hours.

So, for the next 3 hours it’s Microsoft Exchange via Outlook Web Access and picking out tasks that don’t require access to my existing data. Then, after my meeting, I can make the 160-mile round trip to retrieve my lost limb and pick up my work where I left off previously before making my way to the hotel and this evening’s appointments. Now, what was I saying about not trusting Web 2.0 sites to hold my data? Alternatively, maybe I should start to work from home 5 days a week instead of just 2…

An interesting look at the connotations of colour

I’m working on a feature for a local community magazine and one of the items that’s become quite significant is the choice of colours for the artwork. Alex sent me a link to the color in motion site, which describes itself as an animated and interactive experience of colour communication and colour symbolism. The use of colour is equally applicable to print and web work and this site is worth a look if you have five minutes – in my opinion, it’s one of the few sites where the exclusive use of animation is worthwhile.

Changing the iPhoto library location

Apple iPhoto is one of the iLife applications that ships with Mac OS X to facilitate importing, organising, editing and sharing digital photos. I use Adobe Photoshop for my digital photo work but the integration of iPhoto with Apple Front Row was enough to make me want to look at iPhoto a bit more closely.

By default, iPhoto copies digital photos to a new location in order to work on them, leaving the originals intact (sounds like a good idea to me) but because Mac upgrades are horrendously expensive, my Mac Mini only has an 80GB hard disk (and I take a lot of photos) and I keep my data on a 320GB external hard disk. Unfortunately, there’s nowhere in the application preferences to set the library location but I did find a way around this. By deleting the existing iPhoto library and launching the application, I was prompted to create a new library:

Apple iPhoto

Then, selecting a location on my external hard disk allowed me to set up a new library exactly where I wanted it.

Working with Nikon raw (.NEF) images

Ever since I started taking photos digitally, I’ve been meaning to investigate the use of raw image capture as it offers much more flexibility for off-camera editing. Basically, a raw image is the unprocessed data from the camera sensor which most cameras then process to produce a JPEG image; however because image sensors vary, so do raw image formats. Thankfully, Nikon’s .NEF format is one of the common ones.

I wrote a post last year about the Microsoft raw image thumbnailer and viewer for Windows XP but I’m still shooting JPEGs as most of my photography these days is family snapshots. Meanwhile, I encouraged Stuart to buy a Nikon D50 digital SLR and he recently posted some information about digital camera raw support for .NEF files in Adobe Photoshop CS 2 that may come in handy one day.

VirtueDesktops

This week I’ve had two separate geekfests… one with my mates Stuart and Pete, and the other with my buddy Alex. I usually learn lots from these guys as:

  • Stuart is into gadgets and “stuff” – he used to know Mac things but does more Windows work these days.
  • Pete knows a lot about coding (and now lives on the west coast of California).
  • Alex teaches me about CSS, web standards and using my Mac – this week it was dumping 10 years’ worth of Mac operator experience into a couple of hours teaching me how to use Quark XPress 6.5, Adobe Photoshop CS 2 and Acrobat to get a feature about the proposal to build a wind farm close to our town ready for the local community magazine.

Now Alex is always telling me that he has nothing to write for his blog but based on the amount of “stuff” I learn every time we get together he should start blogging more. This time, aside from the XPress/Photoshop/Acrobat lesson, it was introducing me to VirtueDesktops for the Mac – now I’m hooked. Linux users may be familiar with the workspace switcher, VirtueDesktops gives me that for Mac OS X, with customisable effects as I transition between desktops (I love the cube transition).

The 0.x version number indicates that this is still pre-release software and it does have the odd glitch where a window gets left behind on another desktop but I’m finding it so useful to keep mail, browsing, coding/design and other stuff on separate desktops, all just a keyboard shortcut away, that I can’t see me dumping this utility for a while!

wget for OS X

One Linux utility that I find very useful is wget. Last night I found out that Mac OS X 10.4.7 doesn’t include wget and I was a bit stuffed… luckily I found Quentin Stafford-Fraser’s OS X port of GNU wget. I needed to refer to the blog post comments to get things working but the basic process was to issue the following commands from a terminal:

sudo mkdir /usr/local
sudo mkdir /usr/local/bin
sudo mkdir /usr/local/man
sudo mkdir /usr/local/man/man1
sudo mkdir /usr/local/etc
sudo cp wget /usr/local/bin
sudo cp wget.1 /usr/local/man/man1
sudo cp wgetrc /usr/local/etc

Then, create a file called .bash_profile containing the following:

export PATH=$PATH:/usr/local/bin
export MANPATH=$MANPATH:/usr/local/man

After logging off and on again, issuing the wget url or man wget commands from the terminal should produce the desired results.

An introduction to VMware Infrastructure 3

VMware Infrastructure 3
Recently, I’ve been working on a server virtualisation proof of concept, using VMware Infrastructure 3 Enterprise. Up until now, my virtualisation experience has all been at the low and mid-end of the market (VMware Player, VMware Workstation, VMware Server, Microsoft Virtual PC and Microsoft Virtual Server) and it’s been really good to get my hands on some enterprise-class virtualisation software (Microsoft Virtual Server 2005 R2 is pretty good, but it doesn’t have a lot of the high end features in the VMware solution, even with the forthcoming Microsoft System Center Virtual Machine Manager; having said that, Virtual Server is free and VMware Infrastructure 3 prices start off with four digits to the left of the decimal point and keep on climbing as you add processors and features – it really is like comparing chalk and cheese!).

VMware Infrastructure 3 includes:

VMware Infrastructure 3

I’ve been using a development system with an HP StorageWorks Modular Storage Array (MSA)-based fibre-attached storage system, an HP SAN Switch 4/8 fibre channel switch and two HP ProLiant DL585s to develop the design for the proof of concept, which will then be expanded with additional functionality (increased capacity and resilience) for a client’s development facilities before (hopefully) going into production. It’s been a pretty steep learning curve in places, and whilst there’s nothing too complicated about it, what follows summarises the things I learnt along the way.

Installation
Firstly, configure the fibre channel network for the SAN. Really, all that is required here is to connect to the console port on each switch, set any switch configuration parameters (date, timezone, etc.) and to confirm that all the small form factor pluggable (SFP) optical transceiver modules are working. It may also be useful to take a note of the worldwide port numbers (WWPNs) for each port. For the entry-level HP switch that I was using, this was a case of entering the following commands:

switchshow
fabricshow
date “MMDDhhmmCCYY
tstimezone 0,0

Next, the SAN storage can be configured. A serial cable connection to the MSA controller allows access to the console, from where connections to each device can be created (based on the worldwide port numbers for the various fibre channel connections) with a profile name of Linux; and the LUNs can be established to provide access to the disks, for example:

add unit 0 raid_level=5 data=disk101-disk106 cache=enable
set global system_name=”VMware Dev SAN” read_cache=70
add connection connectionname wwpn=wwpn profile=Linux

This is where I came across my first issue – I found that sometimes, if the connected server is not running (with an operating system, or at least the VMware ESX installation program), the fibre channel host bus adapters (HBAs) may not be detected making it impossible to create connections. It’s also worth knowing that VMware can manage multiple paths to SAN storage, so it’s not necessary to purchase separate multipathing software.

Once the SAN is set up (and any local server configuration is complete, such as array configuration for direct attached storage), installing ESX Server is straightforward – simply boot from the CD and follow the wizard (the process can also be automated using kickstart); however a Windows server will also be required from which to manage the virtual infrastructure, along with access to a Microsoft SQL Server database. After ESX Server is installed, the server can be accessed using a browser (http://servername/) in order to download and install the VMware Virtual Infrastructure Client v2.0.

Although the VMware Virtual Infrastructure Client allows management of a single ESX server (some limited administration is also available via the Virtual Infrastructure Web Client at http://servername/ui/), for a fully functional environment, it is still necessary to install the management component (VirtualCenter Management Server v2.0), which is licensed separately. After extracting the files from the .ZIP file on which they are provided, autorun.exe should be launched and the option to install VirtualCenter Management Server selected. Again, this installation is wizard-based with the only real configuration being the ODBC setup for database access (which needed a system DSN to be configured). Although it can also be installed separately, the VirtualCenter Management Server installation wizard also allows the installation and configuration of the VMware License Server (this will require a license file for the License Server to be configured with).

If the virtual infrastructure will span firewalls, it’s worth making a note of the main ports that will be required for access (although these, and more, are all configurable within the Virtual Infrastructure Client):

  • VirtualCenter web service (HTTP/S): TCP 80/443.
  • VirtualCenter diagnostics: TCP 8083
  • VirtualCenter: TCP 902
  • VirtualCenter heartbeat: UDP 902

At this point, installation is just about complete. The Virtual Infrastructure Client can be used to connect to each server and to perform any additional configuration (e.g. amending the security profile, or configuring DNS and routing settings); however it’s worth knowing that by connecting to the VirtualCenter Management Server (rather than an individual ESX server), it is possible to set up logical data centres and clusters/resource pools for HA and DRS.

Configuring licensed features
Ensure that each ESX Server has obtained the relevant licenses using the Licensed Features section of each server’s configuration page within the Virtual Infrastructure Client. Pay particular attention to the License Sources, ESX Server License Type and Add-Ons.

In order to troubleshoot licenses that are not applied, it may be necessary to launch the VMware License Server Tools and perform a server status enquiry (on the Server Status page) or to perform diagnostics (on the Server Diags page). The License file in use is specified on the Config Services page. The VMware Technology Network (VMTN) VMware ESX 3.0 HA fails to accept eval license forum post gives further details of the issues that my colleague and I had with this.

Configuring VMware HA (including configuring VMotion)
To configure HA, a number of actions need to be performed:

  1. Using the Virtual Infrastructure Client, connect to the VirtualCenter Management Server and create a cluster.
  2. Ensure that the VMware HA feature is enabled (in the settings for the cluster within the Virtual Infrastructure Client).
  3. Configure VMware HA options such as the number of allowed host failures and admission controls.
  4. Add two or more hosts to the cluster.
  5. Ensure that each of the hosts can connect using a dedicated Gigabit Ethernet NIC (connection type VMkernel) with VMotion enabled (this is established in the networking section of each server’s configuration page within the Virtual Infrastructure Client).
  6. If not configured at build time, ensure that all servers in the cluster can access the same LUNs on the SAN – this is controlled in the storage (SCSI, SAN and NFS) section of each server’s configuration page within the Virtual Infrastructure Client.

Configuring VMware DRS
VMware DRS is configured in a similar manner to VMware HA – i.e. in the settings for the cluster within the Virtual Infrastructure Client. DRS settings to consider include the automation level and migration threshold as well as rules (to keep multiple virtual machines on the same or separate hosts).

Configuring VMware Consolidated Backup
VCB ought to be simple, except that I haven’t got it working yet. After installing the VCB Framework, the basic principle is that interoperability modules are provided for supported backup software to run pre- and post-backup scripts, allowing the VCB proxy to quiesce each virtual machine and mount the resulting snapshot before backing it up, dismounting and removing the snapshot then moving on to the next virtual machine. The problem is the interoperability modules, which VMware says are provided by the backup software vendors, but I can’t find one for Symantec (Veritas) BackupExec 10d.

Configuring alarms
It is possible to define alarms at various levels in the virtual infrastructure hierarchy (some sample alarms are provided out of the box for host/virtual machine CPU/memory usage and host connection state). These can be set to trigger on a variety of state changes and either send a notification e-mail, SNMP trap or to run a script. E-mail (SMTP) and SNMP settings are defined in the Server Settings from the Administration menu in the Virtual Infrastructure Client.

Creating and importing virtual machines
The creation of virtual machines from within the Virtual Infrastructure Client is straightforward enough (a wizard is provided to assist with the process); however for existing VMs, it’s necessary to use another tool (e.g. VMware Importer).

VMware Importer is a Windows-only tool for converting virtual machines between formats (including Microsoft Virtual PC/Server, VMware Workstation/Server and Symantec Livestate images) and, crucially, can import directly into ESX Server (or via a VirtualCenter Management Server). VMware Importer v1.5 was incorporated into the Windows versions of VMware Workstation v5.5 and VMware Server v1.0 and VMware Importer v2.0 beta 3 (build 28322) is in beta at the time of writing (although this expires on 31 August so hopefully there will be a general release soon).

Suggested further reading
For those who are familiar with previous versions of VMware ESX Server, or who just want to understand a bit more about the products which make up VMware Infrastructure 3, Geert Baeke’s blog has an interesting article on new features in ESX 3.0. Other sites covering virtualisation topics include OzVMs and RTFM Education and official resources from VMware include the VMware Infrastructure documentation, the VMware Infrastructure 3 Online Library and the VMTN.

Converting from physical to virtual machines

A few days back, I received an e-mail from someone who was trying to convert a Windows 2000 physical server to a virtual machine (VM) and had read some of the posts on this blog. He commented that today’s virtualisation software seemed to be much more complicated than the virtualisation he remembered from his mainframe days but, whilst my mainframe experience is pretty limited (one week’s work experience at the local hospital and a year compiling support statistics/coding a call stack analysis tool at ICL‘s VME System Support Centre in Manchester), I’d have to say that my understanding of the mainframe approach is probably more comparable to the concept of containers and zones in Sun Solaris rather than the virtualisation products from VMware and Microsoft.

For anyone who is trying to get a physical machine across into a VM, I’ve previously written posts about three ways to do this (an overview of Microsoft’s Virtual Server migration toolkit, my experience of using PlateSpin PowerConvert and an article I found about using disk imaging software to convert a machine); however Michael Pietroforte’s post about six ways to convert physical to virtual is probably worth a read.

Avoiding compulsory website registration

I’m sick of giving out my personal details (even false ones) to websites that require me to register. A few months back I wrote about using a temporary e-mail address to avoid spammers but now (thanks to a comment on a post at 4sysops), I’ve discovered BugMeNot a site that allows ‘net users to bypass compulsory registration. Simply enter the URL for the website that requires registration and the site will tell you if it has a set of credentials on file that you can use.

Of course, there are sites that I do register with because they provide a service that I consume, but as Michael Pietroforte notes in his never sign up for ZDNet white papers post, sometimes it’s just a way to get your details (in this case from a company which has been accused of being a Spamhaus) and then refer you to a vendor’s own freely-available information.

Installing the Macromedia Flash plug-in on a Linux client

If, like me, you’ve been struggling to install the Macromedia Flash plug-in for Firefox on a Linux machine (in my case it was Fedora Core 5), then you may find item 12 on the Macromedia Flash Player 7 for x86 Linux frequently asked questions useful.

For weeks now, every time I’ve accessed a page containing Flash content (like this blog, for example) Firefox has seemingly downloaded and installed the missing plug-ins but the changes haven’t been accepted. After starting a terminal session and elevating my permissions to root (su -), creating a file called /etc/yum.repos.d/macromedia-i386.repo with the following contents:

[macromedia]
name=Macromedia for i386 Linux
baseurl=http://macromedia.rediris.es/rpm/
enabled=1
gpgcheck=1
gpgkey=http://macromedia.mplug.org/FEDORA-GPG-KEY

and executing the command:

yum install flash-plugin

the Flash plug-in was installed, although it also needed a browser reset before the changes took effect.

(Now all I need to do is get the Java runtime environment to load…)