2019独角兽企业重金招聘Python工程师标准>>>
最近几天在鼓捣lxc,lxc(Linux Container),是一种系统级的虚拟化解决方案,与kvm xen ,vmware不同,虚拟出独立的网络,文件系统,可以认为是c++中的独立的namespace,通过cgroup对资源进行管理和限制,我也刚研究lxc所以也不能深入了解,但是可以简单的理解为,把硬件资源在纵向切分,这样就可以独立的安装不同的容器(系统)。
在ubuntu下使用lxc非常方便,因为lxc有针对ubuntu ,fedora,debian的发行版,从安装到创建一个指定的容器,都非常方便,但是对于centos就很麻烦了,首先没有针对centos的发行版,所以需要源码安装,我下载的是lxc-0.8.0-rc2.tar.gz版本(貌似都ubuntu都出到0.9了),然后各种依赖库要自己来安装,例如gcc,libcap-devel,debootstrap (不全),其次由于没有针对centos的发行版,所有lxc默认的template中没有centos的模板,不过没关系,可以在github上找到centos的模板,下载后,直接就可以用了,这样在ubuntu上可以常见各种系统的容器了。
但是,在centos源码安装后,会很麻烦,首先需要手动创建这个目录/usr/local/var/lib/lxc,然后需要mount /cgroup这个目录,在/etc/fstab里添加一行 none /cgroup cgroup defaults 0 0,然后创建容器发现只有debian能创建成功(期间还手动安装了dkpg),后来通过修改配置文件成功创建centos容器,但是目前一直没有成功起来ubuntu的容器,启动会死在那,错误提示:init: ureadahead main process (7) terminated with status 5
貌似跟网络配置有关系,但是我屏蔽了网络(就是不设置网络)还是会死在那,目前还没有办法解决这个,在社区里提问也没人回答,貌似研究这个的不多,而且,一般用lxc就是用来隔离环境,就好像做沙箱,ubuntu可以做,还方便,就用ubuntu了,用centos看来不多。。
有谁熟悉这块可以来帮帮我!!