Note : Cette fonctionnalité de disponibilité anticipée (EA) est uniquement disponible pour une version limitée. Pour plus d'informations, contactez votre représentant Cato Networks ou envoyez un email à ea@catonetworks.com.
Vue d'ensemble
Cet article décrit comment déployer un vSocket KVM sur un hôte géré par Proxmox Virtual Environment (Proxmox VE). Proxmox VE utilise QEMU/KVM, donc le modèle de déploiement du vSocket est identique à celui d'un hôte Linux KVM standard (libvirt/QEMU): le vSocket est distribué sous forme d'une image QCOW2 et bootstrappé avec cloud-init. La différence réside dans la couche de gestion — vous créez et gérez la VM depuis l'interface web Proxmox plutôt que d'utiliser virt-install ou virsh.
Pour les exigences générales du vSocket KVM, les paramètres de user-data cloud-init et le flux de création du site dans l'Application de Gestion Cato (CMA), consultez Configurer un Site vSocket KVM.
Voici les étapes principales pour déployer un vSocket KVM sur Proxmox VE :
- Créez le site vSocket dans le CMA et copiez le numéro de série (S/N).
- Téléchargez l'image QCOW2 et générez l'ISO de semence cloud-init.
- Téléversez l'image QCOW2 et l'ISO de semence dans le stockage Proxmox.
- Créez la VM dans l'interface web Proxmox avec firmware UEFI et appareils virtio.
- Ajoutez le port série et les interfaces réseau supplémentaires à la VM.
- Démarrez la VM et vérifiez que le vSocket se connecte au CMA.
Préparation à l'approvisionnement du vSocket KVM dans Proxmox VE
Voici les prérequis pour préparer la création du vSocket KVM et le connecter au Cloud Cato :
- Un hôte Proxmox VE avec KVM (virtualisation matérielle) activé, et support UEFI (OVMF) pour les invités.
- Le CPU de l'hôte Proxmox est d'architecture de classe Haswell ou plus récente.
- L'image QCOW2 pour le vSocket KVM, téléchargée depuis le dépôt Cato Networks.
- Un ISO d'initialisation cloud, généré à l'avance avec le numéro de série du site (voir Créer l'ISO de graine cloud-init).
- Un outil pour générer l'ISO de semence (par exemple,
mkisofsougenisoimage). - Connectivité Internet et un service DNS public pour l'interface WAN1 du vSocket.
- Ponts Proxmox (par exemple,
vmbr0) qui connectent les interfaces de gestion WAN, LAN, et optionnelles aux réseaux pertinents. - Attachez uniquement jusqu'à 4 interfaces réseau (NIC) au vSocket. Joindre plus de 4 NIC peut causer des problèmes pour le vSocket.
Note: Le passage direct NIC matériel (passage direct PCI) et le SR-IOV ne sont pas pris en charge.
Paramètres recommandés pour la VM
| Définir | Valeur recommandée |
|---|---|
| Type de machine | q35 |
| BIOS / Firmware | OVMF (UEFI), sans disque EFI |
| Type de CPU | hôte (architecture de classe Haswell ou CPU hôte plus récent) |
| vCPU | 2 ou plus |
| Mémoire | 4096 MB ou plus |
| Disque principal | Image QCOW2 importée, bus VirtIO Block (8 GB stockage de sauvegarde mince) |
| Média Cloud-init | L'ISO de semence, attaché comme lecteur CD-ROM |
| Modèle de NIC | VirtIO (paravirtualisé) |
| Nombre de NIC | 2 à 4 interfaces |
Meilleures Pratiques pour Déployer un vSocket KVM dans Proxmox VE
- Déployez le vSocket directement depuis l'image QCOW2 Cato pour éviter les problèmes de compatibilité matérielle et assurer que tous les paramètres matériels requis soient appliqués correctement.
- Conservez une copie intacte de l'image QCOW2 originale, et importez une copie propre de l'image pour chaque VM vSocket. L'ISO de semence cloud-init s'exécute uniquement lors du premier démarrage. Si la configuration n'a pas été appliquée correctement, il est généralement plus rapide de recréer la VM à partir d'une image propre que de corriger une VM partiellement initialisée.
- Prenez un instantané Proxmox de la VM avant le premier démarrage, afin de revenir à l'état initial si la configuration de bootstrap n'est pas correcte.
- Créez un ISO de semence unique, avec le numéro de série du site correspondant, pour chaque VM vSocket (y compris chaque membre d'une paire HA).
- Utilisez virtio pour les appareils réseau et disque — aucune émulation NIC n'est requise.
- Ne démarrez pas la VM tant que la VM n'est pas entièrement configurée. L'ISO de semence cloud-init n'est lu que lors du premier démarrage.
Création du Site vSocket KVM
Dans le CMA, créez un nouveau site avec le type de connexion vSocket KVM, puis copiez le numéro de série (S/N) à partir de Configuration du Site > Socket. Vous devez entrer ce numéro de série (y compris les tirets) dans le fichier cloud-init user-data.
Pour la procédure complète, consultez Configurer un Site vSocket KVM.
Déployer la VM vSocket sur Proxmox VE
Étape 1 – Préparer les Réseaux Proxmox
Assurez-vous que l'hôte Proxmox possède un pont Linux pour chaque interface que vous connectez au vSocket :
- WAN1 – Un pont avec connectivité Internet et accès à un service DNS public (par exemple,
vmbr0). Ceci est une interface obligatoire. - LAN1 – Un pont pour le segment LAN derrière le vSocket. Ceci est une interface obligatoire.
- MGMT (facultatif) – Un pont pour l'accès de gestion au vSocket.
- WAN2 (facultatif) – Un pont pour un deuxième lien WAN.
Vous pouvez utiliser une balise VLAN sur le périphérique réseau pour séparer les segments LAN partageant le même pont.
Pour un déploiement HA, les interfaces LAN des deux vSockets doivent être dans le même domaine de diffusion (le même pont et VLAN).
Étape 2 – Créer l'ISO de Semence cloud-init
Le vSocket KVM est bootstrappé avec cloud-init utilisant un ISO de semence NoCloud. Créez un répertoire avec un fichier :
TMPDIR=$(mktemp -d)\ntouch $TMPDIR/user-data
Remplissez user-data avec la configuration du site. Le fichier utilise un format TOML simple (clé = valeur) et les commentaires sont pris en charge. Le numéro de série est obligatoire ; les paramètres réseau par interface sont facultatifs (les interfaces par défaut sont DHCP).
# Obligatoire : le numéro de série du site CMA (Configuration du Site > Socket)\nserial = "XXXX-XXXX-XXXX-XXXX"\n\n# Paramètres réseau optionnels par interface.\n# Répétez le bloc [[network]] pour chaque interface ; le nom doit être unique\n# et correspondre à l'interface réelle (WAN1, WAN2, LAN1, ...).\n\n[[network]]\nnom = "WAN1" # obligatoire\ntype_adressage = "Statique" # "Statique" ou "DHCP"\nadresse = "192.168.50.201" # obligatoire si statique\nnetmask = "255.255.255.0" # obligatoire si statique\npasserelle_defaut = "192.168.50.1" # obligatoire si statique\ndns_principal = "192.168.50.1" # obligatoire si statique\ndns_secondaire = "8.8.4.4" # facultatif\n\n# DHCP est la valeur par défaut, donc ce bloc est optionnel/redondant.\n[[network]]\nnom = "WAN2"\ntype_adressage = "DHCP"
Emballez le fichier dans un ISO de semence étiqueté cidata :
pushd $TMPDIR\nmkisofs -output seed.iso -volid cidata -joliet -rock user-data\npopd
Donnez à l'ISO un nom qui identifie la VM vSocket qui l'utilise (par exemple, seed-<site-name>.iso), afin que vous puissiez sélectionner le bon ISO lors de la création de la VM.
Étape 3 – Téléverser les Fichiers dans le Stockage Proxmox
- Téléversez l'ISO de semence dans le stockage d'image ISO du nœud hébergeant la VM (par exemple, le stockage local, dans la section Images ISO).
- Téléversez l'image vSocket QCOW2 dans la section Import d'un stockage sur le même nœud. Le stockage doit avoir le type de contenu Import activé.
Utilisez une copie propre de l'image QCOW2 pour chaque VM vSocket.
Cacher la capture d'écran – téléverser l'ISO de semence dans le stockage Proxmox.
Cacher la capture d'écran – téléverser ou importer l'image QCOW2.
Étape 4 – Créer la VM
Dans l'interface web Proxmox, cliquez sur Créer VM et configurez les onglets de l'assistant comme suit.
Pour créer la VM vSocket :
-
Dans l'onglet Général, sélectionnez le Nœud, puis entrez l'ID VM et le Nom de la VM vSocket. Laissez la case Ajouter à HA décochée (voir Déploiement haute disponibilité (HA)).
-
Dans l'onglet OS :
- Sélectionnez Utiliser le fichier d'image disque CD/DVD (iso).
- Pour Stockage et Image ISO, sélectionnez l'ISO de semence que vous avez créé pour ce vSocket.
- Pour OS Invité, conservez les valeurs par défaut (Type: Linux, Version: 6.x - 2.6 Kernel).
Cacher la capture d'écran – sélection de l'ISO de semence cloud-init dans l'onglet OS.
-
Dans l'onglet Système :
- Pour BIOS, sélectionnez OVMF (UEFI).
- Effacez la case Ajouter un Disque EFI. La image vSocket ne nécessite pas de disque EFI.
- Pour Machine, sélectionnez q35.
- Conservez le Contrôleur SCSI par défaut (VirtIO SCSI unique).
Cacher la capture d'écran – firmware UEFI sélectionné et Disque EFI ajouté non coché.
-
Dans l'onglet Disques :
- Supprimez le disque par défaut (virtio0).
- Cliquez sur Importer, puis sélectionnez l'image vSocket QCOW2 dans Choisir l'Image.
- Pour Bus/Appareil, sélectionnez Bloquer VirtIO, et sélectionnez le Stockage Cible pour le disque.
Cacher la capture d'écran – suppression du disque par défaut.
Cacher la capture d'écran – importation de l'image QCOW2 comme disque VM.
-
Dans l'onglet CPU, configurez au moins 2 Cores, et sélectionnez hôte pour le Type.
Cacher la capture d'écran – cœurs CPU et type de CPU hôte.
-
Dans l'onglet Mémoire, entrez au moins 4096 MB.
-
Dans l'onglet Réseau, configurez le premier périphérique réseau (net0). Cette interface est l'interface WAN1 du vSocket :
- Pour Pont, sélectionnez le pont avec connectivité Internet.
- Pour Modèle, sélectionnez VirtIO (paravirtualisé).
- Optionnellement, effacez la case Pare-feu.
-
Dans l'onglet Confirmer, assurez-vous que Démarrer après création ne soit PAS sélectionné, puis cliquez sur Terminer.
Important ! Ne démarrez pas la VM tant qu'elle n'est pas entièrement configurée. L'ISO de semence cloud-init n'est lu que lors du premier démarrage.
Étape 5 – Ajouter le Port Série et les Interfaces Restantes
Après la création de la VM, ajoutez le matériel restant depuis la section Matériel de la VM.
Pour compléter la configuration matérielle de la VM :
- Cliquez sur Ajouter > Port Série et ajoutez le port série 0 (
serial0). Le port série est utilisé pour l'accès console au vSocket. - Cliquez sur Ajouter > Périphérique Réseau et ajoutez l'interface LAN1 :
- Pour Pont, sélectionnez le pont LAN.
- Pour Modèle, sélectionnez VirtIO (paravirtualisé).
- Optionnellement, entrez une Balise VLAN pour séparer les segments LAN utilisant le même pont.
- Répétez l'étape précédente pour chaque interface supplémentaire (gestion ou WAN2), jusqu'à un total de 4 interfaces.
Les appareils réseau sont mappés aux interfaces vSocket selon leur ordre : net0 est WAN1, net1 est LAN1, et les appareils suivants sont les interfaces optionnelles.
Cacher la capture d'écran – ajout d'un port série.
Cacher la capture d'écran – ajout d'un appareil réseau supplémentaire.
Cacher la capture d'écran – liste matériel complet pour la VM vSocket.
Étape 6 – (Recommandé) Prendre un Instantané
Avant le premier démarrage, dans la section Instantanés de la VM, cliquez sur Prendre un instantané et créez un instantané de l'état initial (par exemple, pristine). Si la configuration du premier démarrage n'est pas correcte, vous pouvez revenir à cet instantané au lieu de recréer la VM.
Cacher la capture d'écran – prendre un instantané de l'état initial de la VM.
Étape 7 – Démarrer la VM
Démarrez la VM. Lors du premier démarrage, le vSocket lit la configuration depuis l'ISO de semence et commence à s'enregistrer sur le Cloud Cato.
Connexion du vSocket au CMA
Le CMA détecte automatiquement le vSocket et utilise le numéro de série (depuis cloud-init user-data) pour le connecter au site. Pour s'enregistrer, l'interface WAN1 doit avoir une connectivité Internet et un accès à un DNS public afin de pouvoir atteindre le Cloud Cato et le CMA.
- Si la WAN1 reçoit une adresse IP dynamique via DHCP, le vSocket commence automatiquement à s'enregistrer sur le Cloud Cato.
- Si DHCP n'est pas disponible, configurez une adresse IP statique pour WAN1 dans le
cloud-inituser-data(voir étape 2). - Par défaut, l'interface WAN2 est désactivée et le vSocket n'utilise que la WAN1 pour s'enregistrer.
Pour suivre le processus de démarrage et l'enregistrement, utilisez la section Console de la VM dans l'interface web Proxmox. Le vSocket envoie son résultat de démarrage à la console série, donc pour voir ce résultat, définissez Matériel > Affichage > Carte graphique sur Terminal série 0.
Déploiement Haute Disponibilité (HA)
HA fonctionne comme une paire HA physique, utilisant VRRP entre les deux vSockets KVM. Cela est distinct de la fonctionnalité HA du cluster Proxmox (l'option Ajouter à HA), qui relance une VM sur un autre nœud et n'est pas utilisée pour HA vSocket.
- Déployez deux VMs vSocket, chacune avec sa propre copie de l'image QCOW2 et son propre ISO seed (chacun avec le numéro de série du socket principal ou second).
- Les interfaces LAN des deux VMs doivent être dans le même domaine de diffusion (même pont et balise VLAN) pour que VRRP puisse fonctionner. Si les VMs sont sur différents nœuds Proxmox, les ponts LAN doivent être connectés au même segment de couche 2.
- Ajoutez le socket secondaire au site dans le CMA. Les deux membres forment la paire HA, échangent leur état de santé et leur état, et basculent selon la conception HA du produit.
- La santé et l'état HA sont visibles dans le CMA.
Déploiement de VM vSocket supplémentaires
Pour exécuter plus d'une VM vSocket sur le même hôte Proxmox ou cluster :
- Importez une copie propre de l'image QCOW2 pour chaque VM.
- Générez un nouvel ISO seed avec le numéro de série du site pertinent.
- Utilisez un nom de VM unique et une ID de VM unique.
- Utilisez des ponts LAN séparés ou des balises VLAN où l'isolation est requise.
Modification de la configuration VM vSocket
Vous pouvez modifier certains paramètres de VM si la nouvelle configuration utilise des valeurs prises en charge. Redémarrez la VM vSocket pour que les modifications prennent effet.
Les paramètres VM suivants peuvent être modifiés :
- Processeur
- Mémoire
- Réseautage, tel qu'ajouter ou supprimer une interface réseau
Dépannage
Le VM démarre mais le vSocket ne s'enregistre pas
- Vérifiez que l'ISO de démarrage est attaché comme CD-ROM.
- Vérifiez que l'ISO contient le fichier
user-data. - Vérifiez que la valeur
serialcorrespond au numéro de série du site dans le CMA. - Vérifiez que WAN1 a accès à Internet et à un service DNS public.
- Vérifiez que le premier appareil réseau (net0) est connecté au pont WAN prévu.
Les modifications de la configuration cloud-init sont ignorées
Le bootstrap vSocket s'exécute uniquement lors du premier démarrage. Si vous modifiez user-data après l'initialisation du VM, les changements ne sont pas appliqués au disque de démarrage existant. Revenez à l'instantané de l'état initial, ou recréez le VM avec une copie propre de l'image QCOW2 et un nouvel ISO de démarrage.
Il n'y a pas de sortie de console
- Vérifiez que le port série (
serial0) est ajouté au VM. - Pour voir la sortie série dans la console de l'interface web, définissez Matériel > Affichage > Carte graphique sur Terminal série 0.
Le réseau ne se comporte pas comme prévu
- Vérifiez le pont auquel chaque appareil réseau est connecté.
- Vérifiez l'ordre des appareils réseau dans la configuration du VM (net0 est WAN1, net1 est LAN1).
- Vérifiez que les sections
[[network]]dans le fichieruser-datautilisent les paramètres DHCP ou statiques comme prévu.