A First Look at Proxmox

I like VirtualBox and use it heavily. But it's without a doubt a Type 2 hypervisor ( https://en.wikipedia.org/wiki/Hypervisor ) and in many circumstances I've seen it suck up significant amounts of processor even though its hosted machine(s) are idle. So I wanted a Type 1 hypervisor for my attempt to make my own miniature VM hosting machine.

I had a previous, unsatisfactory experience with KVM - although I admit I was at the time trying to run fully graphical VMs, while I'm now most interested in headless boxes. So this time out I'm trying Proxmox. It claims the client performance degradation over bare metal is only 1-3% ... And I had a client machine up and running in about three quarters an hour (that includes the time to do the Debian client install) almost without reference to their documentation. That suggests to me that it's amazingly intuitive for such a high level piece of software. Although most of the terms and behaviour made sense to me only because I'm so familiar with VirtualBox.

My primary complaint about Proxmox is that its install disk says "all your disk is belong to me." It won't install to a partition, it simply takes over the entire drive. I get that it's meant for VMs and needs space, but it's still unimpressive behaviour.

Also unfortunate is the use of a self-signed TLS security certificate on the website Proxmox creates on its host machine. But this is inevitable because it has no way to get a proper one, and I mention it only so other potential users won't be surprised.

An important difference I'm noticing between Proxmox and VirtualBox: while you can see and interact with the VM within the web interface that Proxmox provides, the assumption appears to be that they'll mostly be treated as headless. And to go with this, when you set up a VM and run a (Debian, in this case) installer, the VM by default has its own outward-facing (virtual) NIC. There are options for other arrangements, but that's the default. VirtualBox's default is that each VM has a NATed NIC that's not publicly available. You can change VB's behaviour, but this is looking like it's got good defaults and good basic behaviour for what I want now.


The actual installation:

One of the options on the boot media GRUB menu was "check memory." It created a big black box and never did anything at all. I had to reboot to get out of it. Next I selected "Install Proxmox," to which the reply was basically "I take all your HD. Deal." I get that you're meant for installing virtual machines. I'm still unimpressed you won't install to a partition.

On the install page called "Administration Password and E-Mail Address" it says:

"Proxmox Virtual Environment is a full featured GNU/Linux system based on Debian. Therefore you should use a strong password with at least 5 characters."

Right next to that it says:

"Password: Please use strong passwords. Your password should be 8 or more characters in length. Also combine letters, numbers, and symbols."

I guess no one on the development team is actually reading this stuff.

After installation, I got a text login screen with a MOTD ("Message of the Day," the stuff over the "login:") that said to go to https://192.168.0.13:8006/ . In my haste, I went to http://192.168.0.13:8006/ , which returns an empty response - it should redirect to the secure login. And since I hadn't noticed that I hadn't typed the "s" that was needed, 10 minutes of debugging ensued.

Finally got logged in, and it says "No valid subscription: You do not have a valid subscription for this server. Please visit www.proxmox.com to get a list of available options" with an "OK" button to exit. I really hope it doesn't say that every damn time I log in. Yup - it does. And after a couple days of looking at this, I'm going to conclude that despite being "open source," this is also Nagware: it's pretty annoying.

The first step seems to be to go to "pve" -> "local (pve)" in the "Server View" in the left panel, then in the right panel go to "Content" and "Upload." I would have gone straight to making a VM, but to do that you need an ISO image, so I'm uploading a couple of those.

Now at the top, I click the "Create VM" button. You're walked through naming it, selecting a kernel type (it's a Linux OS), the ISO image, sizing the virtual HD, choosing a processor (the default is "kvm64," but it can lie in many interesting ways - although all are Intel/Athlon), memory - fixed size or dynamic allocation(!) in a range, and finally virtual network cards (of which there are only four choices). This is the point at which knowledge of VirtualBox's terminology and behaviour is most helpful.

Then boot the ISO and install to your virtual hard disk by looking in the "Console" tab which opens VNC for you.

All in all a fairly impressive distro.