Forum Linux.débutant Questions de débutant sur le cluster Proxmox

Posté par  . Licence CC By‑SA.
Étiquettes :
2
14
mai
2022

Bonjour à toutes et à tous,

Je vise à migrer quelques services web et réseaux montés "à l'ancienne" sur un VPS et un serveur local vers une infrastructure plus fiable et facile à gérer.

Je me suis longuement documenté sur docker (swarm) qui convient plus aux développeurs qu'aux admins selon ce que j'ai compris et ne fait aucun cas du traitement des données dans le cluster.

Proxmox semble beaucoup plus pertinent pour mes besoins mais j'ai quelques sujets à résoudre avant de lancer le chantier.

Proxmox permet de créer un cluster de 2 machines. Ça m’intéresse beaucoup. la HA n'est pas requise mais un PRA rapide oui. (mon VPS est hébergé à Roubaix j'ai pas eu de pertes de données mais plusieurs jours d'indisponibilité, ce qui m'a donné à réfléchir)

Dans cette configuration on peut créer des replicas master/slave et migrer les containers et VM d'un nœud à l'autre.
Si un des deux nœuds ne réponds plus le quorum est donc perdu, le cluster passe en RO et n'est plus gérable (sans intervention manuelle) mais les containers et VM restent up ce qui ne posent pas de problème de split-brain tant qu'il n'y a pas de ressources partagées entre les containers/VM des deux noeuds.

J'ai juste ?

Concernant les backups est-ce que les dumps sont fiables ?
y a-t-il une possibilité de dédupliquer les données sauvegardées ?
y a-t-il une meilleures solution ?
quelque chose comme borgbackup exécuté directement sur les replicas ?

Et enfin j'aimerais savoir si proxmox propose quelque chose comme les named volumes de docker qui peuvent être partagés entre plusieurs containers ou si je dois créer un container serveur NFS par exemple pour cet usage, ou une meilleure solution ?

J'aurais sûrement beaucoup d'autres questions encore ;)

  • # avoir un 3e élément pour le quorum

    Posté par  . Évalué à 3. Dernière modification le 15 mai 2022 à 18:31.

    il sert juste au vote, mais permet de maintenir le cluster UP et gérable
    dans mon cas, une RPi tout bête, la procédure est fournit par proxmox.

    prévoir que tes 2 membres du proxmox soient dans des data centers differents

    j'utilise les backups en local, et les backups croisés par NFS
    pas de deduplication, mais le nouveau proxmox gere le "prune" du dossier, pour ne garder que les X dernières semaines, Y derniers mois, etc

    • [^] # Re: avoir un 3e élément pour le quorum

      Posté par  . Évalué à 1.

      Oui merci je sais qu'il faut au moins 3 nœuds pour supporter la perte de 1, 5 pour 2, etc…

      Ma question portais sur le comportement du cluster lorsque le quorum est perdu, pas sur comment éviter de le perdre ;)

  • # Proxmox et ZFS

    Posté par  . Évalué à 3.

    Bonjour,

    J'utilise Proxmox pour le travail et pour mon laboratoire personnel.

    Les sauvegardes de Proxmox fonctionne très bien, je n'ai jamais rencontré de problèmes avec son système de sauvegarde intégrés. Je l’utilise lors d'un changement de matériels, il ne m'a jamais fait défaut. Le seul défaut que je lui trouve est le nommage. Quand tu as beaucoup de VM et que tu ne te rappels plus son VMID, c'est long de retrouver la bonne, tu es obligé de regarder les informations une par une pour avoir le nom. Mais pour de la restauration de masse, ça ne pose pas de problème. Et avec l'API ou Ansible il doit être possible de sauvegarder la liste avec le VMID et le nom.

    Si tu ne veux pas de HA mais juste un PRA rapide, je ne ferai pas de cluster.
    Il faut que tu détermines si le délai de configuration d'un nouveau serveur et le temps de restauration des sauvegardes est inférieur au temps maximum d'indisponibilité que tu peux supporter.
    Si tu veux faire un cluster, il te faut soit un volume répliqué sur les 2 serveurs(GlusterFS, Ceph, DRBD, …), soit un serveur supplémentaire qui fera office d'espace partagé. Bien sur ça rajoute de la complexité.

    Pour l'équivalent des named volumes de docker, si tu utilises les containers LXC tu peux monter un dossier du serveur dans le container. Il faudra que tu gères les accès concurrent, et ça dépend aussi ce que tu veux en faire.

    Pour la déduplication, j'évite au maximum. Avant j'utilisais rsnapshot qui utilise des liens matériel et suite à une panne de disque dur, j'ai perdu 6 mois de sauvegarde. Si tu utilises ZFS tu ne devrais pas avoir ce type de problème, mais un bon admin est prudent avec tendance parano. Il vaut mieux trop de sauvegarde que pas assez.

    Documente toi sur ZFS, c'est vraiment autre chose.
    Attention avec ZFS il y a 2 impératifs : de la mémoire ECC et pas de contrôleur raid. Si tu ne respecte pas ça, tu vas te planter.

    Documentation :
    - ZFS
    - Proxmox RPI

    • [^] # Re: Proxmox et ZFS

      Posté par  . Évalué à 1.

      Oui ZFS permet les choses comme les replicas asynchrones qui m’intéressent.

      Mais de tout ce que je lis à son sujet, c'est beaucoup de ressources machine et une longue courbe d'apprentissage à parcourir pour un bénéfice discutable dans mon cas.

      J'ai continué de me renseigner ce weekend et toutes mes questions au sujet des sauvegardes ont trouvées réponse avec proxmox backup server
      Intégré, planifié, dédupliqué, etc… entièrement géré dans proxmox)

      reste à savoir si je maintien des replicas entre deux nœuds de cluster (ça me plait beaucoup pour gérer toutes mes machines en un seul endroit, basculer les services dans la minute et que tout soit extensible.
      ou si je déploie les sauvegardes vers un nouveau serveur en cas de catastrophe

      ceph & co semblent très exigeants, partager les données synchrones dans un cluster nécessite beaucoup de ressources (pour ceph en particulier j'ai lu un besoin de latence sous la milliseconde pour que ça fonctionne parfaitement),
      ou de créer un maillon faible dans le cluster (si le serveur de stockage ne réponds plus, tous les services sont HS)

    • [^] # Re: Proxmox et ZFS

      Posté par  . Évalué à 3.

      merci pour le lien proxmoxPI
      je ne connaissais pas, je vais regarder.

      tu sais si ca marche sur des "vieux Pi" comme un RPi3 ?
      au Fablab on a monté un cluster de 2 proxmox avec un RPi juste pour le quorum, mais ca pourrait etre sympa de l'activer dans l'interface du cluster

      • [^] # Re: Proxmox et ZFS

        Posté par  . Évalué à 3.

        oublie ma question sur les RPI3, c'est marqué dessus

        Requirements
        Raspberry Pi 4
        Internet connection via ethernet

      • [^] # Re: Proxmox et ZFS

        Posté par  . Évalué à 1.

        Du coup vous avez testé la perte du quorum ?
        Le comportement obtenu est bien tel que je l'ai décrit ?

        • [^] # Re: Proxmox et ZFS

          Posté par  . Évalué à 3.

          c'est le comportement documenté et prevu par proxmox

          un cluster à 2 tetes n'a de pertinence que si tu es sur qu'il n'y aura jamais de perte de lien entre les 2,
          sinon tu as 2 machines, qui n'ont alors pas le quorum pour démarrer et attende l'autre.

          si tu met une 3e tete (qnet-device ou 3e proxmox), tu as alors un quorum 2 contre 1
          les 2 qui se voient démarrent, le 3e attend les autres

          • [^] # Re: Proxmox et ZFS

            Posté par  . Évalué à 1.

            Merci, il n'est pas prévu de pertes de lien à long terme donc si et quand ça se produit, les services ne devraient pas être impactés.

            Si on a un problème plus grave je peux forcer un nœud a tourner sans quorum ou lui donner plus de voies pour fonctionner seul en attendant que le défaillant soit réparé ou remplacé.

            Les replicas passifs rendus actifs sur le "survivant", je ne perdrait éventuellement que 15mn de données (si je règle cette intervalle de synchro).

            C'est ce que j'entendais pas intervention manuelle en cas de catastrophe.

            Je répète que le but n'est pas la HA mais la gestion globalisée de mes services et le PRA sans stress.

            • [^] # Re: Proxmox et ZFS

              Posté par  . Évalué à 3.

              attention toutefois,

              suivant les fournisseurs de serveurs dédiés, tu peux bien avoir des IPs pour tes VMs
              MAIS il faut demander dans leur panel de basculer l'IP d'un serveur physique à l'autre

              du coup, la "HA" n'est pas automatique, il te faut faire une bascule à la main

  • # zfs est ton amis

    Posté par  (site web personnel) . Évalué à 2.

    salut,
    avec zfs tu peux synchroniser tes disques entre deux membres du cluster.
    ça synchronise tous les 15min et en cas de bascule ça fait une dernière bascule et paf c'est bon.
    Après pour les backups avec déduplication moi j'utilise un proxmox backup server,
    ça marche bien et ça fait que des diff après la première sauvegarde (un peux comme borg).

    Ici au boulot je suis sur lvm (raid matériel et ne nous voilons pas la face quand un disque lâche la gestion du serveur t'envoi un email, j'ouvre un ticket chez le fabricant, je reçoit un nouveau disque par la poste, tu le plug dedans et c'est fini)

    Par contre dans le privé je suis sur du zfs (c'est plus chiant quand un disque lâche mais ça marche super bien et les snapshots distant mon déjà sauvé la mise plus d'une fois).

    • [^] # Re: zfs est ton amis

      Posté par  . Évalué à 1.

      Oui je pense commencer par un pool zfs basique pour activer les replicas.

      C'est une fonctionnalité hyper intéressante pour moi pour éviter le stress.

      Je compte louer un dédié quelque part, le deuxième noeud faisant aussi les backups en plus de quelques services sur le serveur dans mon local.

      Les données étant répliquées entre les deux j'aurais donc deux copies actives et un backup.

      Idéalement je devrais trouver un plan de stockage hors site pour la seconde copie de backup. Quelque chose moins cher qu'un dédié en France où au pire en UE.
      Si vous avez de bonnes adresses à partager. 🙂

  • # Et les données ?

    Posté par  . Évalué à 1.

    Dernier point qui manque de clarté dans ma compréhension, les données.
    Je crois qu'on a le choix entre image disque et stockage local pour les VM ?

    Local pour les containers. Dans ce cas ce sont des dossiers dans le volume principal ?
    Je crois que je devrais comprendre la différence entre volume et datastore peut être.

    je compte installer une VM TrueNAS à laquelle je devrais allouer un disque entier en passthough, c'est la pratique conseillée il me semble plutôt qu'une image ZFS sur un volume ZFS.
    Dans ce cas proxmox ne peux plus gérer ce disque et je devrais régler la synchro et backup via truenas donc, c'est bien ça ?

    une partie des données sera partagée probablement en NFS vers les autres VM notamment Nextcloud

    Et est-ce que proxmox fait fonctionner les VM/LXC dans un réseau "privée"/ingress ou il faut configurer un pare-feu pour ne pas exposer certains services ?

    • [^] # Re: Et les données ?

      Posté par  . Évalué à 1.

      Le stockage des containers dépend du système de fichier : Pour ZFS c'est un dataset ( une arborescence de fichiers), pour lvm c'est une image disque.

      Un datastore c'est une ressource Proxmox, un volume, ça dépend du contexte, c'est un disque.

      Pour TrueNAS, il faut au minimum deux disques, sinon tu perd une partie des fonctionnalités apporté par ZFS (scrub)

      Si tu as une VM TrueNAS, tu dois travailler en réseau. Si les deux serveurs ont ZFS, tu peux faire un ZFS send depuis Proxmox vers TrueNAS.

      Pourquoi veux tu faire la sauvegarde dans une VM TrueNAS ? Tu peux faire un Dataset sur ton stockage ZFS de Proxmox et externaliser les sauvegardes hors du serveur via rsync ou autre.

      Proxmox a un firewall intégré, rien ne t'empêche de mettre une VM dédié ou de créer un réseau dédié.

      Tu devrais travailler sur Proxmox seul pour commencer et voir ensuite de que tu as besoin.

      • [^] # Re: Et les données ?

        Posté par  . Évalué à 1. Dernière modification le 17 mai 2022 à 15:45.

        Je veux sauvegarder les données de la VM truenas, mais comme elle se reserve au moins un disque entier, proxmox ne peux pas le sauvegarder.
        Je me trompe ?

        • [^] # Re: Et les données ?

          Posté par  . Évalué à 1.

          Tu peux sauvegarder la VM TruesNAS mais pas les données sur les disques que tu lui affectes directement.

  • # ça se précise

    Posté par  . Évalué à 1.

    Je laisse tomber les distro NAS en VM, ce sera webmin sur l'hôte proxmox pour gérer facilement les partages locaux et entre VM/containers en nfs, cifs, afp, ssh.

    cluster de deux machines, un kimsufi et mon serveur local celeron (dans un premier temps), chaque service aura un replica passif sur le ou les autres nœuds.

    un deuxième dédié léger peut être pour le PBS et tiers votant, peut être un Atom chez ikoula ?

    Question :
    J'ai trouvé le réseau ingress de docker swarm super intéressant :
    tous les services du cluster sont accessibles depuis n'importe quel nœud qu'ils y soient hébergés ou pas. Les services peuvent donc être migrés ou dimensionnés de manière transparente.
    Est-ce que proxmox propose quelque chose de ce genre ?

    Et encore une :
    Est-ce qu'on peut créer et peupler un proxmox standalone et plus tard, en faire un cluster en conservant sa config et ses VM/containers ?

    Et vos avis sur ZFS : Ses recommandations sont très exigeantes mais il peut faire avec moins sans créer de problèmes ?

    Genre il est recommandé au moins 8Go de RAM et deux disques en raid ZFS,
    Mais il fonctionnera aussi très bien avec 4Go de ram et un seul disque ou un raid hardware non ?

    Merci à tous pour vos précieux renseignements et avis

    • [^] # Re: ça se précise

      Posté par  . Évalué à 1.

      Je pense que tu n'as pas compris ZFS.
      ZFS ne supporte pas le raid hardware et il utilise la RAM pour faire du cache. Il pourra fonctionner avec 4go de RAM, mais ca va être dur et tu vas trouver que Proxmox est nul.

      Si ta RAM n'est pas ECC, tu vas avoir des problèmes.
      Quand ZFS lit des données il vérifie les sommes de contrôle de chaque bloc de données, si ta RAM a un défaut (que la RAM ECC corrige toute seule), il va "corriger" tes données pour que la somme de contrôle soit correct. Et "pouf" plus de données.

      1 disque est aussi une erreur, pour le fonctionnement nominal de ZFS, il te faut au moins 2 disques. Pour moi le mieux, c'est 4 disques en RAIDZ2 (équivalent au raid6, le raid5 c'est pour les hommes, les vrai qui n'ont pas peur de fonctionner sans disque de secours lors de la reconstruction de la matrice). Avec ZFS, une fois que tu as créé un pool, tu ne peux plus le modifier. Pour le modifier, il faut créer un autre pool, puis migrer les données.

      Utiliser webmin pour gérer ton proxmox est une erreur : On ne modifie pas l'hôte.
      Normalement tu peux tout gérer depuis l'interface web. Si tu ne peux pas le faire, ne le fait pas, tu t'y prends mal.

      J'ai fait toutes les erreurs que tu dit. J'utilise Proxmox depuis la version 3 et FreeNAS depuis la version 9.

      Exerce toi sur tes services perso, sinon tu vas perdre des données.
      Ne compare pas avec Docker, le fonctionnement de docker est totalement différent. La virtualisation avec VMWare, xen ou proxmox, c'est de l'administration à l'ancienne, du réseau à l'ancienne.
      Une fois que ton hyperviseur est fonctionnel, tu l'oublies. Tu ne l'utilises que pour la gestion des VM (création, migration sauvegarde, …) Pour le reste tu travailles à l’ancienne avec des services réseaux.

      • [^] # Re: ça se précise

        Posté par  . Évalué à 1.

        Alors ZFS est d'une fragilité extrême et un gouffre à ressources.
        BTRFS propose pratiquement les même fonctionnalités, les exigences en moins, la souplesse en plus mais est plus jeune et moins bien bien pleinement pris en charge par les plateformes telles proxmox.

        Je ne peux pas mettre 130€/mois dans un dédié répondant à ces exigences.
        Si on remplit toutes ses exigences matérielles alors même FAT32 serait fiable.

        Je cherche à avoir :
        - Des services dissociables des hôtes, ne pas être en stress parce que la distro de l'hôte va passer en fin de support et la mise à jour majeure risquant de faire disparaitre des paquets essentiels ou casser la configuration.
        - Ne pas oublier un serveur dans un coin, donc je veux une admin centrale me permettant de tous les gérer
        - Que tout soit sauvegardé, répliqué et "migrable" facilement et rapidement.

        Les services sur les hôtes comme ce que j'ai actuellement, c'est fragile et complexe, le backup étant à faire au cas par cas et chaque serveur doit être gérer individuellement.

        Docker est instable (fonctionnellement), ne propose rien de très solide pour les données, propose une partie de mes besoins mais des fonctions peuvent disparaitre dans le temps, il manque pas mal de choses pour me tenir tranquille et je ne parle pas du hub et du suivi des images.

        Proxmox semblait être ce que je cherchait mais repose sur ZFS pour en tirer pleinement parti mais je n'ai pas les moyens.

        Donc là je désespère…

        • [^] # Re: ça se précise

          Posté par  . Évalué à 1.

          ZFS est tout sauf fragile, il assure la sécurité physique des données et pour ça il a des prérequis. Il vaut mieux ne pas l'utiliser que l'utiliser dans de mauvaises conditions.

          Proxmox peut fonctionner sans ZFS, si tu n'as pas les moyens d'avoir les prérequis, utilise le sans ZFS. J'ai commencé Proxmox avec un core 2 duo et 4Go de RAM sans ZFS et c'était cool. Les sauvegardes intégrés de Proxmox font très bien l'affaire. Pas besoin de PBS pour le fonctionnement courant.

          Revoit ton besoin et fais des tests: Un serveur Proxmox, des sauvegardes sur l'hôte puis export via ssh/rsync c'est très bien pour commencer.
          Définit ton temps d'interruption, ce que tu es prêt a perdre en données et ton budget puis fait un équilibre entre ces points.
          Ne fais pas une infra parce que c'est cool, mais parce que tu en as le besoin ou les moyens.

          • [^] # Re: ça se précise

            Posté par  . Évalué à 1.

            ah si le PBS est requis, plus que les replicas ou en tout cas un plan de sauvegarde, je stocke toutes les données de gestion de mon entreprise et d'autres données importantes

            parce que sans ZFS je me passe donc des replicas, il ne restera que le backup à restaurer sur un autre hôte en cas d'accident

            D'autres fonctionnalités seront manquantes ?

            • [^] # Re: ça se précise

              Posté par  . Évalué à 1.

              Non PBS n'est pas requis. La solution de sauvegarde de base fonctionne très bien (on n'est pas chez VMWare et surtout il ne faut pas modifier l'hôte). La restauration de ce type de sauvegarde fonctionne que ça soit sur un nouvel hôte ou sur le même.
              Je fais 2 types de sauvegardes, des journalières et des hebdomadaires sans PBS. Je les fais 2 fois, sur 2 datastores, un local et un distant en NFS puis j'exporte sur un disque externe via ssh/rsync. Je les fais 2 fois au lieu de les copier, en cas.

              Sans ZFS tu vas perdre:
              - les snapshots ZFS et la possibilité de les envoyer sur le réseau, mais tu auras toujours les snapshots qcow2 ( stockage Proxmox ).
              - si tu fais du raid, la réparation automatique de la corruption silencieuse.

              Il y a peut être d'autre chose, mais comme ça je ne voit pas.

    • [^] # Re: ça se précise

      Posté par  . Évalué à 2.

      Je vais me contenter de cette question :) :

      Est-ce qu'on peut créer et peupler un proxmox standalone et plus tard, en faire un cluster en conservant sa config et ses VM/containers ?

      Oui. Par contre passer de 2 à 1 nœud est moins bien vécu.

      • [^] # Re: ça se précise

        Posté par  . Évalué à 1.

        de 2 à 1 j'imagine qu'on peut donner 2 voies au survivant ou réduire le nombre de voies à 1 pour maintenir le quorum, mais ça reste un cluster (boiteux) oui

  • # Changement de direction

    Posté par  . Évalué à 1.

    Bon proxmox est visiblement trop rigide pour convenir à mes besoins.
    J'imagine que c'est le prix pour avoir une solution clé en main.

    Quitte à retrousser les manches je commence à étudier une autre solution plus souple avec cockpit pour gérer l'hôte, les VM et des containers, podman du coup.
    Pour la réplication il va falloir scripter et choisir la meilleur méthode entre les snapshots btrfs ou LVM. A choisir avec btrfs send/receive sur ssh à la ZFS ou juste pour geler l'état du volume le temps d’exécuter un rsync.

    Cockpit est très intéressant parce qu'il s'installe sur un hôte existant peu importe sa configuration de départ et sa distro, c'est un webmin plus jeune quoi.

    Avec cette solution je peux envisager de migrer plus facilement qu'en CLI pure, les services de mes hôtes à chaud vers des containers ou des VM où ils seront ensuite plus facile à migrer vers d'autres hôtes.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.