Installation de proxmox 7 sans IPMI ni KVM IP sur serveur dédié ovh

Sur les serveurs dédiés de la gamme kimsufi ou Soyoustart, on peut choisir le système d’exploitation à installer suivant des templates proposés dans le manager.

Ex: chez Kimsufi

La liste est assez longue mais peut parfois ne pas suffire, comme par exemple le template de Proxmox VE 7 n’est pas présent.

Il existe deux possibilités pour pouvoir installer son propre système d’exploitation :

  • via l’IPMI ou le KVM IP
  • via le mode RESCUE

Installation avec IPMI

La doc d’installation fournie par OVH est largement suffisante et bien détaillée pour pouvoir se servir d’IPMI.
Elle est disponible à cette adresse: Installation d’un système d’exploitation à l’aide d’IPMI.

Installation sans IPMI ni KVM IP

Depuis novembre 2021, IPMI n’est plus proposé avec les serveurs et KVM IP est actuellement une option payante.

Activation du mode rescue

Si c’est la première fois que vous accédez à votre serveur, il sera déjà dans ce mode de démarrage, sinon il faut vous rendre dans le manager de l’hébergeur et définir le NetBoot en mode customer rescue system.

Attention !!!! Vérifier que vous avez sélectionné le bon serveur dans la liste déroulante (si vous en avez plusieurs), il serait dommage de formater un serveur en production.

Puis cliquer sur le bouton “NetBoot”.

Sélectionner le mode Rescue et cliquer sur “Suivant”.

Vous devrez confirmer que vous êtes sûr de bien vouloir réaliser cette action dans la fenêtre suivante.

Cliquer sur le bouton “Confirmer”.

Afin que le paramètre soit pris en compte, il faut redémarrer le serveur pour booter sur l’image iso du rescue64-pro.

Attendre la réception des informations de connexion en SSH sur le serveur.

Recueil d’informations

Attention cette étape là est importante, nous allons collecter des informations afin de pourvoir configurer notre serveur au mieux lorsque notre OS (dans mon cas proxmox VE 7) sera installé.

Se connecter en SSH avec les identifiants reçus plut tôt par mail avec l’utilisateur root.

Vérifier la prise en charge de la virtualisation:

root@rescue:~# lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                8
On-line CPU(s) list:   0-7
Thread(s) per core:    2
Core(s) per socket:    4
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 86
Model name:            Intel(R) Xeon(R) CPU D-1521 @ 2.40GHz
Stepping:              3
CPU MHz:               800.411
CPU max MHz:           2700.0000
CPU min MHz:           800.0000
BogoMIPS:              4800.10
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              6144K
NUMA node0 CPU(s):     0-7

La ligne qu’il faut bien regarder est celle qui fait référence à la Virtualization, dans notre cas elle est bien définie sur VT-x qui correspond à la technologie de virtualisation Intel.

Virtualisation imbriquée

Si on veut faire de la virtualisation imbriquée, il faut contrôler un autre paramètre.

root@rescue:~# cat /sys/module/kvm_intel/parameters/nested
Y

Il est possible que la virtualisation dans la virtualisation ne soit pas activée par défaut, la commande ci-dessus ne vous renverra par Y mais N .

Pour les processeurs intel, vous pouvez l’activer avec les commandes ci-dessous:

root@rescue:~# modprobe -r kvm_intel
root@rescue:~# modprobe kvm_intel nested=1

Si vous êtes sous AMD, remplacer kvm_intel par kvm_amd.

Vérifier les informations de stockage

root@rescue:~# lsscsi -s
[0:0:0:0]    disk    ATA      HGST HUS726020AL T920  /dev/sda   2.00TB
[1:0:0:0]    disk    ATA      HGST HUS726020AL T920  /dev/sdb   2.00TB
[2:0:0:0]    disk    ATA      HGST HUS726020AL T920  /dev/sdc   2.00TB
[3:0:0:0]    disk    ATA      HGST HUS726020AL T920  /dev/sdd   2.00TB

On peut voir ici que l’on a 4 disques de 2To identifiés par /dev/sda, /dev/sdb, /dev/sdc, /dev/sdd.

Informations réseaux

  • Lister les interfaces réseaux
root@rescue:~# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: bond0: <BROADCAST,MULTICAST,MASTER> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
3: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
4: ifb0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 32
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
5: ifb1: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 32
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
6: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
7: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
8: teql0: <NOARP> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 100
    link/void
9: tunl0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ipip 0.0.0.0 brd 0.0.0.0
10: gre0@NONE: <NOARP> mtu 1476 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/gre 0.0.0.0 brd 0.0.0.0
11: gretap0@NONE: <BROADCAST,MULTICAST> mtu 1476 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
12: erspan0@NONE: <BROADCAST,MULTICAST> mtu 1464 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
13: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/sit 0.0.0.0 brd 0.0.0.0
14: ip6tnl0@NONE: <NOARP> mtu 1452 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/tunnel6 :: brd ::

Nous constatons que la machine dispose de deux interfaces réseau, eth0 et eth1, la première étant connectée (state UP), la seconde ne l’étant pas (state DOWN).

Bien noter les adresses MAC associées à chaque interface. Elles seront utiles pour configurer nos interfaces après l’installation de Proxmox.

Nous allons récupérer les nouveaux noms prédictibles qui nous servirons dans le cas d’une installation d’une distribution Linux utilisant ce nommage :

root@rescue:~# udevadm info --path=/sys/class/net/eth0 | grep ID_NET_NAME_PATH
E: ID_NET_NAME_PATH=enp3s0f0
root@rescue:~# udevadm info --path=/sys/class/net/eth1 | grep ID_NET_NAME_PATH
E: ID_NET_NAME_PATH=enp3s0f1

Nos deux interfaces eth0 et eth1 correspondent donc aux interfaces enp3s0f0 et enp3s0f1 dans la nouvelle convention de nommage sur ma machine : Predictable Network Interface Names.

  • Récupération de l’adresse IPv4
root@rescue:~# ip -4 addr show eth0
6: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    inet xxx.xxx.xxx.xxx/24 brd xxx.xxx.xxx.255 scope global eth0
       valid_lft forever preferred_lft forever
  • Récupération de la route IPv4
root@rescue:~# ip -4 route
default via xxx.xxx.xxx.xxx dev eth0
xxx.xxx.xxx.xxx/24 dev eth0  proto kernel  scope link  src xxx.xxx.xxx.xxx
  • Récupération de l’adresse IPv6
root@rescue:~# ip -6 addr show eth0
6: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 2001:41d0:xxxx:xxxx::1/64 scope global
       valid_lft forever preferred_lft forever
    inet6 fe80::ec4:xxxx:xxxx:xxxx/64 scope link
       valid_lft forever preferred_lft forever
  • Récupérons la route IPv6
root@rescue:~# ip -6 addr show eth0
6: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 2001:41d0:xxxx:xxxx::1/64 scope global
       valid_lft forever preferred_lft forever
    inet6 fe80::ec4:xxxx:xxxx:xxxx/64 scope link
       valid_lft forever preferred_lft forever
  • Terminons par récupérer l’adresse du serveur DNS
root@rescue:~# cat /etc/resolv.conf
nameserver 213.186.33.99

Préparation de l’installation

Vérification de la non présence de partitions.

root@rescue:~# lsblk
NAME MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sdd    8:48   0  1.8T  0 disk
sdb    8:16   0  1.8T  0 disk
sdc    8:32   0  1.8T  0 disk
sda    8:0    0  1.8T  0 disk

Pas d’actions particulières à réaliser les disques sont vierges.

Installation

Reconnexion en créant un tunnel ssh sur le port 5900 (protocole vnc) de la machine distante vers la machine locale.

ssh -L5900:127.0.0.1:5900 root@xxx.xxx.xxx.xxx

Déposer l’iso en sftp ou télécharger l’image depuis le site de proxmox.

root@rescue:~# wget http://download.proxmox.com/iso/proxmox-ve_7.1-1.iso

Vérifier la présence de l’utilitaire QEMU.

root@rescue:~# which qemu-system-x86_64
/usr/bin/qemu-system-x86_64

Nous allons créer une machine virtuel avec QEMU qui utilisera les disques physiques du serveur et l’image ISO comme support d’installation.
De plus, nous allons créer un serveur vnc pour pouvoir accéder à la machine virtuelle qui écoutera sur le port 5900 et uniquement sur l’interface de loopback.

Qemu ne prenant en charge que 4 disques durs ide au maximum, nous déclarons le cd-rom en iscsi.

root@rescue:~# qemu-system-x86_64 -enable-kvm -vnc 127.0.0.1:0 -cpu host -smp 4 -net nic -net user -m 4096M -hda /dev/sda -hdb /dev/sdb -hdc /dev/sdc -hdd /dev/sdd --drive id=cdrom1,if=none,format=raw,readonly=on,file=proxmox-ve_7.1-1.iso -device virtio-scsi-pci,id=scsi0 -device scsi-cd,bus=scsi0.0,drive=cdrom1

Description des options :

-enable-kvm                 : utilise le support de kvm, la couche de virtualisation de Linux
-vnc 127.0.0.1:0            : créé un serveur vnc sur l'interface de loopback, port 5900
-cpu host                   : expose un cpu virtuel identique au cpu hôte
-smp 4                      : expose quatre coeurs
-net nic                    : créé une interface rféseau virtuelle
-net user                   : crée un réseau virtuel NAT avec DHCP
-m 4096M                    : expose 4Gio de mémoire vive
-hda /dev/sda               : utilise le disque physique /dev/sda comme 1er disque de la VM
-hdb /dev/sdb               : utilise le disque physique /dev/sdb comme 2nd disque de la VM
-hdc /dev/sdc               : utilise le disque physique /dev/sdc comme 3eme disque de la VM
-hdd /dev/sdd               : utilise le disque physique /dev/sdd comme 4eme disque de la VM
--drive id=cdrom1,if=none,format=raw,readonly=on,file=proxmox-ve_7.1-1.iso -device virtio-scsi-pci,id=scsi0 -device scsi-cd,bus=scsi0.0,drive=cdrom1  : Montage de l'iso dans un lecteur de cdrom avec le pilote virtio

Se connecter en vnc sur l’addresse 127.0.0.1 sur le port 5900. On peut constater que l’on a bien le retour de l’interface d’installation du proxmox.

Accepter la licence d’utilisation en cliquant sur “I agree”.

Nous arrivons ensuite sur l’interface de gestion des disques durs.

Cliquer sur le bouton “Options” afin de configurer le type de RAID et le système de fichier qui va être utilisé.

Dans mon cas j’ai choisi btrfs en RAID 10 . Cliquer sur “OK” et ensuite “Next”.

Dans l’interface suivante il faut renseigner les informations de localisation et de zone de temps .

Cliquer ensuite sur “Next”

Attention à l’interface suivante, il faut définir le mot de passe associé au compte root.
Déclarez un mot de passe facile à saisir compatible clavier azerty/qwerty (émulé vnc).

Renseigner le mot de passe et l’adresse mail , puis cliquer sur “Next”.

Pour les paramètres réseau, nous renseignons le nom du serveur et l’adresse IP du DNS, le reste nous n’y touchons pas pour le moment.

Cliquer sur “Next”.

Une interface nous demande de confirmer l’installation de proxmox en affichant un récapitulatif des paramètres saisis précédemment.

Cliquer sur le bouton “Install” si tout est bon.

Proxmox redémarre automatiquement si la case a été cochée avant l’installation.

Proxmox a été correctement installé mais il faut encore modifier les paramètres réseau.

Post-installation

Se connecter sur la machine avec une des méthodes ci-dessous:

  • Méthode VNC avec tunnel SSH précédemment créé

Attention au clavier de VNC !!!!

Se connecter en tant que root afin d’ajuster les paramètres réseau.

  • Méthode rescue cd

Pour monter les disques btrfs en RAID10 en mode rescue, il suffit de monter un des disques membre du raid.
La commande est trompeuse. les 4 disques sont bien montés en raid 10.

root@rescue:~# mount /dev/sda3 /mnt

Éditer le fichier /etc/hosts et modifier l’adresse 10.0.2.15 avec l’adresse Ipv4 récupérée précédemment.

Editez le fichier /etc/resolv.conf et si nécessaire changez l’adresse IP 10.0.2.1 avec l’adresse IP de votre serveur DNS.

Editez le fichier /etc/network/interfaces (dans le cas d’une Debian ou dérivée comme Proxmox), changez l’adresse IP 10.0.2.15 avec l’adresse IP réelle de votre machine, changez l’adresse IP 10.0.2.2 par l’adresse IP réelle de la gateway, puis changez le nom d’interface ens3 avec le nom réel de votre interface physique.

Dans mon cas ça n’a pas fonctionné, du coup je me suis inspiré d’un autre proxmox installé en IPMI pour le nommage des interfaces.

iface eno3 inet manual

iface eno4 inet manual

Pensez ensuite à ajouter l’adresse MAC associée à l’interface active pour être sûr de présenter la bonne adresse attendue par l’hébergeur avec l’option hwaddress.

Pensez aussi à changer le nom de l’interface physique liée au bridge avec l’option bridge-ports.

auto vmbr0
iface vmbr0 inet static
        address xx.xx.xx.xx/24
        gateway xx.xx.xx.xxx
        bridge-ports eno3
        bridge-stp off
        bridge-fd 0
        hwaddress xx:xx:xx:xx:xx:xx

Démontez le disque.

root@rescue:~# umount /mnt

Une fois ces ajustements effectués, vous pouvez arrêter la machine virtuelle en tapant la commande:

root@rescue:~# shutdown -h now

Démarrage Proxmox

Afin de démarrer sur le proxmox en mode normal, il faut se rendre dans le gestionnaire de l’hébergeur afin de modifier l’option de Netboot.

Cliquez sur le bouton “Suivant”.

Cliquer sur le bouton “Confirmer” pour approuver le démarrage sur le disque dur.

Afin que le paramètre soit pris en compte, il faut redémarrer le serveur pour démarrer Proxmox.

Normalement vous devriez pourvoir accéder en web à votre proxmox.

Si ce n’est pas le cas, il faudra investiguer et vérifier les paramètres réseaux dans les fichiers modifiés avant le redémarrage du serveur sur le disque dur.

Pour finir, si vous avez suivi ce tutoriel, vous voilà avec un hyperviseur proxmox 7 alors qu’actuellement ovh ne le propose pas dans ces templates.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.