设为首页 收藏本站
查看: 1405|回复: 0

[Cloudstack] 开源云平台 CloudStack 4.1.0 安装详解

[复制链接]

尚未签到

发表于 2015-10-13 12:33:21 | 显示全部楼层 |阅读模式
一、前期准备
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 在 CentOS 6.4 下的安装部署的步骤。鉴于网上文章一大抄,很多内容都是装来装去一大堆东西,看官们一会就晕了,根本不了解为什么装这些程序,装来是干什么的。这回呢,我会把每一步说明尽可能详细一些,外加我的经验和理解(不少心得是重装了10次以上后得出的),希望能让后来者可以少走些弯路。


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


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


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


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



一、前期准备


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


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



1
ping www.baidu.com


2、设置主机名称


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


运行以下命令检查:



1
hostname --fqdn


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



1
如:


2
192.168.19.135
manage.cloudstack.com


vi /etc/sysconfig/network 将 HOSTNAME= 改为同你刚设置的一样。


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



3、配置时间同步


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


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



1
yum install ntp


4、修改Linux安全设置


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


vi /etc/selinux/config



1
SELINUX=permissive


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



1
setenforce
permissive


二、更新 yum 仓库


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


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



1
[cloudstack]


2
name=cloudstack


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


4
enabled=1


5
gpgcheck=0


三、安装管理节点


设置好源以后,我们就可以直接使用 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


3
max_connections=350


4
log-bin=mysql-bin


5
binlog-format='ROW'


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


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


现在,启动 mysql 服务:



1
service
mysqld start


缺省安装的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支持多种网络存储协议,如iSCSI、NFS、VMFS等。由于NFS简单易用,推荐使用NFS搭建网络存储。


说明:CloudStack使用了两种网络存储。一种是主存储,主存储用于存放虚拟机硬盘文件。主存储也可使用本地存储,并非必需使用网络存储。二级存储用于存放虚拟机模板/快照/ISO文件,二级存储只能使用网络存储。


我们这里以NFS为例。安装NFS服务:



1
yum install nfs-utils


编辑 /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 将其中的端口号全部打开



1
LOCKD_TCPPORT=32803


2
LOCKD_UDPPORT=32769


3
MOUNTD_PORT=892


4
RQUOTAD_PORT=875


5
STATD_PORT=662


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服务:



1
service
nfs start


2
service
rpcbind start


设置服务为自动重启



1
chkconfig
nfs on


2
chkconfig
rpcbind on


六、导入系统虚拟机模板


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


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


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



1
mkdir /tmp/iso
-p


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


七、登陆WEB-UI


太好了,目前为止我们的准备工作都完成了,现在你已经可以登陆CloudStack控制台啦。


先初始化一下管理节点,这步只要执行一次就行了:


cloudstack-setup-management

启动CloudStack服务:



1
service
cloudstack-management restart


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



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


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



1
chown cloud: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 文件来调整日志的输出级别、路径等。

DSC0000.png


CloudStack原生支持中文,怎么样看着亲切吧?

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


初次登陆时会显示向导页面,一步步引导你创建第一个基础架构。目前我们的准备工作尚未完成,还无法正确添加,因此这里先选择跳过。


DSC0001.png


登陆后点击“基础架构”,CloudStack资源管理的功能都在“基础架构”下。


其中,“区域”可以理解为一个机房;

     “提供点”可以理解为一个机架;

     “群集”是机架中主机的分组管理;

     “主存储”是网络存储,主要用于存放虚拟机硬盘的,当然你也可以使用本地存储;

     “二级存储”也是网络存储,主要用于存在虚拟机模板、快照的。


“系统VM”是CloudStack自带的专用虚机,用于管理二级存储及远程终端。其中二级存储虚机必须正常启动模板等一干功能才可用。远程终端虚机正常启动后,才能通过WEB页面直接访问虚机控制台。


  “虚拟路由器”也是CloudStack自带的专用虚机。主要用于网络隔离、端口转发等网络相关功能。


注意: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高级网络域的相关功能及添加方法。








附,可能遇到的问题:


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



1
drop
database cloud;


2
drop
database cloud_usage;


3
drop
database cloudbridge;


4
quit;


重新导入基础数据:



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


重新导入系统虚机:



1
mount -t
nfs 127.0.0.1:/export/secondary
/tmp/iso


2
rm  -rf
/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版。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-126280-1-1.html 上篇帖子: CloudStack学习笔记-初探 下篇帖子: CloudStack编译环境xenserver启动系统虚拟机失败
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表