Proxmox3

De Linux Server Wiki
Aller à la navigation Aller à la recherche


Nous allons voir comment installer proxmox 2 (en beta à l'heure où j'écris ces lignes) avec support d'un raid virtuel (mdadm) et LVM2.

Prérequis

Ce tutoriel se base sur l'utilisation de debootstrap pour installer une base de système d'exploitation debian. La plupart des hébergeurs proposent un système de "rescue" permettant l'installation de debian par ce moyen. Si vous ne disposez pas de mode rescue, vous pouvez toujours utiliser l'installeur proposé par votre hébergeur, ou encore passer par un kvm pour installer vous même le système avec l'iso de debian.

Pour les débutants

Si vous êtes débutant en administration linux, je vous conseil de sauvegarder quelque part les fichier suivant issu d'une précédente installation de debian:

  • /etc/networks
  • /etc/network/interfaces
  • /etc/resolv.conf
  • /etc/hosts
  • /etc/fstab
  • /etc/mdadm/mdadm.conf si vous disposez d'un raid logiciel
  • tout fichier de personnalisation de grub (/etc/grub.d/06_OVHkernel par exemple)

Partitionnement

Voici le partitionnement que je vais utiliser :

  • /dev/sd*1 15 Go (/) (type de partition : FD)
  • /dev/sd*2 4096 Go (swap) (type de partition : 82)
  • /dev/sd*3 reste de l'espace disque (lvm) (type de partition : FD)

Nous allons créer le RAID software (raid 1) suivant :

  • /dev/md0 regroupant /dev/sda1 et /dev/sdb1 (/)
  • /dev/md1 regroupant /dev/sda3 et /dev/sdb3 (lvm)
mdadm --create /dev/md0 --level=1 --assume-clean --raid-devices=2 /dev/sda1 /dev/sdb1
mdadm --create /dev/md1 --level=1 --assume-clean --raid-devices=2 /dev/sda3 /dev/sdb3

Création des systèmes de fichiers

mkfs.ext4 /dev/md0
mkswap /dev/sda2
mkswap /dev/sdb2

Création du LVM

pvcreate /dev/md1
vgcreate main /dev/md1

Nous ne créerons pas de volume logique dans le LVM maintenant. Nous laisserons en effet proxmox et KVM se charger de créer des volumes logiques pour chaque VM.

Installation de proxmox

Installation du système de base

mount /dev/md0 /mnt
debootstrap --arch=amd64 squeeze /mnt http://ftp.fr.debian.org/debian

Configuration de Debian

mount -o bind /proc /mnt/proc
mount -o bind /dev /mnt/dev
mount -o bind /sys /mnt/sys
chroot /mnt

Editez le fichier /etc/apt/sources.list :

deb http://ftp.fr.debian.org/debian squeeze main contrib non-free
deb-src http://ftp.fr.debian.org/debian squeeze main contrib non-free

#Sec
deb http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free

#anciennement debian-volatile
deb http://ftp.fr.debian.org/debian squeeze-updates main contrib non-free
deb-src http://ftp.fr.debian.org/debian squeeze-updates main contrib non-free

Mettez à jour les paquets :

aptitude update
aptitude safe-upgrade

Installez les locales et la configuration de console :

aptitude install locales 
dpkg-reconfigure locales
aptitude install console-data
dpkg-reconfigure console-data # from arch > french > latin9)

Définissez la zone horaire :

tzselect
dpkg-reconfigure tzdata

Installez mdadm pour gérer le raid software :

aptitude install postfix mdadm

Configurez votre /etc/fstab :

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/md0        /       ext4    errors=remount-ro       0       1
/dev/sda2       swap    swap    defaults        0       0
/dev/sdb2       swap    swap    defaults        0       0

/etc/network/interfaces :

# The loopback network interface
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
        address XXXX
        netmask 255.255.255.0
        network XXXX
        broadcast XXXX
        gateway XXXX

/etc/hosts:

# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1       localhost.localdomain localhost
yourip    yourhostname
# The following lines are desirable for IPv6 capable hosts
#(added automatically by netbase upgrade)
::1     ip6-localhost ip6-loopback
feo0::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
echo votrehostname > /etc/hostname
echo votrehostname > /etc/mailname

N'oubliez pas de configurer les dns (ceux de votre hébergeur dédié) :

nameserver XX.XX.XX.XX

Installation de proxmox - kernel

Ajoutez le dépot proxmox dans le fichier /etc/apt/source.list :

# PVE packages provided by proxmox.com
deb http://download.proxmox.com/debian squeeze pve

Ajoutez la clé du dépôt proxmox :

wget -O- "http://download.proxmox.com/debian/key.asc" | apt-key add -
aptitude update

Installez le kernel proxmox :

aptitude install pve-kernel-2.6.32-6-pve

Lorsqu'on vous demandera où installer grub, choisissez sda et sdb.

Et les headers si vous en avez besoin :

aptitude install pve-headers-2.6.32-6-pve

Editez le fichier /etc/default/grub et décommentez la ligne suivante :

GRUB_DISABLE_LINUX_UUID=true

Relancez la configuration de grub :

update-grub
aptitude install openssh-server
passwd

Vous pouvez maintenant sortir de votre chroot et démonter le système de fichier

exit
umount /mnt/sys
umount /mnt/dev
umount /mnt/proc
umount /mnt

puis rebootez sur le disque dur sur votre kernel pve

Installation de proxmox - pve

Une fois le reboot effectué, vérifiez que vous etes sur le bon kernel avec uname -a

Si c'est le cas, vous pouvez installer pve :

aptitude install ntp lvm2
aptitude install proxmox-ve-2.6.32

Supprimez eth0 de votre fichier /etc/network/interfaces et ajoutez y ceci :

auto eth0
iface eth0 inet manual

auto vmbr0
iface vmbr0 inet static
        address xxxxx
        netmask 255.255.255.0
        network xxxx
        broadcast xxxx
        gateway xxxx
        bridge_ports eth0
        bridge_stp off
        bridge_fd 0

Rebootez une dernière fois pour appliquer les changements.

Votre proxmox sera accessible à l'adresse https://ip:8006)

Configuration réseau avancée

Ajout d'une IPv6 sur vmbr0

Ajoutez les lignes suivantes dans /etc/network/interfaces

iface vmbr0 inet6 static
        address <votreipv6>
        netmask <votre masque ipv6 (généralement 64)

Ajout d'un réseau interne

Nous allons voir comment créer un réseau interne avec proxmox, c'est à dire, un réseau qui ne sera attaché à aucune interface réseau physique. L'intérêt est d'offrir un débit bien supérieur pour les communications entre les VMs.

Ajoutez les lignes suivantes dans /etc/network/interfaces :

auto vmbr1
iface vmbr1 inet static
        address  192.168.0.1
        netmask  255.255.255.0
        broadcast 192.168.0.255
        bridge_ports dummy0
        bridge_stp off
        bridge_fd 0
        #post-up /etc/pve/kvm-networking.sh

Si vous voulez utiliser deux interfaces internes, ajoutez la ligne suivante dans /etc/modprobe.d/local :

options dummy numdummies=2

Note : vous pouvez faire de même en ipv6 :