VMmanager 6: présentation de la box et comparaison avec la génération précédente



Le 8 octobre, une version en boîte de VMmanager 6, le nouveau panneau de contrôle de virtualisation, a été lancée. Maintenant, il peut être installé sur le serveur et utilisé pour vendre des machines virtuelles ou gérer votre propre infrastructure. Dans cet article, nous comparons la nouvelle génération avec la précédente - VMmanager 5 et VMmanager 6.


Les deux panneaux prennent en charge la virtualisation KVM et gèrent le serveur physique à l'aide de libvirt.


VMmanager 5 est sorti en 2013, VMmanager 6 - en 2019. La nouvelle génération est plus pratique et plus résistante au stress. Prend en charge l'imagerie, la gestion des tâches et la surveillance.


Dans cet article, nous comparons deux générations de panneaux. Parlons d'abord des différences conceptuelles: architecture, interface et résistance aux charges. Dans la deuxième partie, nous verrons comment des tâches identiques sont résolues dans deux panneaux.


Plus d'informations sur le produit se trouvent dans la section VMmanager 6 du site Web ISPsystem .


Partie 1. Différences conceptuelles


L'architecture


VMmanager 5 était un monolithe écrit en C ++, ce qui compliquait inutilement à certains endroits le développement de choses simples.


C'est pourquoi dans VMmanager 6, nous avons utilisé Python pour des tâches simples, telles que la configuration de nœuds, la configuration de machines virtuelles, le travail avec libvirt. Ce code est plus facile à écrire, à déboguer et à «assembler». Ils en ont parlé dans un autre article sur Habré .


Tâches où la décentralisation des données n'est pas terrible et une mise à l'échelle horizontale est nécessaire, nous sommes passés à Golang, mettant en évidence la logique métier dans les microservices. Curieusement, nous avons également gagné en vitesse et en facilité de développement. Le reste de la logique continue de tirer parti du monolithe en C ++ - fiabilité, vitesse et cohérence des données.


De plus, VMmanager 6 est livré dans des conteneurs Docker. VMmanager 5 a été installé à l'aide de packages. Un avantage certain de la conteneurisation est la haute prévisibilité du comportement des applications (l'environnement est toujours le même). Il est devenu plus facile de reproduire des situations ou des problèmes, il n'est pas nécessaire de faire de nombreux assemblages pour différents systèmes d'exploitation, le déploiement est plus rapide.


Dans VMmanager 5, l'installation de packages comportait de nombreuses dépendances pouvant entrer en conflit avec des packages déjà installés. Il y avait des situations où la suppression d'un package inoffensif avec l'option «-y» supprimait le panneau entier par dépendance.


Autre changement majeur: VMmanager 6 prend en charge les images. Une image est une copie complète d'un disque VM. Il est utilisé lors de la création de machines virtuelles et de sauvegardes. À ne pas confondre avec les images ISO dans VMmanager 5 - ce sont deux technologies différentes.

Résistance à la charge


Une conséquence importante des changements d'architecture est une résistance accrue à la charge.


VMmanager 5 ne résiste pas à de lourdes charges: si plus de 500 machines virtuelles sont créées, il commence à fonctionner lentement. Pour contourner cette limitation, les fournisseurs installent un autre VMmanager et y créent de nouvelles machines virtuelles. Les grands fournisseurs peuvent avoir plusieurs panneaux: selon le nombre d'emplacements ou les tarifs.


Dans VMmanager 5, beaucoup a été fait dans le processus principal et, en règle générale, dans un seul thread. Pour gérer les opérations longues, il y avait un module longtask (l'ancêtre de taskmanager, un service de répartition des tâches dans la sixième version), mais nous n'avons pas immédiatement commencé à l'utiliser activement. Il n'y avait pas de mécanisme de verrouillage dans la tâche longue, uniquement des files d'attente dans lesquelles les tâches pouvaient être exécutées strictement une par une dans l'ordre dans lequel elles étaient arrivées. Une tâche ne pouvait pas tenir sur plusieurs lignes. Les opérations à longue tâche elles-mêmes étaient des fichiers spéciaux sur disque. Et un grand nombre de fichiers dans un répertoire crée une charge sérieuse sur tous les systèmes UNIX. Cela n'a pas permis de répartir les tâches entre plusieurs répartiteurs / serveurs.


La charge dans VMmanager 6 est répondue par un service spécial de gestion des tâches - Taskmanager. Désormais, la plupart des opérations sont exécutées différées dans des processus distincts. Cela augmente la réactivité du système - une demande distincte ne peut pas bloquer son fonctionnement; et augmente également la stabilité - si quelque chose se passe mal, cela n'affectera pas l'ensemble du système, tout au plus certaines opérations. Un système flexible de verrous et une isolation élevée des processus individuels permettent une mise en file d'attente et une exécution optimales des tâches en parallèle, si possible.


Toujours dans la nouvelle version, il a été décidé de séparer le lecteur et l'écrivain (processus qui sont responsables des opérations de lecture et d'écriture dans le système). Contrairement à VMmanager 5, l'utilisateur du panneau peut toujours obtenir des informations, car les threads de lecture peuvent toujours fonctionner en parallèle, quel que soit le nombre d'opérations d'écriture en cours.


Interface


La différence la plus notable entre les deux générations est l'interface. Et ce n'est pas seulement une question de design. Différences de vitesse et de réactivité.


L'interface de VMmanager 5 est obsolète à la fois en apparence et en «comportement». Le premier est visible à l'œil nu, et le second est visible pendant de longues opérations: si vous arrêtez la machine virtuelle ou lancez la migration de masse, une barre de progression de blocage apparaîtra à l'écran. Si l'utilisateur effectue de nombreuses opérations de ce type, quelqu'un d'autre attendra simplement de voir la liste des machines virtuelles.



Barre de progression de blocage lorsqu'une machine virtuelle s'arrête dans VMmanager 5


Parallèlement aux modifications de conception, VMmanager 6 est venu avec des modifications architecturales côté client. Auparavant, les modèles de page étaient générés à partir de fichiers xml côté serveur, maintenant c'est SPA (Single Page Application) basé sur le framework Angular populaire. L'application se compose de modules indépendants séparés (téléchargés sur demande) et de composants. Les composants sont alloués à la bibliothèque et sont développés conformément au système de conception.


Pour augmenter la réactivité, la communication avec le serveur se fait à l'aide de l'API REST et de WebSocket. Dans la plupart des cas, nous essayons d'utiliser des opérations non bloquantes ou retardées. La partie client est notifiée de toute modification de l'application, qu'il s'agisse de créer une machine virtuelle ou de changer l'état d'un nœud dans une table, via un service spécial. Ce service se renseigne sur les modifications du stockage de valeurs-clés, où les événements proviennent de tous les microservices.


Ainsi, l'interface VMmanager 6 est non seulement devenue plus moderne, mais aussi plus pratique, réactive et «conviviale».



Lorsqu'une machine virtuelle s'arrête dans VMmanager 6, l'interface n'est pas bloquée. Le statut peut être observé dans la liste des machines virtuelles


Partie 2. Résolution de problèmes


Création de machines virtuelles


Passons aux tâches. Le premier est la création d'une VM.


VMmanager 5 crée une machine virtuelle en 8-10 minutes - longtemps. En effet, le processus se déroule par les moyens habituels: les packages sont téléchargés, déployés, installés. Pour que les clients n'aient pas à attendre, les fournisseurs écrivent des plug-ins: ils créent une machine virtuelle à l'avance, et lorsque le client arrive, réaffectez-la. Un utilisateur élevé peut créer lui-même une machine virtuelle, mais vous devrez remplir un formulaire complexe.



Formulaire de création de machine virtuelle dans VMmanager 5


VMmanager 6 utilise un nouveau mécanisme pour créer des machines virtuelles. Le panneau ne télécharge pas les packages, mais déploie une copie de l'image. Pas besoin d'écrire des plugins supplémentaires: l'émission de VM même sans eux est rapide - de 1 minute 20 secondes à 2 minutes. Les pannes de réseau ou la sortie d'une nouvelle version du système d'exploitation n'affecte plus l'installation, et si elle démarre, elle prendra définitivement fin. La forme de création d'une VM est devenue beaucoup plus simple.



Formulaire de création de machine virtuelle dans VMmanager 6


Création de modèles de système d'exploitation


Les fournisseurs vendent des machines virtuelles à leurs clients avec WordPress, 1C-Bitrix ou d'autres logiciels. Les entreprises qui utilisent VMmanager pour leurs besoins internes créent un grand nombre de machines virtuelles du même type pour tester, déployer des services internes et leurs propres logiciels. La configuration de chaque machine est la routine de l'administrateur ou du testeur. Le panneau de contrôle permet de l'automatiser: une fois que vous avez configuré le modèle et créé des VPS préconfigurés à partir de celui-ci.


Dans VMmanager 5, les modèles de système d'exploitation sont stockés dans des référentiels. Pour ajouter votre modèle, vous devez créer un référentiel et préparer les fichiers de configuration du système d'exploitation. Le référentiel est créé sur un serveur distinct. Le modèle se compose d'une description XML et d'un fichier de configuration, ainsi que de tous les fichiers nécessaires pour créer le système d'exploitation. L'administrateur doit préparer le modèle. La tâche n'est pas facile et il est peu probable qu'elle soit résolue sans instructions.



Modèles de système d'exploitation dans VMmanager 5. Vous pouvez démarrer l'installation à partir de l'interface, mais vous ne pouvez pas configurer le modèle


Le modèle de système d'exploitation dans VMmanager 6 est une image disque d'une machine virtuelle avec un système d'exploitation installé. Pour créer un modèle avec un logiciel supplémentaire, il suffit de le configurer sur une machine virtuelle et de créer une image de son disque. Après cela, toutes les machines virtuelles créées à partir de cette image seront configurées de la même manière. Seuls les paramètres réseau et l'accès à la machine virtuelle changeront - ils ne sont pas écrits sur l'image. La tâche est simple, l'administrateur s'en sortira sans instructions. Bien sûr, les amateurs de scripts peuvent toujours les utiliser - il existe une telle possibilité dans VMmanager 6.



Création d'une machine virtuelle à partir d'une image utilisateur dans VMmanager 6


Statistiques et suivi


Les services de statistiques et de surveillance sont des aides indispensables pour tout administrateur système. Ils vous permettent de répondre rapidement aux situations d'urgence qui se produisent sur les nœuds et les machines virtuelles. Un afflux soudain de visiteurs, une attaque DDoS ou un script défectueux peut fortement charger la machine virtuelle. Si vous n'agissez pas, il échouera, ainsi que le site ou le projet qui s'y trouve. C'est pratique lorsque le système de surveillance est inclus dans le panneau.


VMmanager 5 dispose d'un mécanisme de surveillance de l'état des machines virtuelles. Toutes les 10 minutes, il analyse le nombre de paquets envoyés sur le réseau et le nombre de demandes d'écriture sur le disque de la machine virtuelle. Les 10 principaux nœuds du trafic sortant, de la charge du processeur et de la mémoire sont affichés sur la page principale du panneau. Il n'y a aucune notification par mail ou messagerie instantanée.



Statistiques sur les nœuds du VMmanager 5. S'il n'y a pas suffisamment de données, les graphiques sont moches


VMmanager 6 surveille également l'état des machines virtuelles et des nœuds, comme précédemment, collecte des statistiques sur l'utilisation des ressources. Mais suivant les besoins des utilisateurs, nous avons développé un nouveau système de surveillance en ligne pour les nœuds et les VM. Il surveille la consommation de RAM, de CPU et de disque dur, surveille l'activité du réseau. Si la charge devient critique, il est impossible de ne pas le remarquer - les données de surveillance sont affichées dans les listes de nœuds et de machines virtuelles, ainsi que sur les cartes individuelles de ces entités. Après avoir visité la liste des nœuds, l'administrateur peut immédiatement remarquer lequel des serveurs est surchargé et par quel indicateur. Le tableau de bord est en cours de développement, l'apparence est attendue dans le panel cette année.



Carte de noeud dans VMmanager 6. Voici des informations sur la charge et les statistiques sur les machines virtuelles créées


Mail


Cela est pratique lorsque le panneau rend compte d'événements ou de problèmes actuels. Pour ce faire, il doit prendre en charge l'envoi de messages.


Il n'y a aucun moyen de gérer le courrier dans VMmanager 5 . Seul un administrateur peut réinitialiser un mot de passe oublié; vous ne pouvez pas le restaurer automatiquement. Les notifications de création de machine virtuelle sont envoyées par BILLmanager. Ajoutez un nouvel événement pour les alertes - le tout.


VMmanager 6 peut envoyer du courrier. Des notifications arrivent déjà sur la création et la réinstallation de machines virtuelles, des lettres de récupération de mot de passe. Lorsque la facturation est activée, l'envoi de messages à partir du panneau peut être désactivé. À l'avenir, il y aura des notifications de problèmes survenus sur les nœuds de machine virtuelle. Il est également prévu de mettre en place l'envoi de notifications aux messageries instantanées.


Gestion des tâches


Il ne suffit pas d'en apprendre davantage sur le problème, vous devez trouver rapidement sa cause et le résoudre. Pourquoi la machine virtuelle n'a pas créé ou le script ne s'est pas exécuté, quelles opérations dans le système échouent souvent - tout cela peut être trouvé dans la liste des tâches VMmanager 6.


VMmanager 5 n'a pas de mécanisme de surveillance des tâches, car il n'y avait pas de mécanisme de tâches lui-même (voir la première partie de l'article). L'exécution partielle des tâches en arrière-plan peut être surveillée dans la section "État du système". Vous pouvez voir l'heure de début et de fin, ainsi que l'état - terminé avec succès ou avec une erreur. Une opération de tâche longue bloquée peut être interrompue de force. Mais si la machine virtuelle n'a pas été créée, vous ne pourrez pas en trouver la raison à partir du panneau: vous devrez prendre l'ID et aller dans la console "grab logs".



Gestion des tâches dans VMmanager 5. Vous pouvez voir l'heure et l'état de démarrage ou terminer le script


L' utilisateur de VMmanager 6 gère les opérations dans la "Liste des tâches". Il stocke des informations sur les opérations en cours et terminées sur les machines virtuelles, les nœuds et les modèles de système d'exploitation. Par la durée des tâches, vous pouvez suivre les modèles: quelle opération a pris quel temps, qui l'a démarrée. S'il a échoué, le journal est visible - il est affiché dans l'interface. Si le script ne s'exécute pas, un code d'erreur apparaîtra dans l'interface. Effacez immédiatement quoi faire.



La liste des tâches dans VMmanager 6. Vous pouvez comprendre qui, quoi et quand



Carte de la tâche qui s'est terminée avec une erreur. Un journal est visible directement dans le panneau - vous n'avez pas besoin de "manger quoi que ce soit" dans la console


Sauvegardes


C'est l'une des tâches qui est résolue différemment dans deux panneaux.


VMmanager 5. Vous pouvez créer des copies de toutes ou de machines virtuelles spécifiques. Les sauvegardes sont stockées sur le disque local ou sur un stockage FTP distant - une ou plusieurs. La description XML de la machine virtuelle est copiée, des copies de ses disques virtuels, un vidage de mémoire sont créés, et tout cela est compressé dans l'archive.



Sauvegarde de machines virtuelles dans VMmanager 5


VMmanager 6 . Il n'y a pas de sauvegarde au sens habituel - tout est stocké dans la base de données. Si le panneau échoue, mais que la base de données est enregistrée, il ne sera pas difficile de restaurer le système. Le rôle des sauvegardes de machines virtuelles est assuré par des images. Vous pouvez restaurer une machine virtuelle endommagée à partir d'une image si nécessaire. Maintenant, les images sont créées avec VM arrêtée, mais à l'avenir, elles peuvent être créées sans arrêt et vendues via la facturation.



Création d'une image dans VMmanager 6


Prise en charge native du centre de données Hetzner


Hetzner est un centre de données populaire parmi les fournisseurs russes. Il utilise la sécurité des ports pour la protection, donc lorsque vous travaillez avec lui, des paramètres réseau spéciaux sont nécessaires.


Dans VMmanager 5, le réseau des nœuds Hetzner doit être configuré manuellement: modifiez les fichiers de configuration du panneau, configurez l'interface réseau et le pont réseau du serveur et activez le transfert. En même temps, un panneau ne peut gérer qu'un seul cluster - si le fournisseur a ses propres serveurs en plus de ceux loués par Hetzner, ils doivent être configurés dans un panneau séparé.


VMmanager 6 prend en charge Hetzner natif. L'administrateur ajoute un cluster de type Hetzner et connecte les serveurs. Après cela, le routage suit le modèle de ce centre de données, les paramètres de la machine virtuelle sont définis en fonction du type de cluster dans lequel ils se trouvent. En même temps, dans le même panneau, il peut y avoir des clusters avec d'autres paramètres réseau. Soit dit en passant, la gestion de plusieurs clusters est l'une des principales fonctionnalités de VMmanager 6.



Formulaire de création de cluster de type Hetzner dans VMmanager 6


Stockage local


VMmanager 5 prend en charge le stockage de fichiers et LVM. Dans un cluster, il peut y avoir des nœuds avec différents types de stockage (comme le temps l'a montré, le mécanisme s'est avéré non réclamé et a nécessité beaucoup de ressources). Le panneau prend également en charge un grand nombre de types différents de stockage connecté au réseau. Dans la sixième version, dans les prochaines versions, nous implémenterons la prise en charge de la plus populaire d'entre elles - Ceph-storage.


VMmanager 6 prend en charge le stockage de fichiers et LVM. Dans un cluster, il ne peut y avoir de nœuds avec différents types de stockage. Cela élimine les problèmes de migration - ils sont inévitables si certains des disques sont dans le stockage de fichiers, et certains dans LVM.


Configuration requise


VMmanager 5 : un serveur propre avec CentOS 6 et 7, 100-150 Go pour la partition racine.


VMmanager 6 : un serveur propre avec CentOS 7, un processeur dual-core avec une fréquence de 3 GHz, 4 Go de RAM, 40 Go d'espace disque. Le serveur n'a pas besoin d'être en fer, le virtuel fera l'affaire.


Prix ​​/ Transition


VMmanager 5 coûte 8 euros par nœud par mois, 80 - si vous achetez pour un an. Chaque nouveau nœud coûte 8 euros. Désormais, seuls ceux qui ont déjà acheté une licence pour VMmanager 5 peuvent l'acheter.


Le coût de VMmanager 6 se compose de deux parties: le prix des nœuds et un ensemble de machines virtuelles.


  • Les nœuds sont vendus un à la fois, à 4 euros / mois pour chacun.
  • Les machines virtuelles sont vendues en packages. Le forfait minimum comprend 20 VM et coûte 8 euros / mois.

Pour les clients disposant de licences VMmanager 5 actives, une offre spéciale est valable pour l'achat de VMmanager 6. Les conditions et les détails de la migration peuvent être trouvés dans l'annonce sur le site Web ISPsystem .


Conclusion


Les cinquième et sixième générations de VMmanager conviennent à la gestion de la virtualisation. Mais la différence entre eux est grande. Pour résumer:


  • VMmanager 5 doit être utilisé pour résoudre des tâches non standard: lorsque vous avez besoin d'images ISO. Et aussi - des instantanés et des stockages réseau (iSCSI, NFS, Ceph, GlusterFS).
  • VMmanager 6 est plus pratique et plus rapide, résiste à de lourdes charges et convient à presque toutes les tâches. D'ici la fin de l'année, nous prévoyons d'ajouter la prise en charge d'IPv6, des magasins Ceph, ainsi qu'un tableau de bord administrateur et une notification des problèmes au courrier et au messager.

VMmanager 6 a déjà été évalué par 30 fournisseurs. Avis - dans l'annonce sur le site Web ISPsystem.


Les détails et spécificités maximum sont dans la documentation de VMmanager 5 et VMmanager 6 .



Vous pouvez essayer gratuitement VMmanager 6. La version d'essai est valable 30 jours. Pour l'utiliser, laissez une demande et suivez les instructions de la lettre de réponse.

Source: https://habr.com/ru/post/fr471886/


All Articles