Everybody is talking about cloud computing and how to use them. As a system engineer I’m more thinking about “how the hell do we build this magic black box”. One important aspect for delivering compute instances (like AWS EC2) is: How do I deploy/install these instances?
I need a generic solution that can install different linux distributions on different hypervisors (like Qemu and VMWare vSphere). Instances are still running on physical hardware, so I also need to deploy those. Every solution works with some kind of images, nobody wants to maintain the same distribution in two different image formats, so it would be good to have a really generic solution which offers the possibility to provision virtual machines and physical nodes. I’m the founder of the VirtAPI project, one of our projects is the installimage. This is a collection of bash scripts originally developed and still in use by Hetzner Online GmbH. The purpose is to boot a small live linux via PXE and than run these scripts. They will:
- create software raids
- create partitions
- fomart them with your most loved filesystem
- unzip a linux image
- install grub in a chroot
- set root password/ssh key/autostart options
All this can be completely automated by a config file, another solution is to use the guided installer. installimage currently supports Debian, CentOS, Ubuntu, Fedora, OpenSuse based on zipped images. It also features Gentoo and Archlinux as a live installation (pacstrap/stage3 archive) but this isn’t well tested yet. I’m currently updating the code to remove some legacy calls (for example parsing ifconfig instead if ifdata/ip). The VirtAPI Team will also release a new repository to build an ArchISO which is optimized for booting via PXE and running installimage.
PXE is a perfect deployment solution, this is a very well established protocol stack for over two decades which works on every physical node and on every paravirtualized virtual machine. installimage is a generic solution without a “vendor lock-in” like RedHats kickstart project or Debians debootstrap. installimage is currently widely deployed, let me know if you’re interested in this project and want to use it or participate!