说明:本文主要是记录一下CloudStack(CS)添加LXC主机并创建LXC容器的过程
CloudStack版本为4.9.2.0
名词解释:
LXC指的是LXC容器的管理工具项目
LXC容器指利用管理工具创建的可运行应用程序的类虚拟机实例
详细步骤
一、准备LXC主机
LXC容器的实现主要依赖内核部分的cgroups和namespace 功能以及管理工具(主要有LXC和libvirt),而CS是利用libvirt来管理LXC容器
所以利用较新的linux版本只需要安装libvirt以及Qemu/KVM就可以了
由于我本次测试的机器本来就是一台KVM主机,所以不需要安装任何软件就无缝转为LXC主机
唯一要做的是修改Agent的配置文件/etc/cloudstack/agent/agent.properties的hypervisor.type为lxc,然后重启Agent就可以将其添加到CS的LXC集群中
具体可参考官方文档http://cloudstack-installation.readthedocs.io/en/latest/hypervisor/lxc.html
二、准备LXC模板
从CS添加LXC模板的页面可知,需要tar格式的模板
具体可参考https://cwiki.apache.org//confluence/display/CLOUDSTACK/LXC+Template+creation
主机操作系统为CentOS Linux release 7.2.1511 (Core)
1、创建目录
mkdir -p /var/lib/libvirt/lxc/centos-7-x86_64/etc/yum.repos.d/
cat /etc/yum.repos.d/CentOS-Base.repo |sed s/'$releasever'/7.2.1511/g > /var/lib/libvirt/lxc/centos-6-x86_64/etc/yum.repos.d/CentOS-Base.repo
yum groupinstall core --installroot=/var/lib/libvirt/lxc/centos-7.2.1511-x86_64/ --nogpgcheck -y
4、更改根目录(主要是为了设置root密码)
chroot /var/lib/libvirt/lxc/centos-7.2.1511-x86_64/
passwd root
6、设置好之后Ctrl+d 退出
7、压缩成tar文件
cd /var/lib/libvirt/lxc/centos-7.2.1511-x86_64/
tar -cvzf centos-7.2.1511-x86_64.tar.gz *
8、接着就可以将该tar文件注册到CS中作为LXC的模板
9、参照创建其他虚拟化类型的虚拟机同样的步骤去创建LXC容器就可以了(LXC容器在CS中也视为一个虚拟机实例)
三、连接到LXC容器
可参考http://libvirt.org/drvlxc.html#usageView
当容器创建成功之后登录主机通过如下命令可连接到LXC容器
virsh -c lxc:/// console myguest
root密码为步骤二中设置的密码
至此,你就可以在新建的容器中去安装你想要运行的软件了
注意事项:LXC 主存储只支持NFS和SharedMountPoint