Blog

Installation de Proxmox sur Debian Jessie

Écrit le 27 09 2016 par Kévin MET _

Aujourd'hui nous allons voir comment installer un Proxmox chez OVH sans passer par l'installation par défaut de proxmox d'OVH. Tu te demandes pourquoi faire cela alors qu'on peut laisser faire le sale boulot à OVH de manière automatisée ? Et bien tout simplement car j'avais envie de faire cela moi même donc je suppose que d'autres personnes doivent être dans le même cas et que ce tutoriel peut donc les intéresser. De plus, j'ai loué des serveurs avec 3 disques et je voulais un RAID 5 pour porter le volume group (LVM) qui fera office de data storage sur proxmox. EDIT: Je me suis rendu compte plus tard qu'OVH gérait le raid5 à l'installation sur une partition autre que / ou /boot mais ce n'est pas très grave car c'est toujours bien de savoir comment fonctionne le partitionnement ou la création d'un RAID5 avec mdadm...

On va donc commencer par faire l'installation d'une Debian Jessie sur l'interface d'OVH. Si vous êtes chez SoYouStart ou Kimsufi c'est exactement la même chose et tout fonctionnera de la même manière. Pour cette installation on va utiliser le partitionnement suivant :

  • / : 20 Go
  • swap : 1024 Mo

Cela va permettre de garder la majorité de l'espace non partitionnée pour créer notre VG. La partition racine reste en RAID 1 car OVH n'autorise pas autre chose dans son installateur. Une fois que le système est installé et que vous êtes connecté en SSH nous allons créer nos partitions avec parted. On commence avec /dev/sda et on répètera l'opération sur les autres disques :


root@hv0:~# parted /dev/sda

On passe l'unité de mesure en secteur, ce qui est à mon avis plus pratique que les autres unités pour créer des partitions et on affiche l'espace libre :

 
(parted) unit s                                                           
(parted) print free                                                       
Model: ATA INTEL SSDSA2CW12 (scsi)
Disk /dev/sda: 234441648s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start      End         Size        Type     File system     Flags
        63s        4095s       4033s                Free Space
 1      4096s      40962047s   40957952s   primary  ext4            boot, raid
 2      40962048s  43057151s   2095104s    primary  linux-swap(v1)
        43057152s  234441647s  191384496s           Free Space

On va ensuite ajouter la partition à l'aide de la commande mkpart et on va vérfier son id avec la commande print. Pour ajouter cette partition, on utiliser les données que l'on a receuillies aupravant sur les secteurs de début et de fin de l'espaces libre :


(parted) mkpart primary ext2 43057152s 234441647s                              
(parted) print
Model: ATA INTEL SSDSA2CW12 (scsi)
Disk /dev/sda: 234441648s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start      End         Size        Type     File system     Flags
 1      4096s      40962047s   40957952s   primary  ext4            boot, raid
 2      40962048s  43057151s   2095104s    primary  linux-swap(v1)
 3      43057152s  234441647s  191384496s  primary  ext2            lba

On va ensuite activer le flag raid sur cette partition :


(parted) set 3 raid on                                                     
(parted) print                                                     
Model: ATA INTEL SSDSA2CW12 (scsi)
Disk /dev/sda: 234441648s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start      End         Size        Type     File system     Flags
 1      4096s      40962047s   40957952s   primary  ext4            boot, raid
 2      40962048s  43057151s   2095104s    primary  linux-swap(v1)
 3      43057152s  234441647s  191384496s  primary                  raid

(parted) quit
Information: You may need to update /etc/fstab.

Il faut ensuite répèter l'opération sur les autres disques et on va pouvoir créer notre grappe RAID avec mdadm :


root@hv0:~# mdadm --create /dev/md3 --level=5 --assume-clean --raid-devices=3 /dev/sda3 /dev/sdb3 /dev/sdc3
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md3 started.

On va ensuite mettre à jour le fichier mdadm.conf :


updatroot@hv0:~# mdadm --detail --scan > /etc/mdadm/mdadm.conf 
root@hv0:~# cat /etc/mdadm/mdadm.conf 
ARRAY /dev/md1 metadata=0.90 UUID=e93645f5:aa5d40c9:a4d2adc2:26fd5302
ARRAY /dev/md3 metadata=1.2 name=hv0.mnt-tech.fr:3 UUID=b89e1214:2888d528:41ed2000:bb52ca21e de mdadm.conf

On va ensuite créer notre Physical volume et notre Volume group. C'est ce dernier qui sera utilisé directement par proxmox pour y stocker nos images :


root@hv0:~# pvcreate /dev/md3 
  WARNING: lvmetad is running but disabled. Restart lvmetad before enabling it!
  Physical volume "/dev/md3" successfully created
  
root@hv0:~# vgcreate data /dev/md3 
  Volume group "data" successfully created

On commente temporairement l'IPv6 de /etc/hosts pour installer proxmox sur l'IPv4 portée par notre hyperviseur. Il faut également bien faire attention à ce que votre hostname soit identifié par l'IP public de votre serveur et non pas par localhost :


root@hv0:~# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
94.23.45.72       	hv0.mnt-tech.fr	hv0
#2001:41d0:0002:2e48::	hv0.mnt-tech.fr	hv0

# The following lines are desirable for IPv6 capable hosts
#(added automatically by netbase upgrade)

::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

On va ensuite pouvoire ajouter le dépôt proxmox et faire la mise à jour de la distribution :


root@hv0:~# echo "deb http://download.proxmox.com/debian jessie pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list
root@hv0:~# wget -O- "http://download.proxmox.com/debian/key.asc" | apt-key add -
--2016-09-23 15:09:09--  http://download.proxmox.com/debian/key.asc
Resolving download.proxmox.com (download.proxmox.com)... 79.133.36.246
Connecting to download.proxmox.com (download.proxmox.com)|79.133.36.246|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1703 (1.7K) [text/plain]
Saving to: ‘STDOUT’

-                                                           100%[===========================================================================================================================================>]   1.66K  --.-KB/s   in 0s     

2016-09-23 15:09:09 (220 MB/s) - written to stdout [1703/1703]

OK
root@hv0:~# apt-get update && apt-get dist-upgrade
[...]

Il faut ensuite installer les paquets proxmox avec cette commande :


root@hv0:~# apt-get install proxmox-ve ntp ssh postfix ksm-control-daemon open-iscsi systemd-sysv

Et pour finir l'installation, nous allons rebooter le serveur pour passer sur le kernel pve :


root@hv0:~# reboot

Une fois que la machine est remontée et juste pour faire les choses propres on vire l'ancien kernel et on update grub :


root@hv0:~# apt-get remove --purge linux-image-amd64 linux-base
root@hv0:~# update-grub
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.4.19-1-pve
Found initrd image: /boot/initrd.img-4.4.19-1-pve
done

On vire le sources.list avec le dépôt entreprise qui a sournoisement été ajouté lors de l'installation de proxmox 😑


root@hv0:~# rm /etc/apt/sources.list.d/pve-enterprise.list

On peut ensuite se connecter sur l'interface de proxmox et commencer à configurer celui-ci via l'interface. https://ip.publique:8006

Ensuite il faut aller dans le menu Datacenter -> Add -> LVM et on ajoute le LVM data. J'ajoute pas de screenshot car j'ai la flemme et surtout, c'est facile à trouver 😉

Ensuite il faut afficher la conf de eth0. hv0 -> system -> network -> eth0 -> edit. Cela va nous servir à configurer une interface bridge que l'on nommera vmbr0 (le nom par défaut). Dans un autre onglet de votre navigateur vous aller ajouter ce bridge en gardant les mêmes informations que sur eth0. Avant de l'ajouter, il faudra supprimer eth0 sur le premier onglet. ATTENTION, il ne faut pas oublier de mettre eth0 dans bridge ports car c'est sur cette interface que passe le trafic. Un des défauts de proxmox est qu'il faut rebooter à chaque fois que l'on modifier le fichier /etc/network/interfaces... Nous allons donc devoir reboot le serveur une seconde fois


root@hv0:~# reboot

Lorsque votre serveur remonte vous avez fini l'installation de proxmox et vous pouvez commencer à ajouter des VM ou des containers. Pour avoir accès à internet elles devront utiliser l'interface vmbr0 en tant que bridge. Et voilà, vous pouvez vous amusez :)

♥ Partage sur tes réseaux sociaux ♥
Kévin MET
Kévin MET

Auteur de ce blog et gérant de la société MNT-TECH, je publie sur ce blog lorsque le temps me le permet et lorsqu'un sujet qui me parait intéressant n'a pas encore été abordé en français. Toutes les informations techniques présentes sur cette page peuvent être réutilisées moyennant le fait de citer la source.