Install Proxmox VE on Debian Jessie
Introduction
The installation of a supported Proxmox VE server should be done via Bare-metal_ISO_Installer. In some case it makes sense to install Proxmox VE on top of a running Debian Jessie 64-bit, especially if you want a custom partition layout. For this HowTO the following Debian Jessie ISO was used: debian-8.5.0-amd64-netinst.iso.
Install a standard Debian Jessie (amd64)
Install a standard Debian Jessie, for details see Debian, and select a fixed IP. It is recommended to only install the "standard" package selection and nothing else, as Proxmox VE brings its own packages for qemu, lxc. During installation you have to manually partition the Hard Disk and use the choice "Configure the Logical Volume Manager" to create a volume group called "pve" and 3 logical volumes called "swap", "root" and "data". The mount point for "root" will be "/" and for "data" select the manual option and enter "/var/lib/vz". You can format with ext4.
You can also create empty partitions during installation and then create ZFS pool on them. The suggested partition layout with LVM is like that:
Device Boot Start End Blocks Id System /dev/sda1 1 122 975872 83 Linux /dev/sda2 122 5222 40965120 8e Linux LVM
LVM: root@pvedebian:~# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert data pve -wi-ao---- 68.25g root pve -wi-ao---- 29.75g swap pve -wi-ao---- 7.00g
Add an /etc/hosts entry for your IP address
Please make sure that your hostname is resolvable via /etc/hosts, i.e you need an entry in /etc/hosts which assigns an IPv4 address to that hostname.
Note: Make sure that no IPv6 address for your hostname is specified in `/etc/hosts`
For instance if your IP address is 192.168.15.77, and your hostname prox4m1, then your /etc/hosts file shoud look like:
127.0.0.1 localhost.localdomain localhost 192.168.15.77 prox4m1.proxmox.com prox4m1 pvelocalhost # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters
You can test if your setup is ok using the getent command:
#verify that your hostname is resolved getent hosts $(hostname) 192.168.15.77 prox4m1.proxmox.com prox4m1 pvelocalhost
# verify that your IP address is resolved getent hosts 192.168.15.77 192.168.15.77 prox4m1.proxmox.com prox4m1 pvelocalhost
Install Proxmox VE
Adapt your sources.list
Add the Proxmox VE repository:
echo "deb http://download.proxmox.com/debian jessie pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list
NOTE: If you have enabled other arch (typically, i386 to run some older software) and apt-get complains about not being able to find /binary-i386: "Unable to find expected entry 'pve/binary-i386/Packages'" you need to remove other arch or use insted the row:
deb [arch=amd64] http://download.proxmox.com/debian jessie pve-no-subscription
this because Proxmox repository does not have other arch then amd64; more info on multiarch on debian on: https://wiki.debian.org/Multiarch/HOWTO .
If it does not work for apt-get of some files, then replace http:// with ftp:// especially in the first two urls above.
Add the Proxmox VE repository key:
wget -O- "http://download.proxmox.com/debian/key.asc" | apt-key add -
Update your repository and system by running:
apt-get update && apt-get dist-upgrade
Install Proxmox VE packages
Install the Proxmox VE packages:
apt-get install proxmox-ve ssh postfix ksm-control-daemon open-iscsi systemd-sysv
Accept the suggestion to remove Exim and configure postfix according to your network. If you have a mail server in your network, you should configure postfix as a satellite system, and your existing mail server will be the 'relay host' which will route the emails send by the proxmox server to the end recipient. If you don't know what to enter here, choose local only.
Finally, reboot your system, the new Proxmox VE kernel should be automatically selected in the GRUB menu.
Connect to the Proxmox VE web interface
Connect to the admin web interface (https://youripaddress:8006), create a bridge called vmbr0, and add your first network interface to it. If you have a fresh install and didn't add any users yet, you should use the root account with your linux root password, and select "PAM Authentication" to log in.
Configure apt to use the new packages repositories
In order to get latest updates, you need to add one of the new package repositories, see Package repositories
Troubleshooting
resolv.conf gets overwritten
The PVE4 GUI expects to control DNS management and will no longer take its DNS settings from /etc/network/interfaces Any package that autogenerates (overwrites) /etc/resolv.conf will cause DNS to fail. e.g. packages 'resolvconf' for IPv4 and 'rdnssd' for IPv6.
Optional Steps
Optional: Remove the Debian kernel
apt-get remove linux-image-amd64 linux-image-3.16.0-4-amd64 linux-base
Check grub2 config by running:
update-grub
Optional: Developer Workstations with Proxmox VE and X11
Proxmox VE is primarily used as virtualization platform with NO additional software installed. In some case it makes sense to have a full desktop running on Proxmox VE, for example for developers using Proxmox VE as their primary workstation/desktop.
For example, just install XFCE4 desktop and Firefox/Iceweasel browser:
apt-get install xfce4 iceweasel lightdm
If you prefer LXDE desktop instead just do:
apt-get install lxde iceweasel
Make sure network-manager is not used, else pve-cluster will not start in some cases
apt-get purge network-manager