web-dev-qa-db-fra.com

Contenants Linux (LXC) sur Red Hat / Centos EL6 - LXC-Créer contre Libvirt?

Il est difficile d'essayer de rester dans les bonnes grâces du chapeau rouge et de planifier encore la longévité du système ...

J'ai été un promoteur de conteneurs Linux (LXC) pendant plus d'un an. Mes installations initiales étaient basées sur des informations glanées à partir de tutoriels en ligne, comme celui-ci et celui-ci . Cela a centré autour de la lxc-create, lxc-start|stop et lxc-destroy Commandes et modification des modèles existants Modèles Openvz .

Cela fonctionne bien et est heureusement en cours de production. Cependant, je soulève des systèmes supplémentaires et j'ai décidé de vérifier la documentation actuelle de Red Hat concernant les conteneurs en EL6. J'ai été surpris de voir leur position officielle à ce sujet.

Dans Rhel 6 fournit-il des outils LXC nécessaires pour utiliser des conteneurs Linux? , Red Hat décrit LXC en tant que aperçu de la technologie et - suggère d'utiliser Libvirt pour gérer la création et la gestion de conteneurs .

Pourtant, Oracle préconise une technique de conteneur totalement différente dans son linux incassable.

Il semble y avoir une fonctionnalité manquante dans la méthode LibVirt, mais mon approche initiale avec les commandes LXC- * était un peu un processus manuel ... Je ne peux pas vraiment dire ce qui est juste ou le moyen "accepté" de gérer des conteneurs sur EL6 .

  • Quelle est la sagesse conventionnelle concernant les systèmes LXC et Shaël aujourd'hui?
  • Comment vous les implémenter dans votre organisation?
  • Y a-t-il des avantages à une approche par rapport à l'autre (s)?
  • Ces celles-ci peuvent-ils coexister?
13
ewwhite

Quelle est la sagesse conventionnelle concernant les systèmes LXC et Shaël aujourd'hui?

Personnellement, je trouve la configuration actuelle quelque peu manquant. LXC semble plus à la pointe - certainement plus entretenu.

Comment les impliliez-vous?

En termes de l'offrir comme une option de virtualisation, je ne le suis pas. Je trouve la configuration technologique actuelle manquant.

  • Pas d'espace de noms d'utilisateur.
  • Certains points de vue ne sont pas au courant des espaces de noms (cgroups, selinux)
  • Les valeurs IN/PROC sont des globaux de système trompeurs qui ne tiennent pas compte de la partition de ressources dans les espaces de noms.
  • Pause audit.

Je trouve que c'est vraiment un bon outil pour le confinement de niveau d'application cependant. Nous utilisons directement les espaces de noms et les cgroups pour contenir le réseau et IPC Ressources pour certains applications Web d'utilisateur-Ran. Nous fournissons notre propre interface pour le contrôler. Dans RHEL7, j'envisage de déplacer cette fonctionnalité à libvirt-lxc Comme les nouvelles révisions de libvirt prennent en charge le concept d'ACL de l'utilisateur.

Pour la virtualisation en termes d'un système entièrement initialisé, j'attends de savoir ce qui est offert dans RHEL7, mais en toute honnêteté, je pense que nous ne verrions peut-être qu'une solution assez bonne une fois que nous sommes sur une libération ultime ultime de RHEL7, puis peut-être que Seulement sur un état de prévisualisation de la technologie.

Gardez vos yeux sur systemd-nspawn Quelque chose me dit dans les 18 prochains mois environ, cela pourrait prendre sa place est le meilleur outil pour faire entièrement Linux contenait la virtualisation, que ce soit que les auteurs SystemD indiquent clairement que ce n'est pas sécurisé en ce moment! Je ne serais pas surpris si libvirt tombe libvirt-lxc Finalement et offre simplement une enveloppe autour de systemd-nspawn avec des tranches SystemD définies.

Aussi, se méfier il y a beaucoup de discussions au cours des 6 derniers mois en ce qui concerne la réémayer des cgroupes comme une interface de programmeur de noyau plutôt qu'une interface de système de fichiers (peut-être utiliser NetLink ou quelque chose, pas vérifié) afin que SystemD devrait être très chaud. sur la queue de l'obtention très rapidement.

Y a-t-il des avantages à une approche par rapport à l'autre?

Je pense que l'option LXC (pas LibVirt-LXC) est mieux entretenue. Avoir lu le libvirt-lxc SourceCode, on se sent pressé. La LXC traditionnelle a certainement des fonctionnalités plus récentes Whicih ont été mieux testées. Les deux nécessitent un degré de compatibilité par le système init en étant couru, mais je soupçonne que vous trouverez LXC légèrement plus "clé de contact" que le libvirt-lxc Option particulièrement en ce qui concerne la configuration de la distribution de travailler en eux.

Ces celles-ci peuvent-ils coexister?

Bien sûr, rappelez-vous que pour toutes fins utiles, les deux font la même chose. Organisation des espaces de noms, des cgroups et des points de montage. Toutes les primitives sont traitées par le noyau lui-même. Les deux mises en œuvre lxc _ Offrent simplement un mécanisme d'interface avec les options du noyau disponibles.

7
Matthew Ife

Red Hat fait un énorme pression de conteneur. Ils construisent un nouveau produit entier, hôte atomique de Red Hat Enterprise Linux , autour de lui.

Pour une approche moins radicale, jetez un coup d'œil à leur bêta Guide de la gestion des ressources et de la gestion des ressources et des conteneurs de linux ; Vous remarquerez qu'il pousse libvirt-lxc et ne fait aucune mention des outils LXC.

9
sciurus

Les exécutables LXC- * sont emballés dans le paquet LXC dans EPEL . Cependant, c'est l'ancien "support à long terme". Vous n'avez même pas l'option "-f" dans LXC-LS. J'installerais simplement Ubuntu pour mes hôtes LXC.

Le moyen RHEL pour gérer LXC semble être via libvirt-lxc mais c'est apparemment obsolète .

A noté que Ubuntu soutient de nombreux nouveaux développements LXC/LXD tandis que RedHat se concentre sur KVM et docker.

1
Lester Cheung