Manage your KVM Hypervisor Remotely on your iPhone / iPad

Recently I began experimenting with KVM virtualisation in the Linux Kernel. Its a great technology that if your CPU supports VT-x / AMDV offers almost (really, almost) bare metal level performance inside Virtual Machines. It works on most Linux flavours and has a couple of handy management tools such as virsh and virt-manager. However, one thing I thought was always lacking and annoying me was of course, the ability to manage my Hypervisor from my iPhone / iPad when on the move! Time for an experiment I thought; then out came “KVM Remote”

KVM Remote on the iPad and 3 Different Remote Hypervisors

Its universal so works on both the iPhone and iPad and is extremely bleeding edge right now, but works! and is incidentally the first App i’ve made that doesn’t have selfish fiscal intentions, so theres another great reason to download it from the AppStore now!

P.S. i’ll be updating it regularly adding more features as requests come in.


Installing Linux on a Late 2012 Mac Mini

So in the last post I discussed why the Mac Mini is the perfect machine for Linux and for Datacenters in general! One frustration some readers may be finding is that the networking chipset used by Ivy Bridge platform in Late 2012 Mac Mini’s doesn’t have native support in the Linux Kernel (as of now anyway). So its required to install a kernel module from the manufacturer/vendor (broadcom).

On their website they provide the “tg3” drivers for Linux kernels, however these are only good if you are running a Linux kernel < 3.5.x. If you take Ubuntu for example, 12.04 uses the 3.2.x stream, whereas 12.10 uses the 3.5.x stream and isn’t immediately compatible with the drivers on the broadcom page. This is due to the deprecation in 3.x and removal in 3.5.x of the asm/system.h header.

Read on for the fix, more and downloads. … 


How to generate max CPU Load (stress test your CPU)

It’s a bit of a random thing you’d think, but recently I had an issue where one of my servers would keep dieing when under abnormal load… So I thought, how can i replicate this in a lab environment… So I wrote a tiny bash script (that you can just paste into a terminal) that will max out each “thread” of the CPU until you kill the processes or reboot… Useful for stress-testing or burning in a CPU…



VBareMetal The New CaptainGeek Bare-Metal Hypervisor Installer

Introducing VBareMetal!

I’ve been very busy lately, here is one of my latest incarnations, a Virtualisation Linux Distribution, which you can use as a live-cd or a bare-metal installer, it is debian based with virtualbox. Everything configured out of the box. You can run Linux/BSD/Solaris/Windows/Other virtual machines on this distribution, even if your system does not support virtualisation natively! =) Please note, this release is super early, it works, but very bare. In the coming weeks i’ll make it a pretty fully functional system. … 


Enabling VT-x (Virtualisation) Extensions on Sony Vaio Laptops

As you all know, i’m a big fan of virtualisation, however when i purchased my Sony Vaio VGN-FW31E the thing that highly disappointed me was that the VT-x extensions were disabled for the CPU, and there was no option in the BIOS to enable them, however i knew the CPU inside this laptop did indeed support VT-x.

For those of you who are wondering WTF? am i on about, VT-x extensions in the CPU allow virtualisation software such as Sun Virtualbox, Vmware, Linux KVM and others to perform direct real virtualisation rather than passing everything through the host os. This really improves speed / performance on virtual machines, aswell as allowing 64bit guests on a 32bit OS (as long as the host CPU is 64bit capable). It is really a must.

Anyway… After being annoyed for a long time i came across this website, on it the clever guy Igor has basically made a utility which grabs your bios from EEPROM, backs it up, patches it (by changing 1 bit only!) and reflash’s it back to your VAIO. Once this is done, VT-x extensions are enabled!!! however there are a few important notes / qwerkyness things. Anyway check out Igor’s site for full instructions, information and download!


Build a Free NAS using… FreeNAS with SMB/AFP/iTunes/iSCSI Targets

If you want all of your storage in one centralised place, that is accessible using just about any protocol out there, then you’ll need Network Accessible Storage (NAS), This can be often very expensive, upwards of £1,000, however you should firstly try FreeNAS, its a project based upon FreeBSD which provides a very comprehensive NAS environment supporting all common protocols including iSCSI, so you can even set Vmware to boot from hard disks stored on your FreeNAS! The whole thing is a bare-metal installer, and runs on any hardware manufactured within the past 10 years or so! Although for iSCSI you’ll need a minimum of 256mb Memory. So try it out, tell me what you think. Personally… I LOVE IT!, I’ll be posting a tutorial on getting VMware to use an iSCSI target defined with FreeNAS Later! Until then grab FreeNAS here P.S. it supports IPV6 =)

My FreeNAS Server

My FreeNAS Server


Using IPV6 On OpenVZ Containers

Many of you have probably used OpenVZ and got very angry at the fact that out the box, the ipv6 support is there, but difficult, hidden and badly documented. Well one of the most common compliants is that getting ipv6 working on the host is easy, but getting it to work inside the containers is a different story.

For this how to, i’ll be assuming you have already configured your ipv6 tunnel on the OpenVZ host, and that you have a suitable prefix assigned, e.g. a /64.

Firstly, you have to run a few commands and depending on your installation, these may or may not already be set.

# echo 1 > /proc/sys/net/ipv6/conf/all/proxy_ndp
# sysctl -w net.ipv6.conf.all.forwarding=1

These basically enable ipv6 to travel to and from containers without problems. Note, after a reboot these will need to be set again, however they can be set permanently also. This configuration will work for all containers.

Finally, to add an address to a specific container run the following (replacing with the number of your container) and replacing eth0 with the appropriate device.

# vzctl set --ipadd 2001:630:c2:YYYY::XXXX --save
# ip -6 neigh add proxy 2001:630:c2:YYYY::XXXX dev eth0

The first line add’s the address inside the container (note: do not try to add an address manually inside the container… it won’t work). The second line basically makes the host os aware of this address (not always needed, but no harm done).

After this you should be able to communicate to and from the host to anywhere using the ipv6 address you just assigned! Good Luck!