码迷,mamicode.com
首页 > 其他好文 > 详细

CloudStack部署Centos6.5

时间:2015-06-02 17:17:17      阅读:249      评论:0      收藏:0      [点我收藏+]

标签:

CloudStack部署

 

 

部署方案:

方案

   

方案一

管理节点+KVM

 

方案二

管理节点+XENServer

 

方案三

管理节点+VMware(VCenter)

 
     

 

 

1 基础环境

 

1.1 网络配置

 

 

vi /etc/sysconfig/network-scripts/ifcfg-eth0

 

DEVICE=eth0

TYPE=Ethernet

UUID=f5b6bff2-ccb9-42ee-b920-cc4e7534e6b8

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=none

HWADDR=00:0C:29:6D:D2:AB

IPADDR=10.0.15.70

PREFIX=24

GATEWAY=10.0.15.2

DNS1=114.114.114.114

DEFROUTE=yes

IPV4_FAILURE_FATAL=yes

IPV6INIT=no

NAME="System eth0"

 

1.2 主机名配置

hostname -fqdn

技术分享

vi /etc/sysconfig/network

设置主机名

 

 

1.3 NTP

yum install ntp

 

1.4修改Linux安全设置

 

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

 

vi /etc/selinux/config

SELINUX=permissive

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

setenforce permissive

 

1.5更新 yum 仓库

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

 

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

 

[cloudstack]

name=cloudstack

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

enabled=1

gpgcheck=0

 

 

因网络慢问题,可以先下载所有安装包,然后创建本地源:

 

yum -y install httpd createrepo

wget -c -r -nd -A rpm http://cloudstack.apt-get.eu/rhel/4.2/ -P /var1/www/html/4.2

createrepo /var1/www/html/4.2/

service httpd start

 

 

 

-c 断点续传

 

-nd 递归下载时不创建一层一层的目录,把所有的文件下载到当前目录

 

-A 指定分号分隔的被接受扩展名的列表

 

 

 

yum配置改为:

 

[cloudstack]

name=cloudstack

baseurl=http://10.0.15.70/4.2 #修改成自己服务器的IP地址

enabled=1

gpgcheck=0

 

 

 

 

 

2 部署

2.1 管理节点

 

2.1.1 安装管理节点

 

yum install cloud-client

 

时间比较长,需要下载300多M的文件。

 

 

出现问题:

 

Insufficient space in download directory /var/cache/yum

 

解决方案:

 

增加一块磁盘,修改/etc/yum.conf的路径。

或者,直接修改/etc/yum.conf的路径。

 

 

 

2.1.2 配置数据库

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

 

yum install mysql-server

 

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

 

vi /etc/my.cnf

 

增加以下内容:

innodb_rollback_on_timeout=1

innodb_lock_wait_timeout=600

max_connections=350

log-bin=mysql-bin

binlog-format=‘ROW‘

 

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

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

 

现在,启动 mysql 服务:

service mysqld start

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

mysql_secure_installation

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

 

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

 

cloudstack-setup-databases cloud:123456@localhost --deploy-as=root:abcd1234!

 

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

技术分享

2.1.3 安装网络存储

 

虽然管理节点已经安装完了,但目前还无法使用,因为CloudStack的运转还需要依赖于系统虚机。(系统虚机的用处参见第七节)。系统虚机模板必须导入到网络存储上,所以我们接下来要安装网络存储。

 

CloudStack支持多种网络存储协议,如iSCSI、NFS、VMFS等。由于NFS简单易用,推荐使用NFS搭建网络存储。

 

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

 

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

 

yum install nfs-utils

技术分享

编辑 /etc/export 文件,设置主存储和二级存储的路径

 

vi /etc/exports

 

在文件中,增加如下内容

 

/export *(rw,async,no_root_squash)

实际建立文件夹

 

mkdir -p /export/secondary

mkdir -p /export/primary

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

 

LOCKD_TCPPORT=32803

LOCKD_UDPPORT=32769

MOUNTD_PORT=892

RQUOTAD_PORT=875

STATD_PORT=662

STATD_OUTGOING_PORT=2020

接着开放iptables相关端口:

 

vi /etc/sysconfig/iptables

 

-A INPUT -p tcp -m tcp --dport 111 -j ACCEPT

-A INPUT -p udp -m udp --dport 111 -j ACCEPT

-A INPUT -p tcp -m tcp --dport 2049 -j ACCEPT

-A INPUT -p tcp -m tcp --dport 32803 -j ACCEPT

-A INPUT -p udp -m udp --dport 32769 -j ACCEPT

-A INPUT -p tcp -m tcp --dport 892 -j ACCEPT

-A INPUT -p udp -m udp --dport 892 -j ACCEPT

-A INPUT -p tcp -m tcp --dport 875 -j ACCEPT

-A INPUT -p udp -m udp --dport 875 -j ACCEPT

-A INPUT -p tcp -m tcp --dport 662 -j ACCEPT

-A INPUT -p udp -m udp --dport 662 -j ACCEPT

 

service iptables restart

技术分享

启动NFS服务:

 

service nfs start

service rpcbind start

技术分享

出现错误:

Starting NFS mountd: [FAILED]

Starting NFS daemon: rpc.nfsd: writing fd to kernel failed: errno 111 (Connection refused)

rpc.nfsd: unable to set any sockets for nfsd

[FAILED]

解决方案:

技术分享

 

 

 

设置服务为自动重启

 

chkconfig nfs on

chkconfig rpcbind on

技术分享

2.1.4 导入系统虚拟机模板

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

 

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

 

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

mkdir /tmp/iso -p

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

cd /usr/share/cloudstack-common/scripts/storage/secondary/

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

 

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

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

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

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

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

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

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

 

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

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

 

技术分享

2.1.5 登录WEB-UI

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

 

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

cloudstack-setup-management

技术分享

启动CloudStack服务:

service cloudstack-management restart

技术分享

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

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

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

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

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

 

http://10.0.15.70: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有一个全局属性来控制二级存储所在的网段。如果这个网段没配或配置的不对,将无法成功能添加上二级存储。

 

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

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

技术分享

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

修改后,重启 CloudStack 生效。

技术分享

service cloudstack-management restart

 

技术分享

 

 

2.1.6 添加基础架构

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

 

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

 

 

附:可能遇到的问题

 

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

 

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

 

 

service cloudstack-management status

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

 

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

 

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

 

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

 

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

 

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

 

重新导入基础数据库:

 

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

 

drop database cloud;

drop database cloud_usage;

drop database cloudbridge;

quit;

重新导入基础数据:

 

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

重新导入系统虚机:

 

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

rm -rf /tmp/iso/

cd /usr/share/cloudstack-common/scripts/storage/secondary/

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

 

重启cloudstack服务

 

service cloudstack-management start

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

 

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

 

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

 

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

 

 

2.2 虚拟化节点

虚拟化节点可以支持:

KVM(硬件支持),XenServer,VMWare(需要安装vCenter)

 

Kvm的安装:http://my.oschina.net/qinerg/blog/145465

vCenter的安装:http://my.oschina.net/qinerg/blog/146257

 

因为没有多余的机器可用,所以,暂时不进行安装了。

 

 

 

 

2.3 基础资源域

添加一些基础架构。

参考:http://my.oschina.net/qinerg/blog/148200

 

 

 

参考

http://my.oschina.net/anthonyyau/blog/225008

 

http://blog.csdn.net/cnbird2008/article/details/8576680

 

http://my.oschina.net/qinerg/blog/145013

CloudStack部署Centos6.5

标签:

原文地址:http://www.cnblogs.com/heavyhe/p/4546867.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!