轻量级隔离Linux环境


15

我想要在我的计算机上隔离一个(来宾)Linux环境,这样我就可以搞乱而不用担心主机。例如,从源代码安装很多东西,而没有包管理,污染环境环境变量等,然后在旧客户过于混乱时生成另一个客户环境。

在Tinycore linux上使用Virtualbox时我玩得很开心,但是至少在使用方式上,我认为Virtualbox的开销并不是完全必要的。一方面,如果可能的话,我想使用与主机相同的内核。

另外,当我完成Linux From Scratch教程时,我学到了一些有关的知识chroot,这似乎是我想要的。老实说,在LFS中我并没有真正了解很多,chroot是其中之一。chroot如果我不那么担心,那可能会破坏我当前的环境,我会尝试一下。

因此,我正在寻找一种虚拟化程序,该程序利用我在linuxbox上的事实(我正在使用PinguyOS btw)来加快虚拟化速度,或者是有关如何将chroot用作独立操场的参考。

Answers:


16

Chroot是最适合您的最轻便的环境。它允许您使用相同的用户,相同的网络配置等来安装另一个发行版(或相同发行版的另一个安装)。Chroot仅在文件系统级别提供一些粗略的隔离。如果您仍然不确定chroot可以做什么和不能做什么,浏览此站点的chroot可能会有所帮助。

如果您正在寻找下一步,LXC现在已包含在内核主线中。LXC来宾(称为容器)具有其自己的文件系统,进程和网络空间。容器中的根也位于主机上。LXC可以防止来宾root采取许多意外措施,但不能防止恶意来宾root(这是计划中的功能,请注意此空间)。

VServerOpenVZ是与LXC有点相似的其他技术。检查点:OpenVZ提供但VServer或LXC不提供的一项重要功能:您可以对正在运行的计算机进行快照,然后再将其还原。还有一种选择是用户模式Linux,它可以在主机中以普通用户身份运行的进程中运行完整的Linux系统。

为了尝试其他操作系统安装,chroot很好。如果要在实验性安装中运行服务或玩网络游戏,请使用LXC。如果需要快照,请使用OpenVZ。如果您想要一个完全独立的内核,却需要很少的内存开销,请使用用户模式Linux。如果要快照和单独的内核,请使用VirtualBox。


LXC现在支持快照。
baptx

5

Docker使LXC易于使用:

显着特点

文件系统隔离:每个进程容器都在完全独立的根文件系统中运行。

资源隔离:可以使用cgroup将cpu和内存等系统资源分配给每个进程容器。

网络隔离:每个进程容器在其自己的网络名称空间中运行,并具有自己的虚拟接口和IP地址。

写入时复制:根文件系统是使用写入时复制创建的,这使得部署极其快速,内存便宜且磁盘便宜。

日志记录:收集并记录每个过程容器的标准流(stdout / stderr / stdin),以进行实时或批量检索。

变更管理:可以将对容器文件系统的更改提交到新映像中,然后重新使用以创建更多容器。无需模板或手动配置。

交互式外壳:docker可以分配一个伪tty,并附加到任何容器的标准输入,例如运行一个一次性交互式外壳。

引擎盖下

在后台,Docker基于以下组件构建:

  • Linux内核的cgroup和命名空间功能

  • AUFS,具有写时复制功能的强大联合文件系统

  • Go编程语言

  • lxc,一组简化了Linux容器创建的便捷脚本。


1
这不能为问题提供答案。要批评或要求作者澄清,请在其帖子下方发表评论。
Anthon

@Anthon:为什么没有答案?请求的是“内核与我的主机相同”的“隔离(来宾)Linux环境”。
Janus Troelsen,

@JanusTroelsen,“可能会删除根本没有回答问题的答案。其中包括的答案……仅是指向外部站点的链接而已” – 常见问题解答请解释Docker的功能以及它与其他类似软件的不同之处。
manatwork

2

查看OpenVZ或Linux容器,这两种容器均实现了轻量级的伪虚拟环境,在公共内核上具有唯一的用户权限。

OpenVZ在此阶段更加成熟。


是的,甚至用于产品...我建议Xen用于更严格的用法。
Aki 2012年

0

也许这可以帮助您:aufs:高级的多层统一文件系统

您的系统处于较低级别。在其之上,您可以挂载aufs文件系统。仅在此aufs文件系统上进行修改(写入),而不会更改其下的“真实”文件系统。

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.