Red Hat / CentOS EL6上的Linux容器(LXC)-lxc-create与libvirt?


13

试图保持Red Hat的良好能力并仍然计划系统寿命是很棘手的...

我已经支持Linux容器(LXC)一年多了。我最初的安装基础上,从在线教程,喜欢收集的信息这一个这一个。它以和命令为中心lxc-create,并修改现有的OpenVZ模板lxc-start|stoplxc-destroy

这样效果很好,并且可以在生产环境中愉快地运行。但是,我要提出一些其他系统,并决定查看Red Hat关于EL6中容器的最新文档。看到他们对此的官方立场,我感到很惊讶。

不RHEL 6提供了LXC工具需要使用Linux容器?Red Hat将LXC描述为技术预览,建议使用libvirt来管理创建和管理容器

但是,Oracle 提倡在Unbreakable Linux中使用完全不同的容器化技术

libvirt方法中似乎缺少一些功能,但是我最初使用lxc- *命令的方法是一个手动过程……我不太清楚是什么是正确的,还是无法在EL6上管理容器的“可接受”方法。

  • 对于当今的LXC和类似RHEL的系统,传统的看法是什么?
  • 如何在组织中实施它们?
  • 与其他方法相比,一种方法有什么优势吗?
  • 这些可以共存吗?

1
libvirt有一个LXC容器驱动程序,只能控制它,它本身不是虚拟化/容器化解决方案。
Cristian Ciupitu 2014年

Answers:


7

对于当今的LXC和类似RHEL的系统,传统的看法是什么?

就个人而言,我发现当前的设置有些欠缺。LXC似乎更走在前列-当然要维护得更多。

您如何实施它们?

就提供虚拟化选项而言,我不是。我发现目前缺乏技术设置。

  • 没有用户名名称空间。
  • 某些安装点不支持名称空间(cgroups,selinux)
  • / proc中的值误导了系统全局变量,这些全局变量不考虑名称空间中的资源分区。
  • 中断审核。

我确实发现它确实是用于应用程序级别包含的好工具。我们直接使用名称空间和cgroup来包含某些用户运行的Web应用程序的网络和IPC资源。我们提供了自己的界面来控制它。在RHEL7中,我正在考虑将此功能迁移libvirt-lxclibvirt支持用户ACL概念的较新版本。

对于基于完全初始化的系统的虚拟化,我正在等待RHEL7中提供的功能,但是老实说,我认为我们只有在以后的RHEL7较小版本中才可能看到足够好的解决方案,然后也许仅在技术预览状态下。

请密切注意systemd-nspawn接下来18个月内告诉我的事情,它可能会取代它,是进行完全包含linux的虚拟化的最佳工具,因为systemd的作者现在明确表示它并不安全!如果最终会libvirt下降,libvirt-lxc而仅提供systemd-nspawn定义了系统切片的包装,我将不会感到惊讶。

另外,请注意,在过去的六个月中,关于将cgroup重新实现为内核程序员接口而不是文件系统接口(也许使用netlink或未检查)的讨论很多,因此systemd应该非常热门很快就做到了。

一种方法相对于另一种方法有什么优势?

我认为可以更好地维护LXC选项(而不是libvirt-lxc)。阅读了libvirt-lxc源代码后,感觉很着急。传统的LXC当然具有较新的功能,并且经过了更好的测试。两者都需要通过在其中运行的init系统来实现一定程度的兼容性,但是我怀疑您会发现LXC的“交钥匙”比该libvirt-lxc选项要稍微多一点,特别是在使发行版可以在其中工作的方面。

这些可以共存吗?

当然,请记住,无论出于何种意图和目的,两者都在做同一件事。组织名称空间,cgroup和挂载点。所有的原语都由内核本身处理。两种lxc实现都只是提供了一种与可用内核选项接口的机制。


9

红帽正在一个巨大的集装箱推。他们正在围绕它构建一个全新的产品,即Red Hat Enterprise Linux Atomic Host

对于不太激进的方法,请查看他们的RHEL7 beta 资源管理和Linux容器指南;您会注意到它推送了libvirt-lxc,并且没有提及lxc工具。


1
谢谢你 RHEL Atomic Host似乎严重依赖Docker.io。这是否表明Docker和相关工具是正确的前进之路?
ewwhite 2014年

Red Hat肯定在docker上进行了大量投资,但他们还是libvirt-lxc的主要开发人员。我将研究它们各自提供的功能,看看哪种更适合您的需求。
sciurus

1
是@ewwhite以下Redhat文档完全提到了这一点:access.redhat.com/articles/1365153
Susinthiran 2015年

1

lxc- *可执行文件打包在EPELlxc软件包中。但是,这是旧的“长期支持”版本。lxc-ls中甚至没有“ -f”选项。我只是为我的LXC主机安装Ubuntu。

RHEL管理LXC的方法似乎是通过libvirt-lxc进行的,但显然已弃用

注意,Ubuntu支持许多新的lxc / lxd开发,而Redhat专注于KVM和docker。


问题与RHEL 6有关,弃用代表RHEL 7«从Red Hat Enterprise Linux 7.1开始不赞成使用以下libvirt-lxc软件包:»因此可以使用
taharqa,2016年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.