欢迎光临
专业Linux运维二十年

centos6.4安装CloudStack 4.2(开源云计算平台)详解

CloudStack 的前身是 Cloud.com 家的一款商业云计算产品(也有开源版本),2011年 Cloud.com 被 Citrix 收购,2012年的时候 Citrix 将收购的云平台 CloudStack 全部捐给了 Apache 基金会,自己则以 Citrix CloudPlatform (powered by Apache CloudStack) 的形式为客户提供商业化的云计算解决方案。

按照《OpenStack, OpenNebula, Eucalyptus, CloudStack 社区活跃度比较》的统计,貌似 CloudStack 项目的活跃程度仅次于 OpenStack. 和大多数云计算、集群软件一样,CloudStack 也是控制节点+计算节点这种架构,控制节点(cloudstack-management)用来统一管理计算节点,提供资源分配和任务,提供 API、GUI、数据库等服务;计算节点(cloudstack-agent)则用来跑虚拟机。我们需要做的是,

在控制节点上安装 cloudstack-management;
在(每个)计算节点上安装 cloudstack-agent 和 kvm.
在控制节点上

安装完 CentOS 6.4 系统后,升级系统并修改 hostname 后重启:

 

复制代码

代码如下:


# yum update 

# echo “cloudstack.vpsee.com” > /etc/hostname 

# vi /etc/sysconfig/network 

NETWORKING=yes 

NETWORKING_IPV6=no 

HOSTNAME=cloudstack.vpsee.com 

# echo “192.168.2.150 cloudstack cloudstack.vpsee.com” >> /etc/hosts 

# reboot 

添加 cloudstack 软件包的官方源,安装 ntp, cloudstack-management, mysql 数据库服务器:</p> <p># vi /etc/yum.repos.d/cloudstack.repo 

[cloudstack] 

name=cloudstack 

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

enabled=1 

gpgcheck=0 

# yum update 

# yum install ntp 

# yum install cloudstack-management 

# yum install mysql-server 

 

修改 mysql 配置文件,加入下面几行,启动 ntp, mysql 服务并运行 mysql_secure_installation 给 mysql 设置密码:
 

复制代码

代码如下:


# vi /etc/my.cnf 

… 

[mysqld] 

… 

innodb_rollback_on_timeout=1 

innodb_lock_wait_timeout=600 

max_connections=350 

log-bin=mysql-bin 

binlog-format = ‘ROW’ 

[mysqld_safe] 

… 

# service ntpd start 

# chkconfig ntpd on 

# service mysqld start 

# chkconfig mysqld on 

# mysql_secure_installation 

 

修改 SELINUX 设置,并配置防火墙允许访问 mysql 的 3306 端口:
 

复制代码

代码如下:


# vi /etc/selinux/config 

… 

SELINUX=permissive 

… 

# setenforce permissive 

# vi /etc/sysconfig/iptables 

… 

-A INPUT -p tcp –dport 3306 -j ACCEPT 

… 

# service iptables restart 

使用 cloudstack-setup-databases 初始化 ClouStack 数据库,完成后运行 cloudstack-setup-management:</p> <p># cloudstack-setup-databases cloud:cloud@localhost –deploy-as=root:root -i 192.168.2.150 

# cloudstack-setup-management 

Starting to configure CloudStack Management Server: 

Configure sudoers … [OK] 

Configure Firewall … [OK] 

Configure CloudStack Management Server …[OK] 

CloudStack Management Server setup is Done! 

 

控制节点应该和存储分开,这里为了方便,我们把 NFS 也装在这个控制节点上,并自己挂载自己的 NFS 分区:
 

复制代码

代码如下:


# yum install nfs-utils 

# mkdir -p /export/primary 

# mkdir -p /export/secondary 

# vi /etc/exports 

/export *(rw,async,no_root_squash,no_subtree_check) 

# exportfs -a 

# vi /etc/sysconfig/nfs 

… 

LOCKD_TCPPORT=32803 

LOCKD_UDPPORT=32769 

MOUNTD_PORT=892 

RQUOTAD_PORT=875 

STATD_PORT=662 

STATD_OUTGOING_PORT=2020 

… 

# service rpcbind start 

# service nfs start 

# chkconfig nfs on 

# chkconfig rpcbind on 

# reboot 

# mkdir -p /mnt/primary 

# mkdir -p /mnt/secondary 

# mount -t nfs 192.168.2.150:/export/primary /mnt/primary 

# mount -t nfs 192.168.2.150:/export/secondary /mnt/secondary 

 

修改防火墙配置,开放下面一些端口:
 

复制代码

代码如下:


# vi /etc/sysconfig/iptables 

… 

-A INPUT -s 192.168.2.0/24 -m state –state NEW -p udp –dport 111 -j ACCEPT 

-A INPUT -s 192.168.2.0/24 -m state –state NEW -p tcp –dport 111 -j ACCEPT 

-A INPUT -s 192.168.2.0/24 -m state –state NEW -p tcp –dport 2049 -j ACCEPT 

-A INPUT -s 192.168.2.0/24 -m state –state NEW -p tcp –dport 32803 -j ACCEPT 

-A INPUT -s 192.168.2.0/24 -m state –state NEW -p udp –dport 32769 -j ACCEPT 

-A INPUT -s 192.168.2.0/24 -m state –state NEW -p tcp –dport 892 -j ACCEPT 

-A INPUT -s 192.168.2.0/24 -m state –state NEW -p udp –dport 892 -j ACCEPT 

-A INPUT -s 192.168.2.0/24 -m state –state NEW -p tcp –dport 875 -j ACCEPT 

-A INPUT -s 192.168.2.0/24 -m state –state NEW -p udp –dport 875 -j ACCEPT 

-A INPUT -s 192.168.2.0/24 -m state –state NEW -p tcp –dport 662 -j ACCEPT 

-A INPUT -s 192.168.2.0/24 -m state –state NEW -p udp –dport 662 -j ACCEPT 

… 

# service iptables restart 

# service iptables save 

 

创建虚拟机需要有模版,这个模版可以自己做,也可以下载官方现成的。需要注意的是,官方文档中的 /usr/lib64/cloud/common/… 路径不对,应该是 /usr/share/cloudstack-common/…:
 

复制代码

代码如下:


# /usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /mnt/secondary -u <a href=”http://d21ifhcun6b1t2.cloudfront.net/templates/4.2/systemvmtemplate-2013-06-12-master-kvm.qcow2.bz2″>http://d21ifhcun6b1t2.cloudfront.net/templates/4.2/systemvmtemplate-2013-06-12-master-kvm.qcow2.bz2</a> -h kvm -s -F 

 

在计算节点上

为了保持一致,我们在计算节点上也采用 CentOS 6.4. 在每个计算节点上都需要如下的安装和配置。升级系统并修改 hostname、重启:
 

复制代码

代码如下:


# yum update 

# echo “cloudstack01.vpsee.com” > /etc/hostname 

# vi /etc/sysconfig/network 

NETWORKING=yes 

NETWORKING_IPV6=no 

HOSTNAME=cloudstack01.vpsee.com 

# echo “192.168.2.151 cloudstack01 cloudstack.vpsee.com” >> /etc/hosts 

# reboot 

添加 cloudstack 软件包的官方源,安装 ntp, cloudstack-agent 和 kvm:</p> <p># vi /etc/yum.repos.d/cloudstack.repo 

[cloudstack] 

name=cloudstack 

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

enabled=1 

gpgcheck=0 

# yum update 

# yum install ntp 

# yum install cloudstack-agent 

# yum install qemu-kvm 

 

修改 libvirt 相关配置文件,去掉下面几行的注释,注意把 auth_tcp 改成 “none”,如果需要 vnc 访问的话别忘了取消 qemu.conf 里面的 vnc_listen 相关注释,重启 libvirtd 服务使配置生效:
 

复制代码

代码如下:


# vi /etc/libvirt/libvirtd.conf 

… 

listen_tls = 0 

listen_tcp = 1 

tcp_port = “16509” 

auth_tcp = “none” 

mdns_adv = 0 

… 

# vi /etc/sysconfig/libvirtd 

… 

LIBVIRTD_ARGS=”–listen” 

… 

# vi /etc/libvirt/qemu.conf 

… 

vnc_listen = “0.0.0.0” 

… 

# service libvirtd restart 

 

别忘了让防火墙开放必要的端口:
 

复制代码

代码如下:


# 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 

 

测试

打开浏览器,访问控制节点 http://192.168.2.150:8080/client/ 就会看到登录界面,默认用户名和密码是 admin/password,登录后修改密码、做一些配置后就可以开始用了:

脚本之家
赞(0) 打赏
未经允许不得转载:Linux老运维 » centos6.4安装CloudStack 4.2(开源云计算平台)详解

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫