The Joy of OpenVZ virtualisation

We are huge fans of OpenVZ container level virtualisation. Although we're quite puzzled as to why it is not more popular.

What is OpenVZ you ask?

OpenVZ is operating system-level virtualization based on a modified Linux kernel that allows a physical server to run multiple isolated instances known as containers, virtual private servers (VPS), or virtual environments (VE). The preferred term these days is container. Containers are sometimes compared to chroot or jail type environments but containers are really much better in terms of isolation, security, functionality, and resource management.

Why we use OpenVZ

In a nutshell: Because a ...

— Andrew

What's new in CentOS 6

Here is a quick run down of some major features and updates that we'll soon see in CentOS 6. (When it's finally released).

Filesystem & Storage:

  • ext4 is now the default filesystem,
  • LVM finally supports mergable snapshots - finally we can implement safe (transacted) file level replication using rsync.


  • iSCSI support for root and /boot partitions


  • Updated 'tickless' kernel - save power,
  • Cgroups support for resource allocation amongst process group.

Web and applications:

  • Apache 2.2
  • MySQL 5.1.47
  • PostgreSQL 8.4.4
  • Memcached 1.4.4
  • Ruby 1.8.7
  • PHP 5.3.2
  • Tomcat 6 / OpenJDK ...

— Andrew

Disabling NTPD in FreeNAS 8

If you're running FreeNAS 8 under VMware, Xen or KVM, then you'll probably want to disable ntpd. To do this you'll need to ssh into your FreeNAS box as root and run the following commands.

mount -uw /
vi /conf/base/etc/rc.conf

Change ntpd_enable="YES" to ntpd_enable="NO" and ntpd_sync_on_start="YES" to ntpd_sync_on_start="NO".

Then reboot and you should find that ntpd has been disabled. This should help eliminate any time jitter issues when running ntpd on a virtualised environment.

— Andrew

Django PIL Error - The file you uploaded was either not an image or a corrupted image.

When uploading an image with Django admin, or a Django based CMS, you receive the following error:

Upload a valid image. The file you uploaded was either not an image or a corrupted image.

The solution, on CentOS, Red Hat and Fedora, is to ensure that Python Image Library (PIL) is installed and compiled after libjpeg-devel is installed:

sudo yum install libjpeg-devel
workon mysite
pip uninstall PIL
pip install PIL

This will compile PIL with the correct JPG support and fix the error above.

— Andrew

Proxy for IMAP connections

If you're building a large IMAP cluster and need an IMAP capable proxy then you might want to check out the following:

— Andrew

Windows reserved words

Tales from the Level 3 Helpdesk: A colleague told me an interesting tale about a strange situation he encountered whilst working for a large multinational IT helpdesk. A new user called up and was having trouble with their computer. Their home drive was not being mapped automatically upon login and 3 tech's had given up trying to troubleshoot the situation. A most senior engineer overheard two techs discussing this issue and just casually asked:

His name's not Con, is it?

As it turned out it his first name was, and that was of course the cause of the ...

— Andrew

Site theme originally by