So still no general election talk, sorry to let you down :). So I was recently told about Proxmox, a bit of software to run virtual machines. Now I have played with quite a few virtualisation technologies which include:
- Virtual Box
- VMWare Player
- VMWare vSphere (ESXi)
All of which have some different things going for them in different use cases and different drawbacks. So here is my use case. I have my own server at home, it has a small website on it, my openproject install, my source control repo, a continuous integration server, email server and various test servers. I decided I wanted to sandbox a lot of these services into their own operating system, openproject on its own needs about a billion dependencies to be installed at the OS level (however its a good tool). Virtualisation appears the clear choice to allow me to run all these services within their own sandboxed environment on one physical machine.
Until recently I used KVM on a Centos 6 install, this was a basic install using software RAID with Gnome as a desktop. I installed KVM from the centos repository and the GUI manager. I managed all of the virtual machines by using the GUI, starting VNC server on the server then connecting to it from my desktop. This has all worked well for some years until the other day when I had a disk failure in my server, normally this would be fine I would replace the disk and all would be fine and well, however a number of things came together which made me thing twice. I have been meaning to upgrade the server from Centos 6 for a while now, Centos 7 has been out for ages and Centos 6 is getting a little long in the tooth (although still fully supported). Just before I got the replacement drive my boss asked me if I knew anything about Proxmox, I said no and he told me a little bit about it and I got interested. So this is what I have:
- A normal desktop motherboard with 16 GB RAM
- A normal desktop case with space for 5 drives
- 5 rotational 1TB drives
- A load of extra network cards
This eliminates two of the options, VMWare vSphere and XenServer. As I have no hardware RAID controllers I cant use these two, I actually really dislike VMWare for this, they charge and absolute fortune for their tools and they only work on about 6 RAID controllers. VirtualBox while very good at what it does, is more of a desktop product and feels like a bit of a kids toy to be using on a server. This leaves me with KVM on Centos and Proxmox. Lets be honest I am a nerd, you have to try the new tech out, it goes with the territory!
Well initially I looked up creating software RAID on Proxmox, its not supported…. I was prepared to put it in the same box as VMWare and Xen, but then I did a little more digging and discovered that Proxmox is basically Debian Linux with some extra packages. The more interesting thing is that the packages are installed via aptitude, the standard installer for Debian, this makes it very easy to install all of the Proxmox packages on any standard Debian install. Of course Debian does support software RAID and this approach is what a lot of people use to allow software RAID with Proxmox, added to that Debian is compatible with so much hardware, if I ever had to install Linux on a shoe I would start by trying Debian.
There is one key draw back from using Debian (or the most important and positive reason conceivable depending on your perspective). Debian only ships with fully free products, and by free we mean speech not beer. So you get no Firefox (it comes with IceCat which is basically Firefox with a different branding), it also means it only ships with 100% free drivers, so some of those Realtek cards you have might not come with the drivers built in. While this can be worked around its a real pain, in this instance I want something to work, its interesting to know how it works, but I have a job, I want it to work (yes I can hear the GNU nuts grinding their teeth as a type that). Proxmox actually scores here too, as when you install the Proxmox repository it adds in a lot of the non-free drivers to enable these cards, happy days for me.
So actually onto Proxmox itself, the web interface is pretty clean and tidy, uses PAM authentication, so you can easily plug it into LDAP or something else. Its easy to see what Virtual machines are running on each host and how much they are consuming. Access to the console is provided by a mini VNC client that sits within the web application, this is all managed for you so you simply need to click on the console button to see it (though I had the odd issue with it in Firefox).
Proxmox like other bits of kit allows you to define pools of storage where backups, disk files and ISO’s can live. By default it comes with a local storage system setup in /var, so as long as you have the disk space you are ready to go straight away. The pools you can setup are configurable, so you can mount by CIFS, NFS, iSCSI, but most interestingly you can also use things like GlusterFS. GlusterFS is a project I find very interesting as its all open source, and backed by Red Hat (pretty heavyweight). GlusterFS allows you to create very large distributed file systems on pretty much any hardware, thus allowing anyone to create some pretty big systems.
Another key advantage for someone like me is the cost. I can actually afford to get a personal licence of Proxmox to run myself, something that is simply off the dial when it comes to XenServer the vSphere. This means I get product updates and patches because the system is installed using aptitude, they are delivered in the same way that main operating system patches are, very handy to keep the day to day running of the system simple. Just to make it clear, I have no objection to paying for stuff, particularly if I see it as good value for money, I never illegally download music or films, in my book that is still theft. I use Linux a lot not because I object to paying for Windows, but because for servers (and some desktop use) I consider it a superior platform. When it comes to Xen and vSphere, as an individual I simply can not justify the costs, and I really dont see how they represent value for money over Proxmox, they dont really offer me anything extra that I find useful for that massive increase in cost.
On a final note, Proxmox comes with all the things you would expect from an enterprise type system such as:
- An audit log of all the changes made by the VM
- Online backups and snapshots (online backups can be scheduled, and they can be written to remote servers via NFS and glusterFS).
- Snapshots (kinda similar to online backup)
- ACL’s on each virtual machine
- A clustering engine
The one thing I dont like about Proxmox is the way you upload ISO’s to install the operating systems, it appears you have to upload files through the web console. Normally I would just like to drop them in a directory somewhere. I prefer to use tools like scp and wget to copy files around rather than using some web application to upload them (part of that is because its slower as it has to do the HTTP encoding). Some people have complained that Proxmox is a bit slow, but I have not noticed it, I have not done any performance benchmarking, so I cant say for sure.
All in all I am very impressed with Proxmox, it has a lot of enterprise features, its easy to install, it works with software RAID and the cost is sensible, if you have a dedicated machine I would suggest giving it a try.
Well here is the first recipe for cake. I did think about posting something about the general election that has been announced in the UK, but everyone else is writing about that now, so its a little cliché. Plus I have plenty of time still to really upset people on that one when I say I think the Conservatives are not right wing enough for me (and way too authoritarian too, but pretty much every party except LPUK has that problem). Funny thing is people get more cross at you for what you say online than actually going out in the streets to campaign, anyway that will come...
What are we making?
This is for a very light Victoria Sponge cake, normally I go for cake that has a good bit of stodge in it, but this one is quite nice and light, it might feel a little synthetic, or shop bought, but its simple and wont offend anyone (no one gets upset by light cakes, some prefer stodge like me, but they will still be happy to eat light cakes... like me). You can customise it a bit with different jams, and different quantities of butter cream, you can also get creative with decorating, but don't go too mad with stuff on the top (and I would steer clear of royal icing, unless you make it super thin).
What you need
For the cake itself:
- 6 oz butter (I use stork butter for cakes, also just for the record cakes are made in pounds and ounces, none of this grams nonsense, its 170 grams if your asking)
- 6 oz castor sugar (I normally use Tate and Lyle, but I have also used the super cheap stuff you get in the discount stores, if you use cheap sugar make sure you run it through a sieve first, the granules are a little larger, so you need to break up any clumps to avoid it turning into some weird granulated sugar)
- 3 Medium Eggs (I tend to go for whatever eggs Morrison or Tesco have, free range though as I prefer happy hens, or at least what I believe are, but have never looked into it in any depth, happy hens)
- 6 oz self-raising flour (same deal with the sugar, I mostly buy Homepride flour as the little plastic lid container things are cool, it lasts for ages, the uber cheap stuff works fine too, but remember to sieve it well)
For the butter cream (you don't actually need this, some people do it with just jam and that works, I have a sweet tooth and like things that are bad for me so pile the butter on).
- 2-4 oz butter (I normally use clover light, you got to make an effort to be healthy, but it does not cook as well)
- 2-4 oz icing sugar (same deal again, I use Tate and Lyle), use the same amount of icing sugar as you do butter
For the making you will need the following gear:
- Electric mixer (that's pretty standard)
- 2 x 20cm cake tins (that's about 8 inches, I have no idea why I cant tolerate weights in metric measurements, but I am fine with sizes, I am unique, lets leave it there).
- Cake liners or grease proof paper (CHEAT you can use the wrong size of cake liner, just flatten out the edge slowly in a circular motion until its the right size, don't do this all the time, it wont work for tall cakes, as we are making essentially 2 small cakes and putting one on top of the other it will work)
- Oven temperature of:
- 350 Fahrenheit
- 175 Celsius
- Take off 15 degrees if you are using a fan assisted oven.
What you do
- Use an electric mixer to cream the butter and the sugar together, bits will get knocked to the side of the bowl, make sure you get these bits added back to the mix. It should be smooth and have a consistent colour, there will be no visible granules of sugar anywhere.
- While that's going on beat the three eggs together, you don't need to go too mad, but they should be nicely mixed up.
- Add the beaten eggs into the mix with the electric mixer. Don't do this in one go, add about a third then get that mixed in, add another third and get that mixed in. With the final third add some of the flour to the mix (no more than a third of it). When you get the mixer going start VERY slowly or you will be redecorating your kitchen, ideally you want one of those mixers with a lid on the bowl.
- Add the rest of the flour to the mix in 3 or 4 more lots. You must stop the mixer when you add the flour and start up slowly or you will make a right old mess. If you look online you will see people telling you to fold the flour in (yes this will avoid the mess), you can do this but you still need to mix it rapidly with an electric mixer. This is because we are going for a light cake.... more eggs + well mixed in flour = lighter cake, less eggs + flour folded in = more stodge (I will do another one for a stodge version where we use less eggs and do the folding properly).
- Pop the mixture into your two cake tins, half in each, it wont look like much, but that's fine it will rise, if you want to do it properly smooth it out so its even all the way round (this is harder than you think). If your a little lazy and just making a cake for the hell of it or for yourself and 4 greedy friends, just bang the tin a bit and shake it a little, it might be a bit lopsided, but generally it will be fine and you can smooth it out with the cream. Doing this will get you random big lumps of cream in the middle which are actually a bit of a novelty, some people think this is really clever when its actually just a product of being lazy!
- Stick the two tins in the oven and leave them for about 25 minutes. The cakes are cooked when the colour is pale golden, the cake itself is shrinking away from the edges and it springs back into shape when you press the top lightly.
- Once cooked turn the cakes out onto a wire tray to cool (don't put them in the fridge, they need to be open to the air).
- Once cooled mix the butter cream, pop the butter and the icing sugar into an electric mixer and mix (if you thought the flour made a mess, you aint seen nothin' yet :) ), you really REALLY need a lid for your mixer on this one. The butter cream should look like much less than you put in and be smooth and consistent, very sweet to taste, half of you should want to just sit there and eat it, the other half should know how terrible you will feel if you do.
- Pick the cake with the smoothest nicest looking top, this is your top cake. On the bottom cake chuck a load of jam on (whatever flavour you want, strawberry is the usual, raspberry can work, I have not tried many others. Spread the jam on so so there is an even layer all over the cake, you can make this as thick or as thin as you like.
- Turn your top cake upside down, cover the bottom with the butter cream you have made, it should be almost even, there should be a tiny (really tiny) raise in the centre.
- Take your top cake and put it on top of your bottom (the right way up, so the butter cream and jam meet). Give it a VERY light push down, until the cream is about to come out the sides, this will help make the cake stable. Wipe any escape-age from the middle away
- Take some icing sugar in a spoon and sprinkle it over the top (just a very light and non-even dusting). You can use a sieve for a more even coating, but I prefer the home made more random look from just the spoon (which I accept is silly given that I made this recipe specifically to taste more like a shop bought cake).
- You done, serve and eat with tea, its bloody amazing!
I would normally put some pictures up, but this is a conversion of something I had rather than one I have just done, when I next make this I will get some photos.
Yep you got it, that is the name of this site! I like code and cake (I am a fairly typical developer in that sense). The only difference is I like to make it too! Madeira is my favourite (as long as its good home made stuff with a bit of stodge to it, none of that light synthetic nonsense you get from shops).
So why have I created this site? Well that is a good question, I have had this kind of site on my home network for a while, it has mostly recipes for cake which worked (I do experiment from time to time), they may be interesting to others. I recently installed Proxmox on my virtualization host and was really impressed with it, so much that I think it deserves some special praise, its very similar to VM Ware ESXi and XenServer (its actually based on some of the same technology), however the pricing model and the fact it is basically Debian Linux with some mods makes it very interesting (ie you can make software RAID work, though that is not officially supported). Few other cool things it supports GlusterFS, NFS, plus its own local storage, it also ships with non free drivers (something that will cause both anger and joy depending on who you ask). Finally I have a lot of thoughts on a lot of things, I keep an eye on the political environment and got quite involved with the UK's EU referendum hitting the streets of Basingstoke to campaign for Vote Leave. I consider myself a pacifist libertarian and I have been called everything from "too far left", "hard right", "racist brexiteer" and "you should stand for MP", so I guess most people find it hard to place me! Anyway all of this has kind of come together at the same time, so I have decided what the hell, lets put this junk online and see what people think.
Lets see how this goes then!