热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CloudStack4.1.0的安装配置和节点管理

CloudStack是一个功能强大、UI友好的开源云(IaaS)计算解决方案。自Ctrix将CloudStack捐献给apache后,一直持续高速发展,其社区活跃度已经渐渐赶上风头一时无两的另一开源云OpenStack平台。CloudStack拥有所有开源云平台中最为友善的管理界面,而且其天

CloudStack是一个功能强大、UI友好的开源云(IaaS)计算解决方案。自Ctrix将CloudStack捐献给 apache 后,一直持续高速发展,其社区活跃度已经渐渐赶上风头一时无两的另一开源云OpenStack平台。

CloudStack拥有所有开源云平台中最为友善的管理界面,而且其天生的多语种支持会使中文用户感觉很爽。

今天我们来详细介绍一下CloudStack最新版本 4.1.0 在 CentOS 6.4 下的安装部署的步骤。鉴于网上文章一大抄,很多内容都是装来装去一大堆东西,看观们一会就晕了,根本不了解为什么装这些程序,装来是干什么的。这回呢,我会把每一步说明尽可能详细一些,外加我的经验和理解(不少心得是重装了10次以上后得出的),希望能让后来者可以少走些弯路。

CloudStack可分为管理节点安装和受控节点安装。

管理节点安装无特殊要求,完全可以安装到虚拟机环境下。

受控节点因要创建虚拟机,故需要硬件虚拟化支持,推荐使用独立主机安装。CloudStack支持多种虚拟化方案,包括:KVM、Xen、XenServer、VMware。因XenServer、VMware已包含有强大的虚拟机管理功能,CloudStack可以直接与其通信调用其管理接口,因此这两种受控机环境下,无需安装任何软件。但KVM、Xen的受控机必须安装 CloudStack-Agent 之后,才能被CloudStack管理。

本篇我们主要来讲解管理节点搭建步骤:

1、配置网卡,确保主机能上网

因我们要使用网络安装方式,所以要首先保证你的服务器可以正常联网。

2、设置主机名称

CloudStack运行时需要获取本机名称,如无法正确获取可能导致服务无法正常启动并报一大堆的错。

运行以下命令检查:

如无正常返回,请编辑 /etc/hosts 文件,添加主机ip对应的名称。

2 192.168.19.135  manage.cloudstack.com

编辑完后立即生效。如果还不成的话,重启下服务器应该就会好了。

3、配置时间同步

管理节点会通过各种协议与受控节点通讯,为了确保安全,受控节点接到命令后会进行一系列的校验,如果两机的时间不同步的话,会导致命令拒绝执行。

最简单的办法就是,所有服务器都安装 ntp实现时间的自动同步。

4、修改Linux安全设置

服务器上的SELinux会拦截CloudStack的一些命令,导致CloudStack操作失败,因此启动CloudStack前需要对SELinux进行设置。

vi /etc/selinux/config

以上修改需重启服务器才能生效,为使设置立即生效可使用下边的命令

默认情况下,CentOS的软件源中没有收录最新版本CloudStack,为了能顺利安装,我们需要手工指定软件源。

新建 /etc/yum.repos.d/cloudstack.repo 文件,内容为:

3 baseurl=http://cloudstack.apt-get.eu/rhel/4.1/

设置好源以后,我们就可以直接使用 yum安装了,非常简单方便。

安装管理节点的命令为:

1 yum install cloud-client

如果你的CentOS 是最小化安装的话,将需要安装 160 兆以上的东东,请耐心等待哈...

CloudStack使用mysql管理数据,但安装cloud-client时没有包含mysql,这时需要我们手工安装,并导入数据。这是可以理解的,因为数据库可以被安装到其它机器上。

1 yum install mysql-server

默认的,mysql有连接数限制,无法满足CloudStack管理节点的要求,需要手工设定。

vi /etc/my.cnf

增加以下内容:

1 innodb_rollback_on_timeout=1
2 innodb_lock_wait_timeout=600

注:如果没改的话会发生什么现象我没有尝试,不过还是建议按要求修改。

    max_connections的参数应设置350乘以你准备部署的管理节点的数量。这里假定只安装一个管理节点。

现在,启动 mysql 服务:

缺省安装的mysql安全级别比较低,需要手工设置mysql下密码、禁用远程访问,删除无用账户及测试数据库。方法也很简单,直接使用如下命令按向导提示一步步来即可:

1 mysql_secure_installation

数据库准备好后,需导入CloudStack的表及基础数据,这样云平台才能正常使用:

1 cloudstack-setup-databases cloud:123456@localhost --deploy-as=root:刚才设定的root密码

如果没有意外的话,最后会输出 CloudStack has successfully initialized database 字样,表示数据库已经准备好了。

到目前为止,虽然还有很多工作要做,但你现在其实已经可以登陆CloudStack控制台啦。

先启动CloudStack服务:

1 server cloudstack-management restart

启动CloudStack服务需要花点时间,这期间你可以查看下它的日志,确保它正常启动:

1 tail -100f  /var/log/cloudstack/management/catalina.out

一般情况下,它会正常启动。如果启动时报权限问题,一般是因为 cloud用户没有/var/log/cloudstack/management/ 写入权限导致。

1 chown cloud /var/log/cloudstack/ -R

启动成功能后,你现在就可以用谷歌、火狐浏览器访问管理节点啦: 

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

在文件中,增加如下内容

1 /export *(rw,async,no_root_squash)

实际建立文件夹

1 mkdir -p  /export/secondary
2 mkdir -p  /export/primary

修改 /etc/sysconfig/nfs 将其中的端口号全部打开

6 STATD_OUTGOING_PORT=2020

接着开放iptables相关端口:

vi /etc/sysconfig/iptables

01 -A INPUT -p tcp -m tcp --dport 111 -j ACCEPT
02 -A INPUT -p udp -m udp --dport 111 -j ACCEPT
03 -A INPUT -p tcp -m tcp --dport 2049 -j ACCEPT
04 -A INPUT -p tcp -m tcp --dport 32803 -j ACCEPT
05 -A INPUT -p udp -m udp --dport 32769 -j ACCEPT
06 -A INPUT -p tcp -m tcp --dport 892 -j ACCEPT
07 -A INPUT -p udp -m udp --dport 892 -j ACCEPT
08 -A INPUT -p tcp -m tcp --dport 875 -j ACCEPT
09 -A INPUT -p udp -m udp --dport 875 -j ACCEPT
10 -A INPUT -p tcp -m tcp --dport 662 -j ACCEPT
11 -A INPUT -p udp -m udp --dport 662 -j ACCEPT

service iptables restart

启动NFS服务:

设置服务为自动重启

CloudStack有一个全局属性来控制二级存储所在的网段。如果这个网段没配或配置的不对,将可能无法成功能添加到二级存储。

登陆 CloudStack 管理页面,选择“全局设置”,在右上边的搜索框中输入 sites 搜索。

修改 secstorage.allowed.internal.sites 为二级存储当前网段,如 192.168.0.0/24

搜索 local,修改system.vm.use.local.storage 为 true,允许系统虚机使用本地存储。

修改后,重启 CloudStack 生效。

1 server cloudstack-management restart

系统虚机在CloudStack中扮演着重要的角色,如系统虚机没有正确导入,CloudStack将无法管理二级存储,也就无法完成导入模板、创建新的虚机等操作。

系统虚机文件很大,没有包含在CloudStack安装程序中,需要我们手工下载并导入。

因系统虚机需要存放在二级存储上,故需先mount 二级存储到本地硬盘

2 mount -t nfs 127.0.0.1:/export/secondary /tmp/iso
3 cd /usr/share/cloudstack-common/scripts/storage/secondary/

不同的虚拟机实现方案系统虚机模板也是不同的

如果你的受控机使用 KVM,则使用下面的命令:

1 ./cloud-install-sys-tmplt -m /tmp/iso/ -u http://download.cloud.com/templates/acton/acton-systemvm-02062012.qcow2.bz2 -h kvm -F

如果你的受控机使用XenServer,则使用下面的命令:

1 ./cloud-install-sys-tmplt -m /tmp/iso/ -u http://download.cloud.com/templates/acton/acton-systemvm-02062012.vhd.bz2 -h xenserver -F

如果你的受控机使用vCenter,则使用下面的命令:

1 ./cloud-install-sys-tmplt -m /tmp/iso/ -u http://download.cloud.com/templates/burbank/burbank-systemvm-08012012.ova -h vmware -F

文件较大,需耐心等待.……

当然,你也可以把文件下载到本地,然后用 -f 参数导入。如:

1 ./cloud-install-sys-tmplt -m /tmp/iso/ -f /var/acton-systemvm-02062012.qcow2.bz2 -h kvm -F

好了,现在CloudStack管理节点所有的准备工作都已经完成了。接下来你就可以添加自己的第一个“区域”了。

这步的操作方法,CloudStack中已经提供了一个非常友好的向导,可以帮助你正确完成添加。另外,网上也有一大堆的文章介绍,我就不详细说了,等将来有机会时我再给大家介绍下CloudStack高级网络域的相关功能及添加方法。

1、管理节点的webui 无法访问

检查iptables是否阻挡了8080端口。检查cloudstack-management服务是否正常启动。

1 server cloudstack-management status

如果启动状态不正常,则需要检查一下日志。

日志位于 /var/log/cloudstack/management/catalina.out 。根据日志中的错误提示,进行相应的处理,绝大多数问题都可以得到解决。

如果日志信息不够详细,可以修改 /etc/cloudstack/management/log4j-cloud.xml来调整日志的输出级别。

2、登陆时提示用户名密码不正确。

默认的登陆用户名为 admin 密码是 password 

如果登陆时提示不正确,可能是导入基础数据库时有的问题。

重新导入基础数据库:

1 cloudstack-setup-databases cloud:123456@localhost --deploy-as=root:root密码

如果还不行,参考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

2 drop database cloud_usage;
3 drop database cloudbridge;

重新导入基础数据:

1 cloudstack-setup-databases cloud:123456@localhost --deploy-as=root:root密码

重新导入系统虚机:

1 mount -t nfs 127.0.0.1:/export/secondary /tmp/iso
3 cd /usr/share/cloudstack-common/scripts/storage/secondary/

参考第7节,导入相应的系统虚机模板。

重启cloudstack服务

1 service cloudstack-management start

这时,你再登陆就会发现一个全新的CloudStack啦。

6、CloudStack的区域、提供点等无法用中文命名

CloudStack在4.1以前的版本中,区域、提供点等均可使用中文命名,但4.1版本时却不知为何做了限制,蛋疼。

如果在意这个功能,请使用4.1以前的版本。推荐使用 4.0.2版。


推荐阅读
  • 项目运行环境配置及可行性分析
    本文介绍了项目运行环境配置的要求,包括Jdk1.8、Tomcat7.0、Mysql、HBuilderX等工具的使用。同时对项目的技术可行性、操作可行性、经济可行性、时间可行性和法律可行性进行了分析。通过对数据库的设计和功能模块的设计,确保系统的完整性和安全性。在系统登录、系统功能模块、管理员功能模块等方面进行了详细的介绍和展示。最后提供了JAVA毕设帮助、指导、源码分享和调试部署的服务。 ... [详细]
  • Tomcat安装与配置教程及常见问题解决方法
    本文介绍了Tomcat的安装与配置教程,包括jdk版本的选择、域名解析、war文件的部署和访问、常见问题的解决方法等。其中涉及到的问题包括403问题、数据库连接问题、1130错误、2003错误、Java Runtime版本不兼容问题以及502错误等。最后还提到了项目的前后端连接代码的配置。通过本文的指导,读者可以顺利完成Tomcat的安装与配置,并解决常见的问题。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 本文介绍了使用cacti监控mssql 2005运行资源情况的操作步骤,包括安装必要的工具和驱动,测试mssql的连接,配置监控脚本等。通过php连接mssql来获取SQL 2005性能计算器的值,实现对mssql的监控。详细的操作步骤和代码请参考附件。 ... [详细]
  • iOS超签签名服务器搭建及其优劣势
    本文介绍了搭建iOS超签签名服务器的原因和优势,包括不掉签、用户可以直接安装不需要信任、体验好等。同时也提到了超签的劣势,即一个证书只能安装100个,成本较高。文章还详细介绍了超签的实现原理,包括用户请求服务器安装mobileconfig文件、服务器调用苹果接口添加udid等步骤。最后,还提到了生成mobileconfig文件和导出AppleWorldwideDeveloperRelationsCertificationAuthority证书的方法。 ... [详细]
  • MySQL语句大全:创建、授权、查询、修改等【MySQL】的使用方法详解
    本文详细介绍了MySQL语句的使用方法,包括创建用户、授权、查询、修改等操作。通过连接MySQL数据库,可以使用命令创建用户,并指定该用户在哪个主机上可以登录。同时,还可以设置用户的登录密码。通过本文,您可以全面了解MySQL语句的使用方法。 ... [详细]
  • 分享css中提升优先级属性!important的用法总结
    web前端|css教程css!importantweb前端-css教程本文分享css中提升优先级属性!important的用法总结微信门店展示源码,vscode如何管理站点,ubu ... [详细]
  • Python项目实战10.2:MySQL读写分离性能优化
    本文介绍了在Python项目实战中进行MySQL读写分离的性能优化,包括主从同步的配置和Django实现,以及在两台centos 7系统上安装和配置MySQL的步骤。同时还介绍了创建从数据库的用户和权限的方法。摘要长度为176字。 ... [详细]
  • 在IDEA中运行CAS服务器的配置方法
    本文介绍了在IDEA中运行CAS服务器的配置方法,包括下载CAS模板Overlay Template、解压并添加项目、配置tomcat、运行CAS服务器等步骤。通过本文的指导,读者可以轻松在IDEA中进行CAS服务器的运行和配置。 ... [详细]
  • POCOCLibraies属于功能广泛、轻量级别的开源框架库,它拥有媲美Boost库的功能以及较小的体积广泛应用在物联网平台、工业自动化等领域。POCOCLibrai ... [详细]
author-avatar
飘泊的牛小盆友
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有