Quelle est la sagesse conventionnelle concernant les systèmes de type LXC et RHEL aujourd'hui?
Personnellement, je trouve que la configuration actuelle manque un peu. LXC semble plus à l'avant-plan - certainement plus maintenu.
Comment les mettez-vous en œuvre?
En termes d'offre en tant qu'option de virtualisation, je ne le suis pas. Je trouve que la configuration technologique actuelle manque.
- Pas d'espace de nom de nom d'utilisateur.
- Certains points de montage ne sont pas compatibles avec les espaces de noms (cgroups, selinux)
- Les valeurs dans / proc sont des globaux système trompeurs qui ne tiennent pas compte du partitionnement des ressources dans les espaces de noms.
- Interrompt l'audit.
Je trouve cependant que c'est un très bon outil pour le confinement au niveau de l'application. Nous utilisons des espaces de noms et des groupes de contrôle directement pour contenir les ressources réseau et IPC pour certaines applications Web gérées par les utilisateurs. Nous fournissons notre propre interface pour le contrôler. Dans RHEL7, j'envisage de déplacer cette fonctionnalité en libvirt-lxc
tant que révisions plus récentes de la libvirt
prise en charge du concept des listes de contrôle d'accès des utilisateurs.
Pour la virtualisation en termes de système entièrement initialisé, j'attends de voir ce qui est proposé dans RHEL7, mais en toute honnêteté, je pense que nous pourrions ne voir une solution suffisamment bonne qu'une fois que nous serons sur une version mineure ultérieure de RHEL7, puis peut-être uniquement sur un état d'aperçu de la technologie.
Gardez un œil sur systemd-nspawn
quelque chose qui me dira au cours des 18 prochains mois qu'il pourrait prendre sa place est le meilleur outil pour faire de la virtualisation entièrement Linux, que les auteurs de systemd indiquent clairement que ce n'est pas sécurisé en ce moment! Je ne serais pas surpris si des libvirt
gouttes libvirt-lxc
finissaient par arriver et proposaient juste un wrapper systemd-nspawn
avec des tranches systemd définies.
En outre, méfiez-vous, il y a eu beaucoup de discussions au cours des 6 derniers mois en ce qui concerne la réimplémentation de cgroups en tant qu'interface de programmeur du noyau plutôt qu'en tant qu'interface de système de fichiers (peut-être en utilisant netlink ou quelque chose, non vérifié), donc systemd devrait être très chaud sur la queue d'obtenir ce droit 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 maintenue. Après avoir lu le libvirt-lxc
code source, il se sent pressé. Le LXC traditionnel a certainement de nouvelles fonctionnalités qui ont été mieux testées. Les deux nécessitent un certain degré de compatibilité par le système init qui y est exécuté, mais je pense que vous trouverez LXC légèrement plus "clé en main" que l' libvirt-lxc
option, en particulier en ce qui concerne le fonctionnement des distributions.
Ces éléments peuvent-ils coexister?
Bien sûr, rappelez-vous qu'à toutes fins utiles, les deux font la même chose. Organisation des espaces de noms, des groupes de contrôle et des points de montage. Toutes les primitives sont traitées par le noyau lui-même. Les deux lxc
implémentations offrent simplement un mécanisme d'interfaçage avec les options de noyau disponibles.