Optimisation des performances Proxmox - Quelques conseils utiles pour vous
Optimisation du CPU pour les machines virtuelles afin de configurer correctement le type de CPU hôte pour les machines virtuelles
Par défaut, lorsque vous créez une machine virtuelle, Proxmox utilise un type de processeur générique. C'est compatible, mais pas optimal pour la performance. Avec le type de CPU «host», vous pouvez transmettre toutes les fonctions de votre CPU physique à la machine virtuelle:
qm set 100 --cpu host
Ce paramètre permet à la machine virtuelle d'utiliser toutes les fonctionnalités CPU du système hôte, des jeux d'instructions spéciaux à l'accélération matérielle. Cela apporte des avantages significatifs en termes de performances, mais rend la machine virtuelle moins portable entre les différents systèmes matériels.
Alternativement, vous pouvez choisir un type de CPU spécifique et ajouter des fonctionnalités ciblées:
qm set 100 --cpu "Haswell,+aes"
Ici, le type de processeur Haswell avec cryptage AES est utilisé. C'est pratique si vous avez besoin d'un équilibre entre performance et compatibilité.
Sensibilisation NUMA pour de meilleures performances de stockage
Dans les systèmes multi-sockets modernes, NUMA (Non-Uniform Memory Access) est un facteur de performance important. Vous pouvez d'abord afficher la topologie NUMA de votre système:
numactl --hardware
Pour les machines virtuelles exigeant des performances élevées, vous devez activer NUMA:
qm set 100 --numa 1 qm set 100 --memory 8192 --sockets 2 --cores 4
Cette configuration divise les ressources de la machine virtuelle en fonction des nœuds physiques NUMA. Cela réduit la latence de la mémoire et améliore les performances globales, en particulier pour les applications gourmandes en mémoire.
Comprendre et appliquer les optimisations de mémoire
Configurer intelligemment Ballooning
Le ballooning de mémoire est une fonctionnalité intelligente qui redistribue dynamiquement la RAM entre l'hôte et les machines virtuelles. Par défaut, il est activé:
qm set 100 --balloon 4096 # RAM minimum
Cette valeur détermine la quantité minimale de RAM que la machine virtuelle conserve, même lorsque le système Balloon est actif. Pour la plupart des applications, cela fonctionne bien et économise de la RAM.
Cependant, pour les machines virtuelles critiques pour les performances, vous devez désactiver Ballooning:
qm set 100 --balloon 0
Sans Ballooning, la machine virtuelle dispose d’un accès constant à l’ensemble de sa RAM, ce qui permet d’obtenir des performances plus cohérentes, ce qui est particulièrement important pour les bases de données ou les applications en temps réel.
Huge Pages pour les charges de travail gourmandes en mémoire
Huge Pages réduit les frais généraux de gestion de la mémoire pour les machines virtuelles avec beaucoup de RAM. Tout d'abord, vous devez l'activer sur l'hôte:
echo 'vm.nr_hugepages=1024' >> /etc/sysctl.conf sysctl -p
Le nombre dépend de votre RAM disponible – chaque Huge Page est généralement de 2 Mo. Ensuite, activez-les pour la VM:
qm set 100 --hugepages 1g
Ceci est particulièrement bénéfique pour les machines virtuelles avec 8GB+ de RAM, car il améliore considérablement les performances de la mémoire.
Optimiser les performances d'E/S de stockage
Planificateurs d'E/S pour différents types de stockage
Le planificateur d'E/S décide comment organiser l'accès au disque dur. Pour les SSD mq-deadline optimal:
echo mq-deadline > /sys/block/sda/queue/scheduler
Les SSD n'ont pas de pièces mécaniques, c'est pourquoi un simple planificateur est préférable. Pour les HDD, c'est contre bfq (Budget Fair Queueing) mieux:
echo bfq > /sys/block/sdb/queue/scheduler
BFQ prend en compte les propriétés mécaniques des disques durs et les optimise en conséquence. Pour rendre ces paramètres permanents, créez une règle udev:
cat > /etc/udev/rules.d/60-scheduler.rules << 'EOF' # SSD Scheduler ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="mq-deadline" # HDD Scheduler ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="bfq" EOF
Comprendre les modes de cache du disque dur
Les modes de cache déterminent la manière dont les écritures sont traitées:
- writethrough: Chaque processus d'écriture est immédiatement écrit sur le disque dur. C'est très sûr, mais c'est aussi le plus lent, car on attend la confirmation mécanique.
- writeback: Les opérations d'écriture sont d'abord mises en mémoire tampon dans la RAM, puis écrites sur le disque dur. C'est beaucoup plus rapide, mais cela comporte un risque de perte de données en cas de coupure de courant soudaine.
- none: Désactive toute mise en cache. C'est idéal pour les systèmes de stockage partagés tels que NFS ou Ceph, où le système de stockage prend lui-même en charge la mise en cache.
Appliquer des optimisations d'E/S spécifiques aux machines virtuelles
Les threads d'E/S stockent les opérations du disque dur sur des threads distincts:
qm set 100 --scsi0 local-lvm:vm-100-disk-0,iothread=1
Cela réduit la charge CPU sur le thread principal de la machine virtuelle et améliore les performances d'E/S.
Pour des performances maximales, vous pouvez activer le cache writeback:
qm set 100 --scsi0 local-lvm:vm-100-disk-0,cache=writeback
Pour les SSD, vous devez également activer le support TRIM et les optimisations SSD:
qm set 100 --scsi0 local-lvm:vm-100-disk-0,discard=on,ssd=1
Le discard=on active les commandes TRIM qui aident le SSD à gérer les zones supprimées. Le ssd=1 Flag indique à la machine virtuelle qu'il s'agit d'un SSD, ce qui active les optimisations internes.
Ces optimisations doivent être introduites progressivement tout en surveillant les performances.
Toutes les optimisations ne s’adaptent pas à toutes les charges de travail, c’est pourquoi vous devez d’abord effectuer des tests dans un environnement de développement avant d’adapter les machines virtuelles de production.
Performances du réseau
Optimisations de VirtIO:
# Activer la file d'attente multiple qm set 100 --net0 virtio,bridge=vmbr0,queues=4 # SR-IOV pour le matériel dédié qm set 100 --hostpci0 0000:01:00.0,pcie=1
Suivi et dépannage
Fichiers journaux importants
# Logs Proxmox tail -f /var/log/daemon.log # Logs Proxmox généraux tail -f /var/log/pve-firewall.log # Journal du pare-feu tail -f /var/log/pveproxy/access.log # Accès à l'interface Web # Logs spécifiques aux machines virtuelles tail -f /var/log/qemu-server/100.log # VM 100 Logs # Logs de cluster tail -f /var/log/corosync/corosync.log tail -f /var/log/pve-cluster/pmxcfs.log
Surveillance des performances (Disk Health, CEPH monitoring, Notifications)
Outils de l'interface de ligne de commande:
# CPU et Memory Usage htop # Disque I/O iotop -ao # Nethogs de trafic réseau # Suivi des processus ps aux --sort=-%cpu | head -20
Obtenir des graphes RRD via l'API:
# Utilisation du processeur pour Node curl -k -H "Autorisation: PVEAPIToken=root@pam!monitoring=SECRET" \ "https://proxmox:8006/api2/json/nodes/proxmox1/rrddata?timeframe=hour&cf=AVERAGE"
Problèmes et solutions courants
Problème: «TASK ERROR: command “lvcreate” failed»
# LVM-Thin Pool complet - créer de l'espace lvs --all # Voir les piscines lvextend -L +50G /dev/pve/data # Élargir la piscine
Problème: VM ne démarre pas – «kvm: could not insert module»
# Les modules KVM chargent modprobe kvm modprobe kvm-intel # ou kvm-amd # Activer en permanence echo kvm >> /etc/modules echo kvm-intel >> /etc/modules # ou kvm-amd
Problème: Haute attente d'E/S pour les machines virtuelles
# Vérifier les statistiques d'E/S iostat -x 1 # Limites d'E/S spécifiques aux machines virtuelles définir qm set 100 --scsi0 local-lvm:vm-100-disk-0,mbps_rd=100,mbps_wr=50
Scénarios avancés
Cluster de haute disponibilité
Configuration du cluster à 3 nœuds:
# Sur Node 1 pvecm create mycluster # Sur Node 2 et 3 pvecm add 192.168.1.10 # IP du Node 1 # Vérifier l'état du cluster pvecm status
Configurer le fencing (important pour éviter le split-brain):
# Activer la minuterie du chien de garde echo softdog >> /etc/modules update-initramfs -u # Configuration du périphérique de fencing (par exemple IPMI) ha-manager add fence-device ipmi --options "lanplus=1,username=admin,password=secret,ip=192.168.1.100"
Passthrough GPU pour VMs
Activer l'IOMMU:
# /etc/default/grub GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt" # Intel # ou GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt" # AMD update-grub reboot
Transférer le GPU à la VM:
# Afficher les périphériques PCI lspci -nn | grep -i nvidia # Déconnecter le GPU des pilotes hôtes echo "0000:01:00.0" > /sys/bus/pci/devices/0000:01:00.0/driver/unbind # Passer à la machine virtuelle qm set 100 --hostpci0 0000:01:00.0,pcie=1,x-vga=1
Proxmox Fonctionnalités avancées
Cloud-Init: Création de VM
Qu'est-ce que Cloud-Init Et pourquoi devriez-vous l'utiliser?
Cloud-Init est le package standard de facto pour l'initialisation initiale des instances de VM. Pensez à un assistant de configuration initiale intelligent qui configure automatiquement vos machines virtuelles. Au lieu de copier manuellement les clés SSH, de configurer le réseau et d'installer des logiciels après chaque création de machine virtuelle, Cloud-Init fait tout cela dès le premier démarrage.
Non seulement cela vous fait gagner du temps, mais cela rend vos déploiements de VM reproductibles et résistants aux erreurs. Cloud-Init permet un déploiement dynamique des instances sans intervention manuelle.
Créer un modèle d’initiation au nuage – La bonne voie
Étape 1: Choisir la bonne image cloud
Toutes les images cloud ne sont pas les mêmes. Voici quelques exemples de téléchargements:
# Debian 12 (Bookworm) - Support stable et à long terme wget https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-generic-amd64.qcow2 # Debian 13 (Trixie) - Testing, pour les dernières fonctionnalités wget https://cloud.debian.org/images/cloud/trixie/latest/debian-13-generic-amd64.qcow2 # Ubuntu 24.04 LTS (Noble Numbat) wget https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img # Ubuntu 25.04 (Plucky Puffin) - Installation minimale wget https://cloud-images.ubuntu.com/minimal/releases/plucky/release/ubuntu-25.04-minimal-cloudimg-amd64.img
Pro-conseil: Les images minimales sont beaucoup plus petites et ne contiennent que les paquets absolument nécessaires. Parfait pour les déploiements de type conteneur.
Étape 2: Créer et configurer correctement la machine virtuelle
# Créer une machine virtuelle avec des paramètres optimaux qm create 9000 --memory 2048 --cores 2 --name ubuntu-cloud-template \ --net0 virtio,bridge=vmbr0 --agent enabled=1 # VirtIO SCSI Controller - ESSENTIEL pour les distributions Linux modernes! qm set 9000 --scsihw virtio-scsi-pci # Importer une image cloud (ajuster le chemin!) qm set 9000 --scsi0 local-lvm:0,import-from=/path/zu/noble-server-cloudimg-amd64.img # Ajouter un lecteur Cloud-Init qm set 9000 --ide2 local-lvm:cloudinit # Définir l'ordre de démarrage qm set 9000 --boot order=scsi0 # Activer la console série (important pour Cloud Images!) qm set 9000 --serial0 socket --vga serial0 # Agrandir le disque dur (les images cloud ne sont souvent que de 2 Go) qm disk resize 9000 scsi0 +8G # Marquer comme modèle qm template 9000
Pourquoi ces paramètres spécifiques?
- VirtIO SCSI: Les images cloud modernes attendent ce contrôleur
- Serial Console: Les images cloud utilisent souvent la console série au lieu du VGA
- Agent de QEMU: Permet une meilleure intégration entre l'hôte et la machine virtuelle
- Disk Resize: Les Cloud Images sont délibérément petites
Déploiement intelligent de machines virtuelles à partir de templates
Déploiement de base
# Cloner un modèle avec un nom significatif qm clone 9000 201 --name webserver-prod-01 --full # Cloud-Init Configuration de base qm set 201 --sshkey ~/.ssh/id_rsa.pub qm set 201 --ipconfig0 ip=10.0.10.201/24,gw=10.0.10.1 qm set 201 --nameserver 1.1.1.1 qm set 201 --searchdomain example.com qm set 201 --ciuser admin qm set 201 --cipassword $(openssl passwd -6 "Mot de passe super-sécurisé123!") # Démarrer la machine virtuelle qm start 201
Configuration avancée avec Custom User-Data
Ici, il devient vraiment puissant! Crée une configuration Cloud personnalisée:
# /var/lib/vz/snippets/webserver-config.yaml #cloud-config locale: fr_FR.UTF-8 timezone: Europe/Berlin # Installer des packages packages: - nginx - git - htop - curl - wget - unzip - vim - ufw # Les utilisateurs configurent users: - nom: admin groups: [adm, sudo] sudo: ALL=(ALL) NOPASSWD:ALL shell: /bin/bash ssh_authorized_keys: - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAB... # Votre clé SSH ici # Configurer et lancer les services runcmd: - systemctl enable nginx - systemctl start nginx - ufw allow ssh - ufw allow 'Nginx Full' - ufw --force enable - sed -i 's/PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config - systemctl reload sshd # Remplacer la page par défaut de Nginx write_files: - path: /var/www/html/index.html content: |
<!DOCTYPE html>
<html>
<head><title>Serveur web Ready</title></head>
<body>
<h1>Le serveur est prêt!</h1>
<p>Déployé le: $(date)</p>
</body>
</html>
# Redémarrer le système après l'installation power_state: delay: 1 mode: message de reboot: "Configuration Cloud-Init terminée, redémarrage..."
Utiliser un template avec Custom Config:
qm set 201 --cicustom "user=local:snippets/webserver-config.yaml"
Fonctionnalités avancées de Cloud-Init
Vendor Data pour des configurations spéciales
# /var/lib/vz/snippets/vendor-config.yaml #cloud-config # Configuration réseau avancée network: version: 2 ethernets: ens18: dhcp4: Les fausses addresses: - 10.0.10.201/24 gateway4: 10.0.10.1 nameservers: addresses: [1.1.1.1, 8.8.8.8] search: [example.com]
qm set 201 --cicustom "user=local:snippets/webserver-config.yaml,vendor=local:snippets/vendor-config.yaml"
Métadonnées pour les informations spécifiques aux machines virtuelles
# Les métadonnées peuvent également être définies via API qm set 201 --tags "production,webserver,nginx"
Optimiser les performances du réseau
VirtIO Multi-Queue pour un meilleur débit
# Activer multi-queue (nombre = cœurs du processeur) qm set 100 --net0 virtio,bridge=vmbr0,queues=4 # Pour des charges très élevées: Optimiser le traitement des paquets qm set 100 --net0 virtio,bridge=vmbr0,queues=8,mtu=9000
Qu'est-ce que cela apporte? Multi-Queue distribue les interruptions réseau sur plusieurs cœurs de CPU. La file d'attente unique n'utilise qu'un seul noyau pour les E/S réseau.
SR-IOV pour des performances matérielles dédiées
# Périphérique PCI traversant directement (performance maximale) qm set 100 --hostpci0 0000:01:00.0,pcie=1 # Avec ROM-BAR pour une meilleure compatibilité qm set 100 --hostpci0 0000:01:00.0,pcie=1,rombar=1
Quand utiliser SR-IOV? Pour les applications hautes performances telles que les pare-feu, les équilibreurs de charge ou lorsque vous avez besoin de fonctionnalités NIC natives.
Maîtriser le monitoring et le dépannage
Surveiller systématiquement les fichiers journaux importants
# Proxmox-Core-Logs tail -f /var/log/daemon.log # Événements système généraux tail -f /var/log/pve-firewall.log # Activités du pare-feu tail -f /var/log/pveproxy/access.log # Accès à l'interface Web # Logs spécifiques aux machines virtuelles (ajuster l'ID de la machine virtuelle) tail -f /var/log/qemu-server/100.log # VM 100 journaux QEMU # Logs spécifiques au cluster tail -f /var/log/corosync/corosync.log # Communication en cluster tail -f /var/log/pve-cluster/pmxcfs.log # Système de fichiers en cluster
Le monitoring des performances comme les professionnels
Outils CLI pour la surveillance en direct
# Vue d'ensemble du système avec htop htop # Disk I/O en détail iotop -ao # Affiche les statistiques d'E/S cumulées # Trafic réseau par processus nethogs # Meilleurs consommateurs de CPU ps aux --sort=-%cpu | head -20 # Utilisation de la mémoire détaillée free -h && echo "---" && cat /proc/meminfo | grep -E "(MemTotal|MemFree|MemAvailable|Cached|Buffers)" # Tester les performances du stockage dd if=/dev/zero of=/tmp/testfile bs=1G count=1 oflag=dsync
Obtenir des données RRD via API (pour vos propres tableaux de bord)
# Utilisation du processeur pour un nœud curl -k -H "Autorisation: PVEAPIToken=root@pam!monitoring=euer-secret-hier" \ "https://proxmox:8006/api2/json/nodes/proxmox1/rrddata?timeframe=hour&cf=AVERAGE" # Mesures spécifiques à la machine virtuelle curl -k -H "Autorisation: PVEAPIToken=root@pam!monitoring=euer-secret-hier" \ "https://proxmox:8006/api2/json/nodes/proxmox1/qemu/100/rrddata?timeframe=day" # Métriques de stockage curl -k -H "Autorisation: PVEAPIToken=root@pam!monitoring=euer-secret-hier" \ "https://proxmox:8006/api2/json/nodes/proxmox1/storage/local-lvm/rrddata"
Résoudre les problèmes courants – Solutions éprouvées
Problème: «TASK ERROR: command “lvcreate” failed»
# Vérifier l'état du stockage df -h lvs --all vgs # LVM-Thin Pool étendre lvextend -L +50G /dev/pve/data # ou pourcentage lvextend -l +100%FREE /dev/pve/data # Si la piscine est pleine: # Tout d'abord arrêter les machines virtuelles et supprimer les snapshots qm list qm stop VMID qm delsnapshot VMID snapshot-name
Problème: VM ne démarre pas – modules KVM manquants
# Vérifier le support de virtualisation egrep -c '(vmx|svm)' /proc/cpuinfo # Devrait être > 0 # Les modules KVM chargent manuellement modprobe kvm modprobe kvm-intel # Processeurs Intel # ou modprobe kvm-amd # CPU AMD # Activer en permanence echo "kvm" >> /etc/modules echo "kvm-intel" >> /etc/modules # ou kvm-amd # Vérifier lsmod | grep kvm
Problème: Le haut niveau d'E/S-Wait bat la performance
# Analyse détaillée des statistiques d'E/S iostat -x 1 5 # Surveiller pendant 5 secondes # Les limites d'E/S spécifiques aux machines virtuelles définissent qm set 100 --scsi0 local-lvm:vm-100-disk-0,mbps_rd=100,mbps_wr=50,iops_rd=1000,iops_wr=500 # E/S Nice pour les machines virtuelles individuelles qm set 100 --scsi0 local-lvm:vm-100-disk-0,iothread=1
Problème: Out-of-Memory Kills (OOM)
# Vérifier l'overcommitment de la mémoire grep -i oom /var/log/kern.log # VM Mémoire Équilibrage ajuster mètre carré ensemble 100 --balloon 0 # Désactiver le ballon qm set 100 --shares 2000 # Priorité CPU plus élevée # Optimiser la mémoire hôte echo 1 > /proc/sys/vm/overcommit_memory # overcommit agressif
Construire des clusters de haute disponibilité
Configuration du cluster à 3 nœuds – Prêt pour la production
# Node 1 (initialiser le cluster) pvecm create production-cluster --bindnet0_addr 192.168.1.10 --ring0_addr 192.168.1.10 # Node 2 rejoindre pvecm add 192.168.1.10 --ring0_addr 192.168.1.11 # Node 3 rejoindre pvecm add 192.168.1.10 --ring0_addr 192.168.1.12 # Valider l'état du cluster pvecm status pvecm nodes
Configurer Fencing pour la protection split-brain
# Activer le hardware watchdog echo "softdog" >> /etc/modules update-initramfs -u # Configuration du fencing IPMI (recommandé pour la production) ha-manager add fencing-device ipmi-node1 \ --options "lanplus=1,username=admin,password=secret,ip=192.168.100.10" ha-manager add fencing-device ipmi-node2 \ --options "lanplus=1,username=admin,password=secret,ip=192.168.100.11" ha-manager add fencing-device ipmi-node3 \ --options "lanplus=1,username=admin,password=secret,ip=192.168.100.12" # Configuration des services HA ha-manager add vm:100 --state started --node node1 --max_restart 2
Configurer le stockage partagé pour HA
# Ceph cluster pour le stockage interne ceph-deploy new node1 node2 node3 ceph-deploy install node1 node2 node3 ceph-deploy mon create-initial # Ou externe NFS/iSCSI Storage pvesm add nfs shared-nfs --server 192.168.1.200 --export /storage/proxmox \ --content images,vztmpl,backup # Configuration de la réplication du stockage pvesr create-local-job 100-0 node2 --schedule "*/15"
Passthrough GPU pour les utilisateurs de puissance
Activer correctement l'IOMMU
# Modifier GRUB-Config vim /etc/default/grub # Pour les processeurs Intel: GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt pcie_acs_override=downstream,multifunction" # Pour les processeurs AMD: GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt pcie_acs_override=downstream,multifunction" # Mise à jour et redémarrage de GRUB update-grub reboot
Liste noire GPU et attribution de VM
# Identification des identifiants PCI GPU lspci -nn | grep -i nvidia # Exemple de sortie: 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU104 [GeForce RTX 2080] [10de:1e82] # Pilotes hôtes blacklist echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf echo "blacklist nvidia*" >> /etc/modprobe.d/blacklist.conf # Les modules VFIO chargent echo "vfio" >> /etc/modules echo "vfio_iommu_type1" >> /etc/modules echo "vfio_pci" >> /etc/modules echo "vfio_virqfd" >> /etc/modules # Lier le GPU à VFIO echo "options vfio-pci ids=10de:1e82,10de:10f8" > /etc/modprobe.d/vfio.conf update-initramfs -u reboot # Passer le GPU à la machine virtuelle qm set 100 --hostpci0 0000:01:00.0,pcie=1,x-vga=1 # Pour multi-GPU: Les deux fonctions PCI qm set 100 --hostpci0 0000:01:00.0,pcie=1,x-vga=1 qm set 100 --hostpci1 0000:01:00.1,pcie=1 # Partie audio du GPU
Résoudre les problèmes de transit GPU
# Vérifier les groupes IOMMU for d dans /sys/kernel/iommu_groups/*/devices/*; do n=${d#*/iommu_groups/*}; n=${n%%/*} printf 'IOMMU Group %s ' "$n" lspci -nns "${d##*/}" done # Bug de réinitialisation GPU workarounds echo "options vfio-pci disable_vga=1" >> /etc/modprobe.d/vfio.conf # Réinitialisation du vendeur pour les GPU AMD git clone https://github.com/gnif/vendor-reset.git cd vendor-reset make && make install echo "vendor-reset" >> /etc/modules
Stratégies de sauvegarde pour les professionnels
Emplois de sauvegarde automatisés
# Sauvegarde quotidienne de toutes les machines virtuelles pvesh create /cluster/backup --schedule "02:00" --mode snapshot \ --compress lzo --node proxmox1 --storage backup-nfs --all 1 \ --mailto admin@example.com # Sauvegardes incrémentielles pour les grandes machines virtuelles pvesh create /cluster/backup --schedule "06:00" --mode snapshot \ --compress zstd --node proxmox1 --storage backup-nfs \ --vmid 100,101,102 --bwlimit 50000
Réplication de sauvegarde externe
# Configuration de PBS (Proxmox Backup Server) pvesh create /cluster/storage --storage pbs-backup --type pbs \ --server backup.example.com --datastore proxmox-backups \ --username backup@pbs --password secret --fingerprint XX:XX:XX... # Configuration de la rétention de sauvegarde pvesh set /cluster/backup/backup-job-id --prune-backups "keep-daily=7,keep-weekly=4,keep-monthly=6"
Cette collection couvre certains aspects importants dont vous avez besoin pour des déploiements professionnels et rapides de Proxmox. De l’automatisation avec Cloud-Init aux clusters GPU à haute disponibilité, vous trouverez ici des solutions éprouvées pour relever des défis du monde réel.
Achèvement et ressources supplémentaires
Proxmox est un outil puissant, mais avec une grande puissance vient aussi une grande responsabilité. (clin d'œil) Les meilleures pratiques présentées ici sont le résultat d'une expérience pratique. Commencez par les bases et avancez progressivement vers les fonctionnalités avancées.
Vos prochaines étapes:
- Construire un environnement de test/staging: Teste toutes les configurations dans un environnement séparé
- Mettre en œuvre le monitoring: Surveillez votre système dès le début
- Tester la stratégie de sauvegarde: Effectue des tests de restauration réguliers
- Rejoindre la communauté: Le forum Proxmox est très utile
Alors rappelez-vous ceci: Prenez le temps, les bases Comprendre avant de Des configurations plus complexes passe. Le Guide d'administration Proxmox En tant que site Web que j'ai lié à plusieurs reprises dans l'article pour référence, il vaut également la peine d'or. Regardez-vous tranquillement sur le forum, Si vous avez une question. Sinon, il y a aussi un point d'entrée Chaîne Youtube. Pour ceux d'entre vous qui voyagent dans l'environnement de l'entreprise: Les créateurs de Proxmox proposent également des formations.
Les autres parties de cette série d'articles, je vous les ai reliées ici: Partie 1: réseau | Deuxième partie: Stockage | Troisième partie: Sauvegarde | Partie 4 : sécurité | Cinquième partie: performance
Et le plus important à la fin:
Ayez toujours une sauvegarde fonctionnelle!