最近做云平台,和另一个小伙伴一起,他做php我做java。网站那块差不多弄好了,现在开始搭建java环境,最初想了很多方案,由于需要沙箱隔离,cpu,内存限制和一些资源共享,最终决定采用lxc,所谓lxc就是系统级别上的隔离,无须再硬件上做任何配置,就可以达到虚拟机的效果,当然在隔离程度上不及vmware之类,不过这样亦能满足我的云平台各种需求。。
step1:安装lxc
sudo apt-get install lxc
说明:由于在Ubuntu中通过apt-get安装lxc会自动安装lxc依赖的其他软件,debootstrap,lvm2,cgroup-lite等。
step2:lxc宿主主机配置
首先介绍几个文件夹(默认通过apt-get安装将自动生成以下文件/文件夹)
/etc/lxc/default.conf
创建容器时若未指定配置文件,则默认使用这个default.conf作为该容器的配置文件
/usr/share/lxc/templates/
该目录下保存了LXC支持的各种发行版的linux模板,通常有:
/var/lib/lxc/
这个目录是用来存放容器实例的,默认情况下该文件夹只有管理员才有权限访问读写其中文件
/var/cache/lxc/
第一次创建容器,需要下载一个mini版的容器系统,会花很长时间,创建好后,将会在该目录下创建缓存,再次创建直接采用缓存无须再网上下载,对于我的需求,我比较喜欢用lxc-clone,所有应用的容器几乎都是相同的配置,所以克隆不仅节省时间还省去大量配置的繁琐
step3:检验lxc是否已安装好
lxc-verison
如果显示 lxc version: x.x.x表示安装成功。这里x表示版本号,我安装的是lxc version:0.9.0
lxc-checkconfig
按理说所有选项都应该是enable,但是User namespace:missing,别捉急,这影响不大。有人说是内核配置的问题,有人说只在ubuntu32位系统出现。下面这段话是一个外国博友写的:
相关阅读:
Cgroup和LXC(Linux container)安装详解(CentOS 6.2) 系统