Is it possible to install KVM on bare metal?
I believe you're misunderstanding how it works. KVM
is a combination of the kernel modules (mainlined in the kernel since 2.6.20 if I remember correctly) and utilities needed to run a Virtual Environment (libvirt
, virt-install
, virt-manager
, qemu
, etc).
Look at ESXi. That is a Linux system all by itself that sits on bare metal with the bits required to run the Virtual Host piece, including the kernel modules, binaries, etc. Any machine that is considered a KVM host will be doing the same thing, acting as a Virtual Host. Think about it. The OS is always installed to bare metal.
I would recommend reading here: http://www.linux-kvm.org/page/Main_Page
I know this isn't part of your question, but I really recommend installing an absolute BARE system, meaning, just the minimum amount of packages for a system to be functional, and then going from there. Keep the host to one purpose, and one purpose only: To be a virtual host for a virtual environment. I run four CentOS 7 KVM machines at home in a cluster. That's all they do, run libvirt
(the vital service for KVM).
KVM like any virtual machine need some OS to be launched. That OS can be tiny, there are VM that work under Android, but still you need some OS. ESXi has it's own OS inside it, just like any hardware router.
Amazing how people still fall for the "baremetal" marketing pitch. There is no such thing, or rather if there was, it would have been implemented in firmware and not software.
You need to understand that any x86 machine needs an OS to operate, you need drivers to interact with the hardware and process control, schedulers and so on, otherwise, you cannot do anything. The "baremetal" part of any OS are the drivers, since this is the part that interacts directly with the hardware. Intel VT and AMD SVM are also hardware, and a hypervisor is pretty much a driver for this hardware. ESXi is an OS, trimmed down and designated for specific kinds of load, but an OS nonetheless. KVM is that very driver for VT, and since Linux (the kernel) already has the rest of the hardware support and schedulers in place, to become a proper "baremetal" hypervisor, all it needed was the KVM module.
Now you can argue which approach - reusing the Linux kernel, which has been tested and proven over the years, or rewriting it as a new OS is better, but essentially, there is no such thing as a baremetal hypervisor for x86. Leave marketing alone and pick the hypervisor that suits your needs.