Install Proxmox VE on Debian Lenny on 32-Bit Processor

From Proxmox VE
Jump to: navigation, search

Introduction

Proxmox VE is only provided for 64-bit CPUs using the debian amd64 architecture. While this makes sense for the KVM hypervisor that depends on special hardware features not available in 32-bit CPUs, at least the container based virtualization OpenVZ can be supported on 32-bit CPUs.

Unfortunately you cannot install Proxmox VE on those old 32-bit machines, that's why I ported the packages for i386 architecture.

Using these unofficial packages your 32-bit Server will run Proxmox VE for OpenVZ only.

This document should serve different purposes:

  1. provide a "howto use it" for people who like to continue to use their old servers with Proxmox VE. (go ahead to the next section if you are purely interested in this)
  2. document the work done (thinking of the next Proxmox VE release, this work has to be done again)

If you're interested in Proxmox VE 2.0, there is another related article to Install Proxmox VE on Debian Squeeze on 32-Bit Processor.

Packages

Original Packages

I tried to make only minimal changes that are necessary and keep most of the original PVE packages. Although they have not changed and are cross-platform, they need to be included as the original PVE repository is 64-bit only.

  • dab_1.1-3_all.deb
  • libapache-authcookie-perl_3.12-1_all.deb
  • libjs-prototype_1.6.0.3-1_all.deb
  • libpve-storage-perl_1.0-6_all.deb
  • pve-firmware_1.0_all.deb
  • scstadmin_1.0.6-1_all.deb
  • vzdump_1.2-5_all.deb

Modified Packages

These packages were either rebuild for i386 architecture from the published PVE sources at ftp://download.proxmox.com/sources/, or patched directly.

  • qemu-server_1.1-6_i386.deb
    • rebuild and repackaged
  • vncterm_0.9-2_i386.deb
    • rebuild and repackaged
  • proxmox-ve_1.4-2_all.deb
    • stripped kvm dependencies
    • corrected dependencies for replaced packages
      • pve-kernel -> linux-image-openvz-686
    • rebuild and repackaged
  • pve-manager_1.4-10_all.deb
    • corrected dependencies for replaced packages
      • vzctl
    • rebuild and repackaged

Replaced Packages

Some packages already existed in another repository at http://debian.systs.org.

Install

You can follow the instructions from Install Proxmox VE on Debian Lenny in general, but instead of amd64 you will choose i386 as architecture (as it's all about this issue, here).

Another difference is that for now i'm using a standard debian-openvz-kernel instead of pve-kernel, because the package build the whole kvm stuff, too which is not needed for our purpose. besides compiling it is a horror, so install linux-image-openvz-686 as a kernel package. (this breaks with the i386 architecture)

Instead of the official Proxmox VE package repository you have to take mine.

Package Repository

The modified packages are available online in a trivial debian package repository. Therefore the resulting entry in sources.list looks different to the official debian lines, which use a more complex repository. At least for now the repository is not signed! You'll get some warnings about that during install.

This repository is based on version 1.4 of PVE. I won't provide packages based on version 1.5, since most improvements in ChangeLog are KVM-targeted. I'll wait for 2.0 to come...

/etc/apt/sources.list (use the repository)

To use the package repository, you'll have to add the following line to /etc/apt/sources.list:

 deb http://flippy.medialisten.net/~pille/pve-1.4-i386 ./

Since this host became unreliable (archive of listing)in the last weeks I provide a backup repository that mirrors its contents. Please only use if the primary repository isn't available, since the backup location has reduced bandwidth:

 deb http://rasta.struction.de/pve-1.4-i386/ ./

tools for building the repository (not needed for end user)

  • dpkg-deb -e, dpkg-deb -x, dpkg-deb -b are your friends when dissecting .debs.
  • dpkg-scanpackages ./ |gzip -9 >Packages.gz produces the needed package database for the trivial repository.

Bugs

Warning about beancounters

  • when I migrated a container from a 64-bit host to a 32-bit host there were warnings of this kind:
Warning: too large value for VMGUARPAGES=262144:9223372036854775807 was truncated
  • everything works, but the beancounters have useless big values. haven't tried to correct them with vzctl set ... yet.
  • seems to be an overflow

How to fix these to suitable values

from the forum:

  • find suitable values by running vzsplit -n 4 -f ve.4
    • this will will create a sample config file that will split the hardware resources in 4 equal parts, but will not apply it to any containers
    • copy everything from the ve.4-sample.conf file
      • leave out CPU fairshare and everything below as it is
      • copy everything above it and replace it in the config file of any container giving the "Warning: too large" message
    • the changes will be reflected on the Proxmox web interface, but with strange values of CPU, RAM and SWAP
      • simply change the values from the web interface to the desired CPU, RAM and Swap

How to fix these directly

this will substitute the values in /etc/vz/conf/<VMID>.conf with 2147483647:

sed -e 's/9223372036854775807/2147483647/g' -i /etc/vz/conf/<VMID>.conf

Feedback

Please contribute and give feedback. Two different kinds of feedback are necessary:

  1. Does it work on your machine? It already works on:
  2. Do you need this feature? Does it provide you any benefit?
    • Yes, it's now working on a "old" HP P4. Daniel.
    • Yes. Working on Dell 2650 and 1750 servers in lab. Good test setup without having to buy additional hardware.
    • Yes, working on different P4. I have built a lab cluster with it and it is very helpful. However I miss the repo (hint-hint). Christoph
    • Yes, thank you. It also works on my virtual box, Dell Pentium(M) 1.86GHz, 2GB memory :) Ben
    • This would be more beneficial if the repository was available as that's what this article deals with. Jonathan

Kindly provide details of how much RAM is on the machine and how many containers the installation is running comfortably with. | |