Proxmox VE vient de sortir en version 8.3 et  OVH propose de tester les nouveaux Cluster Scale 3AZ à moindre cout.
L'occasion parfaite pour allier la puissance des serveurs Scale-a2-3AZ chez OVH à la nouvelle version de Proxmox Ve.

 

Pourquoi choisir OVH ?

En tant qu'opérateur Français majeur, OVH reste d'une très bonne fiabilité.
Le rapport qualité prix est l'un des meilleurs du marché, avec l'amélioration continue de ses offres.

  • Anti-DDOS puissants
  • La solution VRACK qui permet de gérer ses ip virtuelles et son réseau privé facilement
  • Le support disponible en mode premium (50€ par mois c'est à la porté de tous)
  • Depuis bientot 10 ans et avec les précautions de sauvegarde et de réplication qui vont bien, les coupures de services n'ont eu que très peu d'impacts.

 

Pourquoi Proxmox Ve ? 

Opensource et avec un développement actif, Proxmox VE est le parfait remplacant de VMWare pour ceux qui souhaitent déployer une infrastructure performante et facilement administrable.

  • Disque ZFS
  • Systemes de fichier répliqué Ceph
  • Haute disponibilité en live
  • Interface web facile d'accès
  • Sauvegarde distante via une solution interne Proxmox Backup Server
  • Des templates de container accessible via Turnkey
  • Une gestion via api, en cli ou directement par l'interface
  • Basé sur Debian et l'opensource, les mises à jour sont régulières, la sécurité s'adapte à votre besoin.
  • Bien plus encore mais je ne peux pas tout citer ici ...

 

Et alors ce cluster ?

Je passe les étapes d'installation d'OS dans le manager OVHCloud mais cependant voici la configuration que j'utilise:

  • Scale-a2-3AZ
  • 512Go de Ram
  • 2 disques Nvme 960Go pour le système
  • 6 disques Nvme 1,9To pour les machines virtuelles
  • le partitionnement 40 Go pour le / et 20 à 300 Go pour la swap (ca va servir pour vos vm)

 

Image de OVH CLOUD

 

Ayant de la place disponible, je créé une partition large pour la swap qui sera partagée entre tous mes containers LXC à l'avenir.

A la sortie de l'installation OVH, on dispose de 3 machines indépendantes installées sur les disques Nvme de 960Go.

 

Image d'un schéma Proxmox

 

Schématiquement, on veut optenir cette configuration et merci de votre indulgence vis a vis de ma qualité de dessinateur 

 

Initialisation des noeuds du cluster Proxmox VE

Suite à l'installation du serveur, nous pouvons vous connecter sur son interface
https://ipdemonserveur:8006

 

Image de Proxmox

 

Vos 3 serveurs sont identiques, le mot de passe root est celui système.

Vous pouvez l'initialiser via ssh pour la 1ere connexion.
Les actions suivantes peuvent être effectuées en même temps sur tous les éléments du cluster:

Les serveurs dans mon cas ont été installé en version 8.2.9 alors que la 8.3 vient de sortir, on hésite pas à faire un petit:
apt update && apt upgrade -y && apt dist-upgrade -y
Il faut être à jour

Une liste des paquets indispensables à ajouter sur les noeuds:
- git curl rsync vim zsh unattended-upgrades cron-apt molly-guard htop tree ntp rkhunter logwatch fail2ban rsyslog sshguard

En terme de sécurité basique sshguard permet de limiter fortement les tentatives d'accès en bloquant les accès ssh par mot de passe dans /etc/ssh/sshd_config 

De même une règle fail2ban proxmox.conf

[Definition]
failregex = pvedaemon\[.*authentication failure; rhost=<HOST> user=.* msg=.*
ignoreregex =
journalmatch = _SYSTEMD_UNIT=pvedaemon.service

Et dans le jail.local

[proxmox]
enabled = true
port = https,http,8006
filter = proxmox
backend = systemd
maxretry = 3
findtime = 2d
bantime = 1h

cron-apt est la pour update apt, vous pouvez le configurer pour les mises à jour automatiques dans /etc/cron-apt/action.d/4-YesUpgrade

upgrade -y -o APT::Get::Show-Upgraded=true

Pour la sécurité, un élément essentiel est la partie firewall intégré à Proxmox VE que l'on peut configurer plus tard 


Suite à des problèmes de mises à jour, j'ajoute la normalisation des interfaces réseaux, à commencer par la partie grub.
On édite /etc/default/grub pour que les interfaces deviennent à la norme eth

#GRUB_CMDLINE_LINUX="nomodeset iommu=pt console=tty0 console=ttyS0,115200n8"
GRUB_CMDLINE_LINUX="nomodeset iommu=pt console=tty0 console=ttyS1,115200n8 net.ifnames=0 biosdevname=0"

j'ai laissé l'ancienne ligne GRUB_CMDLINE_LINUX pour comprendre ce qui est ajouté

 Image Linux

Lorsque l'on change le grub, il faut toujours faire un update

root@zeus1 ~ # update-grub2
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-6.8.12-4-pve
Found initrd image: /boot/initrd.img-6.8.12-4-pve
Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
Adding boot menu entry for UEFI Firmware Settings ...
done

Au prochain boot, le nom des interfaces ens vont devenir eth, il faut donc immédiatement modifier le fichier /etc/network/interfaces pour mettre en place les bons paramètres

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual

auto eth1
iface eth1 inet manual

auto eth2
iface eth2 inet manual
    mtu 9000

auto eth3
iface eth3 inet manual
    mtu 9000

auto bond0
iface bond0 inet manual
    bond-slaves eth0 eth1
    bond-miimon 100
    bond-mode active-backup
    bond-primary eth0

auto bond1
iface bond1 inet manual
    bond-slaves eth2 eth3
    bond-miimon 100
    bond-mode active-backup
    bond-primary eth2
    mtu 9000

auto vmbr0
iface vmbr0 inet static
    address ip.pub.ovh/32
    gateway ip.gw.pub.ovh
    bridge-ports bond0
    bridge-stp off
    bridge-fd 0
    hwaddress XX:XX:XX:XX:XX:XX

iface vmbr0 inet6 static
    address ip:pub:fournit:par:ovh/56
    gateway fe80::1

auto vmbr1
iface vmbr1 inet static
    address 172.16.0.1/24  #pour mon node1
    bridge-ports bond1
    bridge-stp off
    bridge-fd 0
    bridge-vlan-aware yes
    bridge-vids 2-4094
    mtu 9000

 

Détail lié à la gamme des serveurs et la redondance matériel:

  • eth0 et eth1 fonctionne ensemble sur les gammes scale et high grade
  • On les associe avec un bond0 qui est connecté à notre bridge public vmbr0
  • eth2 et eth3 sont la redondance des interfaces vrack
  • Le bond1 est connecté au bridge privé vmbr1 
  • la mtu est augmenté à 9000 pour améliorer du réseau privé vrack
  • Les serveurs sont compatibles ipv6, on ne s'en prive pas
  • L'adresse vmbr1 correspond à l'adresse privée de chaque serveur pour la communication interne

C'est le moment de faire un reboot de vos machines.
Si vous n'avez pas confiance, je vous conseille de mettre un mot de passe root simple et de brancher le kvm du manager OVHCloud, vous pouvez faire le reboot un par un.

Voici à quoi doit ressembler votre interface une fois les serveurs relancer:

 

Au besoin, je peux également intervenir dans le cadre d’une infogérance dédiée.