CloudStack 是一个开源的具有高可用性及扩展性的云计算平台。

目前Cloudstack支持管理大部分主流的hypervisors,如KVM,XenServer,VMware,Oracle VM,Xen等。同时CloudStack是一个开源云计算解决方案。可以加速高伸缩性的公共和私有云(IaaS)的部署、管理、配置。使用CloudStack作为基础,数据中心操作者可以快速方便的通过现存基础架构创建云服务。

我们国内用cloudstack还真的不少,现在大家都在做cloudstack api的二次开发。。。


有朋友问我cloudstack怎么操作迁移,这就详细的描述下我的过程。

下次咱们在用cloudstack api 构建和管理主机。。。。


centos6.3 cloudstack 安装文档


http://cloudstack.apache.org/docs/en-US/Apache_CloudStack/4.0.0-incubating/html-single/Installation_Guide/


api 文档地址

src http://download.cloud.com/releases/3.0.3/api_3.0.3/TOC_Root_Admin.html


他可爱的logo ~

构建私有云平台cloudstack集群配置及不中断迁移测试_第1张图片



让我们看看他支持什么 ? 下面的他虚拟系统都支持的。

构建私有云平台cloudstack集群配置及不中断迁移测试_第2张图片


下面这图很好的让我们理解,他的网络框架。

构建私有云平台cloudstack集群配置及不中断迁移测试_第3张图片


概念介绍:

Zone(区域): 是 CloudStack 部署中最大的组织单位。一个区域通常会对应到一个单一的数据中心,虽然它是允许有一个数据中心的多个区域。将基础设施组织进区域的好处是提供物理隔离

和冗余。例如,每个区域都可以有自己的电源和网络上行,区域可以被广泛的被地理分离(尽

管这不是必需的)Zone 包含一个或者多个 Pods,每个 Pod 包含一个或者多个主机组成的多个集

群,以及一个或者多个一级存储服务器。区域中被所有 pods 进行共享的二级存储

Pod: 一般代表一个机架,同一 pod 中的主机处于同一子网内

Cluster: 就是集群,由多个主机组成的集群

Host: 一个主机,集群中的主机,此处可以理解成一台装有 xenserver或KVM 的物理机器

mysql cloud db: 用于存放相关数据信息,诸如网络地址等等,可以通过 mysql 客户端登入查看相关表以及相关属性。



centos 下安装 cloudstack 管理端和受控端 ~

安装就不详细说了,大家可以看官网的介绍,说的很详细的。

我这里遇见一个奇葩的问题,就是受控端启动不了

[root@102~]# tail /var/log/cloudstack/agent/agent.log
2013-07-05 22:41:53,691 INFO  [cloud.agent.AgentShell] (main:null) Agent started
2013-07-05 22:41:53,693 INFO  [cloud.agent.AgentShell] (main:null) Implementation Version is 4.1.0
2013-07-05 22:41:53,694 INFO  [cloud.agent.AgentShell] (main:null) agent.properties found at /etc/cloudstack/agent/agent.properties
2013-07-05 22:41:53,696 INFO  [cloud.agent.AgentShell] (main:null) Defaulting to using properties file for storage
2013-07-05 22:41:53,698 INFO  [cloud.agent.AgentShell] (main:null) Defaulting to the constant time backoff algorithm
2013-07-05 22:41:53,777 INFO  [cloud.agent.Agent] (main:null) id is
2013-07-05 22:41:53,781 ERROR [cloud.resource.ServerResourceBase] (main:null) Nics are not configured!
2013-07-05 22:41:53,787 INFO  [cloud.resource.ServerResourceBase] (main:null) Designating private to be nic cloudbr0
2013-07-05 22:41:53,799 INFO  [resource.virtualnetwork.VirtualRoutingResource] (main:null) VirtualRoutingResource _scriptDir to use: scripts/network/domr/kvm
2013-07-05 22:41:54,017 ERROR [cloud.agent.AgentShell] (main:null) Unable to start agent: NO HVM support on this machine, please make sure: 1. VT/SVM is supported by your CPU, or is enabled in BIOS. 2. kvm modules are loaded (kvm, kvm_amd|kvm_intel)


确定自己是否完成的安装cloudstack 受控端。

yum remove cloudstack-agent -y
yum install kvm libvirt python-virtinst qemu-kvm -y
yum install cloudstack-agent -y
service libvirtd start
service libvirtd status
service cloudstack-agent start


我这里用的是 cloudstack 4.1 大家可以用用cloudstack 4.2

下图是我的资源:

构建私有云平台cloudstack集群配置及不中断迁移测试_第4张图片


构建私有云平台cloudstack集群配置及不中断迁移测试_第5张图片




我们测试下 动态迁移哈,也就是不中断业务的情况下。。。

我这边暂时用4台R510做的集群和私有云测试 。


构建私有云平台cloudstack集群配置及不中断迁移测试_第6张图片

源地址 http://rfyiamcool.blog.51cto.com/1030776/1303052

好,我们就迁移这一台吧~

构建私有云平台cloudstack集群配置及不中断迁移测试_第7张图片


这台服务器是在102上,我们可以用virsh list --all 看到他的情况。

构建私有云平台cloudstack集群配置及不中断迁移测试_第8张图片


选择迁移到的服务器 ~

构建私有云平台cloudstack集群配置及不中断迁移测试_第9张图片


先一直ping着要迁移的那台vm主机

构建私有云平台cloudstack集群配置及不中断迁移测试_第10张图片

大家看,已经以前过来了吧~


构建私有云平台cloudstack集群配置及不中断迁移测试_第11张图片

通过cloudstack看到的情况 !

构建私有云平台cloudstack集群配置及不中断迁移测试_第12张图片



在这里建议大家管理这些主机的时候,最好用一些个集群管理 比如 puppet,saltsatck,chef之类的工具。 大家后期可能要配置网络的安全组,要是配置不好的话,会总成ssh连接不上。。。 反正蛋疼的要命。。。当然前期是我的配置没有配置好造成的这样的原因。。。

关于模板的制作,大家可以用vsphere,kvm,xen里面现成的虚拟机的硬盘文件,打包到模板里面。


还有最主要的一点,大家线上使用前一定要做大量的测试,尽量不要顺着来,要乱七八糟的测试,锻炼自己出错的时候,该如何的解决问题。 说实话,现在做运维的哥们好多都变得浮躁起来了,包括我自己也这个德行。 会点啥玩意,就想很快的再线上用,出事了就SB了。

cloudstack 功能做的差不多了,该有的都有了,但是可玩性,要比openstack要低点。 操作和学习难度都还不错。不管怎么说,还是推荐大家看这个私有云


在国内,像中国电信这类大型企业,还有一些中小型企业,都在迅速的使用 CloudStack 来构建它们的公共云或私有云、混合云平台。在这些用户的实践中,CloudStack 对丰富种类的 Hypervisor、存储类型的支持、强大的伸缩能力和网络功能、良好的安全设计、灵活的 API 调用都令人留下深刻印象。


与 OpenStack 的竞争会是接下来几年 CloudStack 无法回避的问题,相对于对手的后发优势,CloudStack 更强调成熟的产品应用。但随着自身的开源,将来的 IaaS 市场也许会在求同方面走的更远。