一、环境

1.软件信息

名称

版本

备注

CloudStack

4.3.1


Centos

6.5


Mysql

5.x

系统自带

Tomcat

6.x/7.x

系统自带


二、配置Cloudstack计算节点

1.配置YUM源安装cloudstack-agent

[root@CloudStack ~]#  mkdir /opt/cloudstack     #创建Cloudstack文件夹,将安装包安装上传至此
[root@CloudStack cloudstack]# ls
cloudstack-agent-4.5.2-1.el6.x86_64.rpm            cloudstack-mysql-ha-4.5.2-1.el6.x86_64.rpm
cloudstack-awsapi-4.5.2-1.el6.x86_64.rpm           cloudstack-usage-4.5.2-1.el6.x86_64.rpm
cloudstack-baremetal-agent-4.5.2-1.el6.x86_64.rpm  cloudstack-cli-4.5.2-1.el6.x86_64.rpm  cloudstack-common-4.5.2-1.el6.x86_64.rpm         cloudstack-management-4.5.2-1.el6.x86_64.rpm      
[root@CloudStack ~]# yum install -y createrepo   #可使用在线源或者本地源安装此包
[root@CloudStack ~]#  createrepo -p -d -o /opt/cloudstack /opt/cloudstack/    #建立本地安装源
[root@CloudStack ~]# vim CentOS-Base.repo     #在文件底部添加下面内容
[cloudstack]
name=cloudstack
gpgcheck=0
enabled=1
baseurl=file:///opt/cloudstack
[root@compter cloudstack]# yum install  -y cloudstack-agent  qemu-kvm  #安装cloudstack agent软件



2. 配置Libvirt

[root@compter cloudstack]# vi /etc/libvirt/libvirt.conf   #添加下面内容
listen_tls = 0
listen_tcp = 1
tcp_port = "16509"
auth_tcp = "none"
mdns_adv = 0

[root@compter cloudstack]# vi /etc/sysconfig/libvirtd
...   ##取消改行的注释
LIBVIRTD_ARGS="--listen"
[root@compter cloudstack]# vi /etc/libvirt/qemu.conf
...    ##取消如下行注释
vnc_listen = "0.0.0.0"

错误1:

2016-08-09 17:24:40.743+0000: 2982: error : virNetTLSContextCheckCertFile:113 : Cannot  directory

解决:

vim  /etc/libvirt/libvirtd.conf   #取消下面注释

listen_tls = 0


3.配置防火墙

iptables -I INPUT -p tcp -m tcp --dport 22 -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 1798 -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 16509 -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 5900:6100 -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 49152:49216 -j ACCEPT
iptables-save > /etc/sysconfig/iptables

4.配置网卡

[root@compter cloudstack]# cd /etc/sysconfig/network-scripts/
[root@compter cloudstack]# cp ifcfg-eth0 ifcfg-cloudbr0
分别编辑eth0和br0
ifcfg-eth0改成如下:
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
BRIDGE=br0
ifcfg-cloudbr0改成如下:
DEVICE=cloudbr0
TYPE=Bridge
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.16.245
NETMASK=255.255.255.0
GATEWAY=192.168.16.1
[root@compter cloudstack]#  /etc/init.d/network restart

三、配置Cloudstack管理节点

1.安装cloudstack

[root@CloudStack ~]#  mkdir /opt/cloudstack     #创建Cloudstack文件夹,将安装包安装上传至此
[root@CloudStack cloudstack]# ls
cloudstack-agent-4.5.2-1.el6.x86_64.rpm            cloudstack-mysql-ha-4.5.2-1.el6.x86_64.rpm
cloudstack-awsapi-4.5.2-1.el6.x86_64.rpm           cloudstack-usage-4.5.2-1.el6.x86_64.rpm
cloudstack-baremetal-agent-4.5.2-1.el6.x86_64.rpm  cloudstack-cli-4.5.2-1.el6.x86_64.rpm  cloudstack-common-4.5.2-1.el6.x86_64.rpm         cloudstack-management-4.5.2-1.el6.x86_64.rpm


[root@CloudStack ~]# yum install -y createrepo   #可使用在线源或者本地源安装此包
[root@CloudStack ~]#  createrepo -p -d -o /opt/cloudstack /opt/cloudstack/    #建立本地安装源
[root@CloudStack ~]# vim CentOS-Base.repo     #在文件底部添加下面内容
[cloudstack]
name=cloudstack
gpgcheck=0
enabled=1
baseurl=file:///opt/cloudstack
[root@CloudStack ~]#yum -y install cloudstack-management


2.安装Mysql数据库

(1) 安装Mysql 服务器

[root@CloudStack ~]# yum install mysql-server -y    #安装mysql
[root@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'
[root@CloudStack ~]# /etc/init.d/mysqld start       #启动
[root@CloudStack ~]# mysqladmin  -uroot password root    #增加密码

(2) 创建CloudStack 的初始化数据库文件

[root@CloudStack ~]# cloudstack-setup-databases cloud:cloud@localhost --deploy-as=root:root -e file -m password -k password -i 192.168.16.245    
#尾部IP为本机


3.配置Cloudstack管理节点

(1) 挂载辅助存储

[root@CloudStack ~]#  rpm -qa nfs-utils rpcbind    #查看是否安装nfs
[root@CloudStack ~]# yum install -y nfs-utils rpcbind     #若没有安装则安装
[root@CloudStack ~]# /etc/init.d/rpcbind start ; /etc/init.d/nfs start    #启动NFS服务(必须先启动RPC)
[root@CloudStack ~]#  mount -t nfs 192.168.16.246:/data /mnt/secondary/    #挂载辅助存储

(2) 编辑防火墙设置

[root@CloudStack ~]# vi /etc/sysconfig/iptables       #编辑防火墙配置文件
...
-A INPUT -p tcp --dport 3306 -j ACCEPT
-A INPUT -s 你的网段/24 -m state --state NEW -p udp --dport 111 -j ACCEPT
-A INPUT -s 你的网段/24  -m state --state NEW -p tcp --dport 111 -j ACCEPT
-A INPUT -s 你的网段/24  -m state --state NEW -p tcp --dport 2049 -j ACCEPT
-A INPUT -s 你的网段/24  -m state --state NEW -p tcp --dport 32803 -j ACCEPT
-A INPUT -s 你的网段/24  -m state --state NEW -p udp --dport 32769 -j ACCEPT
-A INPUT -s 你的网段/24  -m state --state NEW -p tcp --dport 892 -j ACCEPT
-A INPUT -s 你的网段/24  -m state --state NEW -p udp --dport 892 -j ACCEPT
[root@CloudStack ~]# /etc/init.d/iptables start
[root@CloudStack ~]# /etc/init.d/iptables save


(3) 上传KVM系统虚拟机模版

[root@CloudStack /]#
 
/usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt 
-m /mnt/secondary -u http://
你的服务器地址 /systemvm64template-2014-01-14-master-kvm.qcow2.bz2 -h kvm –F  
#从网络导入KVM模板


或者:

[root@CloudStack /]# /usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /mnt/secondary/ -f /root/systemvm64template-2015-05-14-4.5.1-kvm.qcow2.bz2  -h kvm -F              
#从本地路径中导入KVM模板


(4) 启动管理服务

[root@CloudStack ~]# cloudstack-setup-management


(5) 相关错误解决

错误1:

clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)

解决:

/etc/init.d/iptables stop 


错误2:

mkdir: cannot create directory `/mnt/secondary/template': Permission denied

Failed to write to mount point /mnt/secondary -- is it mounted?

解决:

服务端:chown -R nfsnobody:nfsnobody /data 


错误3:

Checking hostname ... [Failed]

Please edit /etc/hosts, add a Fully Qualified Domain Name as your hostname

解决:

vi /etc/hosts 添加本地主机名



四、CLoudStack区域及云资源池配置

1.登录信息

登陆Cloustack管理节点平台

登录地址

账户

密码

备注

http://192.168.16.245:8080/client

admin

password


2.新建区域

点击左侧,基础区域,区域,点击新建:



3.设置区域

输入区域信息:

CloudStack扁平化安装+KVM_第1张图片


CloudStack扁平化安装+KVM_第2张图片

CloudStack扁平化安装+KVM_第3张图片


3. 设置网络

编辑网络标签,按规划,分为两个网络:

  1. 使用一块网卡,并设置流量标签为:cloudbr0



CloudStack扁平化安装+KVM_第4张图片




4.配置提供点


CloudStack扁平化安装+KVM_第5张图片


5.配置来宾网络


CloudStack扁平化安装+KVM_第6张图片

6.配置群集

CloudStack扁平化安装+KVM_第7张图片

7.添加主机


CloudStack扁平化安装+KVM_第8张图片


8.由于使用本地存储,所以跳过主存储配置,直接添加二级存储


9.完成区域创建







建议:

打开管理端日志: tail -f /var/log/cloudstack/management/management-server.log

打开计算端日志: tail -f /var/log/cloudstack/agent/agent.log

wKioL1er2MuhA84EAAAL5uKURI0748.png-wh_50

10. 调整相关参数

在全局设置中,搜索相关参数名,对参数进行修改,优化整个应用。

编号

名称

默认值

修改值

001

secstorage.allowed.internal.sites

二级存储通讯地址范围

二级存储所在的网段

如二级存储为\

nfs://10.32.66.249/

则此处可以设置为\

10.32.66.0/16

002

expunge.interval

表示多少秒之后执行实例彻底删除的操作

86400

根据实际情况填写,比如

用户需要保留2小时,那就填写7200

003

expunge.delay

表示在彻底删除被销毁的实例前需要等待多少秒

86400

根据实际情况填写,默认跟变量expunge.interval相同,可以自行设置

004

expunge.workers

执行彻底删除实例的任务数

1

可以设置为8,同时可以对8个已经销毁的实例进行删除操作

005

cpu.overprovisioning.factor

1

CPU超分值,一般3~4较合理

006

mem.overprovisioning.factor

1

MEM超分值

007

storage.overprovisioning.factor

2

存储超分值,默认2


11.相关错误解决

错误1:

FATAL: Error inserting kvm_intel (/lib/modules/2.6.32-573.el6.x86_64/kernel/arch/x86/kvm/kvm-intel.ko): Unknown symbol in module, or unknown parameter (see dmesg)

解决:

编辑虚拟机的vmx文件,添加 vhv.enable= "TRUE"


错误2:

无法添加KVM主机

解决:

KVM主机是否启动KVM模块, 管理节点网络便签是否更改,删除管理节点数据库 重新建立


错误3:

系统虚拟机啊状态running,代理状态空



解决:开启混杂模式

CloudStack扁平化安装+KVM_第9张图片


五、其他配置

1.上传ISO模版等

使用admin账户登录到CloudStack界面,依次点击:模版,再右侧选择视图中选择ISO,点击右侧注册ISO




注意:如上URL必须为http方式,且保证正常可以下载该文件。应保证服务器地址,处于secstorage.allowed.internal.sites参数配置中的网段内。


2.创建网络(基础网络无法添加,高级网络才可以

使用admin账户登录到CloudStack界面,依次点击:网络,点击右侧添加来宾网络



CloudStack扁平化安装+KVM_第10张图片

CloudStack扁平化安装+KVM_第11张图片