In this post I would like to show how to install proxmox on debian Wheezy. Proxmox is a web-based GUI for KVM. I use this in my LAB for all the software related testing. It is free, but you can also get commercial support. It is one of those great open source tools.
Before you can start the installation, you should check if your host is able to install proxmox. You should have the latest version of debian Wheezy, debian Jessie is currently not supported by proxmox.
You should also check, if your CPU is able to run KVM based virtual machines. You have to enable “vmx” “Intel VT-x” for Intel CPU’s and “svm” “AMD SVM” for AMD based CPU’s. Afterwards you can check if it is enabled by looking into /proc/cpuinfo
grep --color vmx /proc/cpuinfo
grep --color svm /proc/cpuinfo
For an intel CPU it could look like this:
I do not have any AMD based system to get a sample output, but it should look similar.
You should also make sure, that you have the correct settings in your hosts file. It should look like this:
127.0.0.1 localhost 192.168.2.10 proxmox.hpn.local proxmox # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters
If you can make a check mark on the above requirements, head over to the next step.
To install proxmox on your system, you have to add the repository to your source list:
Add the following line:
# PVE repository provided by proxmox.com, only for installation (this repo will stay on 3.1) deb http://download.proxmox.com/debian wheezy pve
Before you can use this repository, you ave to import the repository key:
wget -O- "http://download.proxmox.com/debian/key.asc" | apt-key add -
Update your system:
apt-get update && apt-get dist-upgrade
This will fetch the information from the added repository and install the proxmox kernel.
If not automatically done with the update above, install the proxmox kernel:
apt-get install pve-firmware pve-kernel-2.6.32-26-pve
Now, the tricky part starts. If you have no physical access to the server, you need to be very careful with the next step. It could happen that you machine will not boot correctly.
You have to configure grub that way, that the proxmox kernel is loaded automatically. During the installation of the proxmox kernel, you will see those lines:
Generating grub.cfg ... Found linux image: /boot/vmlinuz-3.2.0-4-amd64 Found initrd image: /boot/initrd.img-3.2.0-4-amd64 Found linux image: /boot/vmlinuz-2.6.32-26-pve Found initrd image: /boot/initrd.img-2.6.32-26-pve done
This will tell, which options are available at the boot screen. The default value for grub is “0”. This means, that the first line is option “0”. You should boot line number “3”, which means we need to tell grub to use option “2” for default. To change the default option open this file:
Look for this entry:
I have to change it to “2”:
Save the file and update grub with the new configuration:
# update-grub Generating grub.cfg ... Found linux image: /boot/vmlinuz-3.2.0-4-amd64 Found initrd image: /boot/initrd.img-3.2.0-4-amd64 Found linux image: /boot/vmlinuz-2.6.32-26-pve Found initrd image: /boot/initrd.img-2.6.32-26-pve done
Using this command will also bring up all boot options, if you missed it in the first place.
You can now reboot your system.
If you system is back online, you can check if the correct kernel was booted by:
uname -a Linux 2.6.32-26-pve #1 SMP Mon Oct 14 08:22:20 CEST 2013 x86_64 GNU/Linux
The important part is “-pve”.
You can now remove the debian default kernel by:
apt-get remove linux-image-amd64 linux-image-3.2.0-4-amd64 linux-base
If you do so, you have to change the grub configuration again.
Generating grub.cfg ... Found linux image: /boot/vmlinuz-2.6.32-26-pve Found initrd image: /boot/initrd.img-2.6.32-26-pve done
For me, it is now “0” again.
The last step, is to install the rest of the proxmox files:
apt-get install proxmox-ve-2.6.32 ntp ssh lvm2 postfix ksm-control-daemon vzprocps open-iscsi bootlogd
This will install a lot of packages.
You can now remove the proxmox repository from your source list again. If you do not have a commercial support contract you have to remove the commercial repository from your system. Therefore open this file:
# vi /etc/apt/sources.list.d/pve-enterprise.list
and remove those lines:
deb https://enterprise.proxmox.com/debian wheezy pve-enterprise
and add those lines:
# PVE pve-no-subscription repository provided by proxmox.com, NOT recommended for production use deb http://download.proxmox.com/debian wheezy pve-no-subscription
Update the system to the latest proxmox version:
# apt-get update && apt-get dist-upgrade
As this will install a newer kernel version, reboot the last time.
You can now access the GUI of proxmox by using this url:
You can use your root credentials, to login to the system.
The next step would be to create networking for the VM’s. I will write a post about the network configuration next time.
If you have any questions, regarding this post or if you would like provide feedback, please use the comment function below.