目录:
一、前期准备
1、配置网卡,确保主机能上网
2、设置主机名称
3、配置时间同步
4、修改Linux安全设置
二、更新 yum 仓库
三、安装管理节点
四、配置数据库
五、登陆WEB-UI
六、安装网络存储
七、导入系统虚拟机模板
八、添加“基础架构”
附,可能遇到的问题:
1、管理节点的webui 无法访问
2、登陆时提示用户名密码不正确。
3、CloudStack不能添加主存储或二级存储
4、CloudStack无法导入IOS或虚拟机模板
5、CloudStack如何重装
6、CloudStack的区域、提供点等无法用中文命名
CloudStack是一个功能强大、UI友好的开源云(IaaS)计算解决方案。自Ctrix将CloudStack捐献给apache后,一直持续高速发展,其社区活跃度已经渐渐赶上风头一时无两的另一开源云OpenStack平台。
CloudStack拥有所有开源云平台中最为友善的管理界面,而且其天生的多语种支持会使中文用户感觉很爽。
今天我们来详细介绍一下CloudStack最新版本4.1.0在CentOS6.4下的安装部署的步骤。鉴于网上文章一大抄,很多内容都是装来装去一大堆东西,看观们一会就晕了,根本不了解为什么装这些程序,装来是干什么的。这回呢,我会把每一步说明尽可能详细一些,外加我的经验和理解(不少心得是重装了10次以上后得出的),希望能让后来者可以少走些弯路。
CloudStack可分为管理节点安装和受控节点安装。
管理节点安装无特殊要求,完全可以安装到虚拟机环境下。
受控节点因要创建虚拟机,故需要硬件虚拟化支持,推荐使用独立主机安装。CloudStack支持多种虚拟化方案,包括:KVM、Xen、XenServer、VMware。因XenServer、VMware已包含有强大的虚拟机管理功能,CloudStack可以直接与其通信调用其管理接口,因此这两种受控机环境下,无需安装任何软件。但KVM、Xen的受控机必须安装CloudStack-Agent之后,才能被CloudStack管理。
推荐阅读:
CloudStack 4.0 + KVM 安装详细指南/Linux/-06/85750.htm
CloudStack部署手册 PDF清晰版/Linux/-06/86114.htm
安装部署CloudStack 4.0企业私有云平台/Linux/-06/85748.htm
CloudStack安装部署与常见问题解决/Linux/-06/85746.htm
本篇我们主要来讲解管理节点搭建步骤:
一、前期准备
1、配置网卡,确保主机能上网
因我们要使用网络安装方式,所以要首先保证你的服务器可以正常联网。
2、设置主机名称
CloudStack运行时需要获取本机名称,如无法正确获取可能导致服务无法正常启动并报一大堆的错。
运行以下命令检查:
如无正常返回,请编辑/etc/hosts文件,添加主机ip对应的名称。
编辑完后立即生效。如果还不成的话,重启下服务器应该就会好了。
3、配置时间同步
管理节点会通过各种协议与受控节点通讯,为了确保安全,受控节点接到命令后会进行一系列的校验,如果两机的时间不同步的话,会导致命令拒绝执行。
最简单的办法就是,所有服务器都安装ntp实现时间的自动同步。
4、修改Linux安全设置
服务器上的SELinux会拦截CloudStack的一些命令,导致CloudStack操作失败,因此启动CloudStack前需要对SELinux进行设置。
vi /etc/selinux/config
以上修改需重启服务器才能生效,为使设置立即生效可使用下边的命令
二、更新yum仓库
默认情况下,CentOS的软件源中没有收录最新版本CloudStack,为了能顺利安装,我们需要手工指定软件源。
新建 /etc/yum.repos.d/cloudstack.repo 文件,内容为:
三、安装管理节点
设置好源以后,我们就可以直接使用yum安装了,非常简单方便。
安装管理节点的命令为:
如果你的CentOS是最小化安装的话,将需要安装160兆以上的东东,请耐心等待哈...
四、配置数据库
CloudStack使用mysql管理数据,但安装cloud-client时没有包含mysql,这时需要我们手工安装,并导入数据。这是可以理解的,因为数据库可以被安装到其它机器上。
默认的,mysql有连接数限制,无法满足CloudStack管理节点的要求,需要手工设定。
vi /etc/f
增加以下内容:
注:如果没改的话会发生什么现象我没有尝试,不过还是建议按要求修改。
max_connections的参数应设置350乘以你准备部署的管理节点的数量。这里假定只安装一个管理节点。
现在,启动 mysql服务:
缺省安装的mysql安全级别比较低,需要手工设置mysql下密码、禁用远程访问,删除无用账户及测试数据库。方法也很简单,直接使用如下命令按向导提示一步步来即可:
数据库准备好后,需导入CloudStack的表及基础数据,这样云平台才能正常使用:
如果没有意外的话,最后会输出 CloudStack has successfully initialized database 字样,表示数据库已经准备好了。
五、登陆WEB-UI
到目前为止,虽然还有很多工作要做,但你现在其实已经可以登陆CloudStack控制台啦。
先启动CloudStack服务:
报错说tomcat错误 解决
[root@cloudstack~]#cp/etc/cloudstack/management/tomcat6-nonssl.conf /etc/cloudstack/management/tomcat6.conf
[root@cloudstack~]# cp /usr/share/cloudstack-management/conf/server-nonssl.xml /usr/share/cloudstack-management/conf/server.xml
启动CloudStack服务需要花点时间,这期间你可以查看下它的日志,确保它正常启动:
一般情况下,它会正常启动。如果启动时报权限问题,一般是因为 cloud用户没有/var/log/cloudstack/management/写入权限导致。
启动成功能后,你现在就可以用谷歌、火狐浏览器访问管理节点啦:
http://管理节点ip:8080/client
注:IE访问可能有兼容性问题。
Cloudstack基于tomcat提供web服务,默认使用了8080端口。如果你想改用其它端口,可以修改/etc/tomcat6/server.xml 文件进行配置。
Cloudstack 默认安装在 /etc/cloudstack/management 目录下,你可以通过修改 log4j-cloud.xml 文件来调整日志的输出级别、路径等。
CloudStack原生支持中文,怎么样看着亲切吧?
默认的用户名为admin密码是password。
初次登陆时会显示向导页面,一步步引导你创建第一个基础架构。目前我们的准备工作尚未完成,还无法正确添加,因此这里先选择跳过。
登陆后点击“基础架构”,CloudStack资源管理的功能都在“基础架构”下。
其中,“区域”可以理解为一个机房;
“提供点”可以理解为一个机架;
“群集”是机架中主机的分组管理;
“主存储”是网络存储,主要用于存放虚拟机硬盘的,当然你也可以使用本地存储;
“二级存储”也是网络存储,主要用于存在虚拟机模板、快照的。
“系统VM”是CloudStack自带的专用虚机,用于管理二级存储及远程终端。其中二级存储虚机必须正常启动模板等一干功能才可用。远程终端虚机正常启动后,才能通过WEB页面直接访问虚机控制台。
“虚拟路由器”也是CloudStack自带的专用虚机。主要用于网络隔离、端口转发等网络相关功能。
根据以上的介绍,想添加新的“区域”还必须依赖于网络存储、系统虚机的支持,因此各位看官还需继续努力哦。
六、安装网络存储
主存储由于可使用本地存储,故可不添加,但二级存储只能使用网络存储。
CloudStack支持多种网络存储协议,如iSCSI、NFS、VMFS等。由于NFS简单易用,推荐使用NFS搭建网络存储。
安装NFS服务:
编辑 /etc/export 文件,设置主存储和二级存储的路径
# vi /etc/exports
在文件中,增加如下内容
实际建立文件夹
修改 /etc/sysconfig/nfs 将其中的端口号全部打开
接着开放iptables相关端口:
vi /etc/sysconfig/iptables
service iptables restart
启动NFS服务:
设置服务为自动重启
CloudStack有一个全局属性来控制二级存储所在的网段。如果这个网段没配或配置的不对,将可能无法成功能添加到二级存储。
登陆CloudStack管理页面,选择“全局设置”,在右上边的搜索框中输入sites 搜索。
修改 secstorage.allowed.internal.sites 为二级存储当前网段,如 192.168.0.0/24
搜索local,修改system.vm.use.local.storage 为true,允许系统虚机使用本地存储。
修改后,重启CloudStack生效。
七、导入系统虚拟机模板
系统虚机在CloudStack中扮演着重要的角色,如系统虚机没有正确导入,CloudStack将无法管理二级存储,也就无法完成导入模板、创建新的虚机等操作。
系统虚机文件很大,没有包含在CloudStack安装程序中,需要我们手工下载并导入。
因系统虚机需要存放在二级存储上,故需先mount 二级存储到本地硬盘
不同的虚拟机实现方案系统虚机模板也是不同的
如果你的受控机使用KVM,则使用下面的命令:
如果你的受控机使用XenServer,则使用下面的命令:
如果你的受控机使用vCenter,则使用下面的命令:
文件较大,需耐心等待.……
当然,你也可以把文件下载到本地,然后用-f参数导入。如:
八、添加“基础架构”
好了,现在CloudStack管理节点所有的准备工作都已经完成了。接下来你就可以添加自己的第一个“区域”了。
这步的操作方法,CloudStack中已经提供了一个非常友好的向导,可以帮助你正确完成添加。另外,网上也有一大堆的文章介绍,我就不详细说了,等将来有机会时我再给大家介绍下CloudStack高级网络域的相关功能及添加方法。
附,可能遇到的问题:
1、管理节点的webui无法访问
检查iptables是否阻挡了8080端口。检查cloudstack-management服务是否正常启动。
如果启动状态不正常,则需要检查一下日志。
日志位于 /var/log/cloudstack/management/catalina.out 。根据日志中的错误提示,进行相应的处理,绝大多数问题都可以得到解决。
如果日志信息不够详细,可以修改 /etc/cloudstack/management/log4j-cloud.xml来调整日志的输出级别。
2、登陆时提示用户名密码不正确。
默认的登陆用户名为admin密码是password。
如果登陆时提示不正确,可能是导入基础数据库时有的问题。
重新导入基础数据库:
如果还不行,参考5将数据库删掉再重新导入。
3、CloudStack不能添加主存储或二级存储
检查/etc/sysconfig/nfs配置文件是否把端口都开放了。
检查iptables是否有阻挡。
检查CloudStack的“全局设置”,secstorage.allowed.internal.sites属性是否设置正确。
4、CloudStack无法导入IOS或虚拟机模板
创建好“基础架构”后,就可以导入ISO文件或虚拟机模板,为创建虚机做准备了。
如果你发现注册ISO或注册模板时,状态字段一直不动,已就绪永远都是no,那一般都是因为二级存储有问题或Secondary Storage VM 有问题了。
选择“控制板”->系统容量,检查二级存储容量是否正确。
检查系统VM中的Secondary Storage VM是否正常启动。
5、CloudStack如何重装
安装完CloudStack后,我们往往会做各种实验,可能会把系统搞得很乱。想删除的话非常麻烦,因为它们之间往往存在层级关系,必须先从最底层删起。有没简单的办法直接推倒重来呢?答案是有的,最简单只要重置下其数据库即可。
先停掉CloudStack服务:
service cloudstack-management stop
登陆mysql控制台,删除数据库:
mysql -u root -p
重新导入基础数据:
重新导入系统虚机:
参考第7节,导入相应的系统虚机模板。
重启cloudstack服务
这时,你再登陆就会发现一个全新的CloudStack啦。
6、CloudStack的区域、提供点等无法用中文命名
CloudStack在4.1以前的版本中,区域、提供点等均可使用中文命名,但4.1版本时却不知为何做了限制,蛋疼。
如果在意这个功能,请使用4.1以前的版本。推荐使用4.0.2版。
KVM
目录:
一、环境检测
二、安装KVM相关组件
三、安装NTP时间同步
四、设置主机名称
五、配置yum仓库
六、安装agent
七、修改安全策略
八、添加主机
附,可能遇到的问题:
1、在管理节点中添加主机失败
2、Unable to start agent: Failed to get private nic name
3、Failed to create vnet
CloudStack是一个功能强大、UI友好的开源云(IaaS)计算解决方
KVM(kernel-based Virtual Machine)是一个开源的系统虚拟化平台,自Linux 2.6.20之后已集成到Linux内核中,因它使用Linux自身的调度器进行管理,所以相对于的虚拟化解决方案而言,其核心源码很少也更加的稳定。
CloudStack支持与多种虚拟化解决方案的集成。
CloudStack+KVM是最佳的黄金组合!他们都功能强大且免费,你可以毫无顾忌地随意部署安装而不必害怕有人找你要授权费。KVM一直以来没有好的免费的集群管理工具,现在加上CloudStack后,如虎添翼,比起VCenter、XenCenter这类强力商业软件来讲也毫不逊色。
今天我们来主要介绍CloudStack受控端为KVM节点时的安装方法。鉴于网上文章一大抄,很多内容都是装来装去一大堆东西,看观们一会就晕了,根本不了解为什么装这些程序,装来是干什么的。这回呢,我会把每一步说明尽可能详细一些,外加我多次重装后得到的经验和教训,希望能让后来者可以少走些弯路。
一、环境检测
KVM虚拟化需要硬件的支持,因此首先需要检查下你的服务器是否可以支持它,如果这步都过不去的话,那么下面的内容就不必再看了。
检查方法:
如果执行后能显示出东西,那么恭喜你,可以跟我继续啦。Let’s go!
二、安装KVM相关组件
CentOS直接提供KVM程序源,直接安装就是了。
得益于Linux内核的支持,KVM相关包都不大,这步应该可以很快完成。
装好后为保证管理节点可以正常调用,还需要开放相关端口。
vi /etc/libvirt/libvirtd.conf 去掉如下内容的注释:
vi /etc/sysconfig/libvirtd
vi /etc/libvirt/qemu.conf
现在,可以启动虚拟机服务啦:
测试一下是否成功:
三、安装NTP时间同步
管理节点会通过各种协议与受控节点通讯,为了确保安全,受控节点接到命令后会进行一系列的校验,如果两机的时间不同步的话,会导致命令拒绝执行。因此,最简单的办法就是所有的机器都安装NTP服务,自动完成时间同步。
当然,如果你可以保证两机时间相差不大的情况下,此步可以忽略。
安装方法
四、设置主机名称
CloudStack管理节点添加主机时要获取受控端本机名称,如无法正确获取会导致无法正常添加,Agent启动时也会报一大堆的错。
运行以下命令检查:
如无正常返回,请编辑/etc/hosts文件,添加主机ip对应的名称。如:
192.168.19.160
编辑完后立即生效。如果还不成的话,重启下服务器应该就会好了。
注意:在CloudStack中添加受控机时,会自动将名称代入。因此千万别偷懒,一定要为每台机器设置不同的名称,否则你将会在管理后台面对一堆同名主机列表而感到无奈~~~
五、配置yum仓库
默认情况下,CentOS的软件源中没有收录最新版本CloudStack,为了能顺利安装,我们需要手工指定软件源。
新建 /etc/yum.repos.d/cloudstack.repo 文件,内容为:
六、安装agent
KVM不像XenServer、VCenter等已经内置了强大的管理功能,因此必须安装一个CloudStack代理来完成主控端发来的指令。
直接通过仓库安装:
这个安装包比较大,如果你的网络是小水管的话,那么你现在可以去泡杯茶、抽根烟休息一下啦。
注意:安装完cloud-agent后无需启动,等管理节点中添加主机时会自动启动。
默认的安装目录:/etc/cloudstack/agent
CloudStack是通过log4j来输出日志的,因此你可以通过修改log4j-cloud.xml 文件来调整日志的输出结构。
七、修改安全策略
默认的SELinux安全策略会限制CloudStack操作,因此需要调整:
vi /etc/selinux/config
以上修改需重启服务器才能生效,为使设置立即生效可使用下边的命令
另需要在 iptables中把一些端口打开:
八、添加主机
好了,到目前为止,你的准备工作已经完成了。
如果创建的是简单网络域的话,你现在就可以在管理节点的WEBUI中顺利添加这台受控主机啦。这步的操作方法非常简单,CloudStack中有一个非常友好的向导,应该可以帮助你正确完成添加。另外,网上也有一大堆的文章介绍,我就不详细说了,等将来有机会时我再给大家介绍下CloudStack高级网络域的相关功能及添加方法。
附,可能遇到的问题:
1、在管理节点中添加主机失败
如果很不幸,添加主机时失败,请不要慌张,这个问题应该不难解决,先看下日志。
管理节点日志在
/var/log/cloudstack/management/catalina.out
受控节点日志在:
/var/log/cloudstack/agent/cloudstack-agent.out
认真反复分析日志,你会找到答案,然后水平提到升华~~~
2、Unable to start agent: Failed to get private nic name
如果你是初学,在设置网络时千万别乱选。尤其是别随便指定流量标签。
在CloudStack中,流量标签是同受控主机的网桥相关的,如果设置了流量标签,则受控机必须设置相应的网桥。
cloudstack4.1的agent在启动时,默认会自动创建cloudbr0和cloudbr1两个网桥。
如果想修改成其他名字,那么需要在配置文件里面指定:
vi /etc/cloudstack/agent/agent.properties
修改下面两个参数
如果网桥指定错误的话,那么就会出现上面的错误。
3、Failed to create vnet
如果你再尝试创建高级网络,出现的如上的错误,那是因为你没有安装vconfig程序。
vCenter
目录:
一、VMware环境的准备
二、与CloudStack系统整合
附,可能遇到的问题:
1、添加vCenter失败
2、整合后在vCenter中创建的虚拟机CloudStack能管理起来吗?
VMware是世界上顶尖的提供虚拟化和云计算解决方案的商业公司,在全球拥有400,000多家客户和55,000多家合作伙伴。若干个产品套系,几十种软件可以提供从单机虚拟化到云端的完整解决方案。
它的产品功能太过强悍,如果你们公司已经买了它,那么基本上也就没有CloudStack什么事了。但同时,它也非常昂贵!一整套VMware产品要几十万到200万,还不包括其它相关的服务费。现在市场上, 即使是北京、香港等高收入的城市,很多企业也买不起VMware的产品,他们很多时候只能用VMware阉割过的免费版,或河蟹过的版本。
CloudStack云平台支持多种虚拟化解决方案,甚至支持多种异构虚拟化系统的整合。你可以在CloudStack创建的同一个集群中实现,A机架中的主机使用KVM方案,B机架中的主机采用vCenter管理。如此将可以实现很好的过渡,让您有充足的时间从昂贵的VMware迁移到免费的虚拟化解决方案中来。
今天我们将主要介绍CloudStack与VMware的vCenter整合。鉴于网上文章一大抄,很多内容存在误导,出了错都不知道问题在哪。这回呢,我会把每一步说明尽可能详细一些,加上我多次重装后得到的经验和教训,希望能让后来者可以少走些弯路。
一、VMware环境的准备
VMware环境的搭建比较简单,网上相关介绍的文章也很多,这里我就不重复说明了。
如果你想使用VMware vSphere的虚拟机管理程序运行来宾虚拟机,安装vSphere在云主机上的。
要求:
已经安装好 vSphere 和 vCenter,要求版本在 4.1以上。
必须使用vCenter标准的443端口,已便CloudStack与之通讯。
CloudStack目前只支持ESXi,ESX的不行。
vCenter需要创建单独的集群供CloudStack使用,集群中已经添加ESXi主机,但不能有任何已经创建的虚拟机。
二、与CloudStack系统整合
登陆CloudStack控制台,选择“基础架构”,开始添加你的“区域”。
向导的第4步就是添加“集群”。
注意,这里的“集群名称”必须和vCenter中建立的集群名称一致,“vCenter数据中心”也要和vCenter中的数据中心名称一致,否则必将添加不成功。
与vCenter整合时,没有添加“主机”的过程,所有的主机都由vCenter自行管理。因此你要保证集群中已经加入了ESXi的主机。
只要你填写正确,相信可以很顺利的完成集成了。
附,可能遇到的问题:
1、添加vCenter失败
vCenter必须开放标准的443端口。
添加vCenter节点时,填写的“集群名称”、“vCenter数据中心”必须同vCenter中保持一致。
另外集群中确保没有已经创建的虚拟机。
2、整合后在vCenter中创建的虚拟机CloudStack能管理起来吗?
不行,CloudStack只能管理自己创建的虚机,自行在vCenter中创建的虚机无法管理。
但是vCenter中动态增、减的主机,CloudStack可以感知的到,并可自动管理起来