LXC
1 lxc是什么?
lxc是linux container的简称,是一种基于容器的操作系统层级的虚拟化技术
2 lxc可以做什么?
lxc可以在操作系统层次上为进程提供虚拟的执行环境,一个虚拟的执行环境就是一个容器。可以为容器绑定特定的cpu和memory节点,分配特定比例的cpu时间、I/O时间,限制可以使用的内存大小(包括内存和swap空间),提供device访问控制,提供独立的namespace(网络,pid,ipc,mnt,uts)。
3 lxc如何实现?
SourceForge上 有lxc这个开源项目,但是lxc项目本身只是一个为用户提供一个用户空间的工具集,用来使用和管理lxc容器。
lxc在资源管理方面依赖linux内核的cgroups子系统,cgroups子系统是linux内核提供的一个基于进程组的资源管理的框架,可以为特定的进程组限定可以使用的资源。lxc在隔离控制方面依赖于linux内核的namespace特性,具体而言就是在clone时加入相应的flag(NEWNS NEWPID etc)
4为什么要选择lxc?
lxc是所谓和操作系统层次的虚拟化技术,与传统的HAL(硬件抽象层)层次的虚拟化技术相比有以下优势:
1) 更小的虚拟化开销
2) 快速部署。利用lxc来隔离特定应用,只需要安装lxc,即可使用lxc相关命令来创建并启动容器来为应用提供虚拟执行环境。传统的虚拟化技术则需要创建虚拟机,然后安装系统,在部署应用。
lxc跟其他操作系统层次的虚拟化技术相比,最大的优势在于lxc被整合进内核,不用单独为内核打补丁。
5 如何使用lxc?
cgroups和lxc的安装
lxc常用命令
lxc配置文件简介
lxc网络配置实例