Install Proxmox VE on Debian Squeeze on 32-Bit Processor
Introduction
I started originally with Proxmox VE 1.4, installing it on my 32-bit host using these instructions: Install_Proxmox_VE_on_Debian_Lenny_on_32-Bit_Processor. Big thanks to the author for the helpful hints in that article.
With the pending release of Promox VE 2.0, I was interested to try to get the current 2.0 release installed on some of my old 32-bit machines (specifically some Dell 2650s we have kicking around).
I've found that this is possible to do, and I've successfully re-built all of the packages from the current git sources, with the exception of the kernel. Currently I am still using the native openvz kernel until I can fully compile the Proxmox modified kernel. Thus far this basically seems to work fine.
Installation
If you'd like to just get on with it and install the 32-bit packages, our company, Locatrix Communications, has provided a download repository with the pre-made packages from the 2.0 git sources on March 12, 2012. We make no guarantees what-so-ever about these packages. They are unofficial and completely unsupported. These were built using beta code with an experimental method on an un-supported platform.
That said, give them a try.
Step 1: Setup a fresh Debian Squeeze 32-bit system
Here's the CD image we used:
wget http://cdimage.debian.org/debian-cd/6.0.4/i386/iso-cd/debian-6.0.4-i386-netinst.iso
When partitioning, use LVM and you're going to want to leave 4GB of space free for snapshot backups (reference: http://forum.proxmox.com/threads/2059-backup-issues). The Proxmox bare-metal installer does this automatically when installing the default setup. Snapshot backups should only use 1GB of that space regardless of the VM size.
Here's how to setup your partitioning:
- Guided - Use entire disk and set up LVM
- Select default disk (e.g. "SCSI3 (0,0,0...")
- All files in one partition
- Choose "Yes" to write the changes to disks and configure LVM
- On the "Partition disks" review screen
- Arrow up and choose "Configure the Logical Volume Manager"
- Choose "Yes" to write the changes to disks and configure LVM
- Delete logical volume
- Choose "root"
- Create logical volume
- Choose default volume group, e.g. "debian"
- Enter "root" as the logical volume name
- Now choose a size that is around 4GB smaller than the default to allow for that 4GB to be used for snapshot backups (e.g. if the default is "47934MB", I just entered "43934MB")
- Finish
- Arrow down and select the line that says "#1 XX GB" (with XX being the size you chose above), it's the line underneath "LVM VG debian, LV root...".
- Choose "Use as: do not use"
- Choose "Ext3 journaling file system"
- Choose "Mount point: none"
- Choose "/ - the root file system"
- Choose "Done setting up the partition"
- Choose "Finish partitioning and write changes to disk"
- Choose "Yes" to write the changes to disks
Proceed through the rest of the installation.
Step 2: Prepare the installed system
Add the Locatrix package repository
vi /etc/apt/sources.list # Add a new line: deb http://download.locatrix.com/proxmox32/ ./
Download the updated package information
aptitude update aptitude upgrade
Setup the network
apt-get install postfix bridge-utils vi /etc/network/interfaces # Add the below in place of your existing eth0 configuration # This assumes you have a single network interface on a local LAN on 192.168.0.x # The bridge interface below should take-over the IP you were previously using on eth0 iface eth0 inet manual auto vmbr0 iface vmbr0 inet static address 192.168.0.90 netmask 255.255.255.0 gateway 192.168.0.254 bridge_ports eth0 bridge_stp off bridge_fd 0 # Save vi /etc/sysctl.conf # Uncomment the line net.ipv4.ip_forward=1 # Save sysctl -p vi /etc/hosts # Set the IP from above instead of 127.0.1.1 192.168.0.90 somemachine.mynet.net somemachine pvelocalhost
Step 3: Install the packages
apt-get install proxmox-ve-2.6.32
Reboot afterwards to ensure the new kernel is installed.
uname -a should report "2.6.32-5-openvz-686"
Visit your new Proxmox install: https://<mymachine>:8006
- Login using your Linux password, e.g. "root" and "<whatever-you-set-in-the-installer>"
If you want to get started right away adding some VMs, I recommend you do this:
- Login as above
- Click on Datacenter->mymachine->local (mymachine)->Content
- Click Templates in that section
- Click a template and download it, e.g. "Ubuntu 10.04"
- After the template has been downloaded, you can now launch a VM of that type using "Create CT" in the upper-right-hand-corner
Notes and hints
One difference from the Install_Proxmox_VE_on_Debian_Lenny_on_32-Bit_Processor instructions is that I included all the qemu and KVM packages, because I understand they may be useful for some people. You can also still run VMs under QEMU in this setup even if you don't have hardware support for KVM. This isn't recommended, however, and what you really want is to just use OpenVZ for everything.
- On start-up you see messages like "unable to load kvm module"
- Don't worry about it really, as below, it means your processor doesn't support KVM, so just ignore it and use OpenVZ for all of your VMs
- If you try to start a VM and see "No accelerator found!"
- This means your hardware doesn't support KVM.
- You can disable KVM under Options->KVM hardware acceleration, but in general this is a bad idea since it means the system will fall-back to QEMU-only, which will give you poor performance. Instead you should create your VMs with "Create CT" to use OpenVZ.
- If you see "start failed" after doing the above, you may have selected an unsupported CPU type.
- Login to your host machine and run: /usr/bin/kvm -cpu ?
- This will give you a list of valid options, like "Opteron_G3", note items in brackets are not available, like "[pentium3]"
Build the packages yourself
If you'd like to re-build all of the packages yourself, I'm happy to share the PHP script I wrote that automatically downloads all the sources, modifies the package files, builds, and then creates a repository for the packages. This is the same script I ran to completely create the Locatrix repository above from scratch.
Notes:
- Start with a clean Debian Squeeze 32-bit system. You need to be aware the build process can harm your system and so you really do this inside of a new VM that you don't mind deleting afterwards.
- Run the build either as root or from an account that can use sudo. Various parts of the build process require packages to be installed as we proceed.
Run the build:
# install sudo because the build script assumes you have it su root -c 'apt-get install sudo' vi /etc/group # add your current user account to the 'sudo' group if you're not running as root # save sudo apt-get install php5-cli cd ~ wget http://download.locatrix.com/proxmox32/build # output some information about the build program php ./build # now run the full build php ./build -f