在 CentOS 6.4 上安装 CloudStack 4.2

系统 Linux
和 OpenStack, OpenNebula 类似,CloudStack 是另一款开源云计算平台,CloudStack 也是控制节点+计算节点这种架构。本文详解了在 CentOS 6.4 上安装 CloudStack 4.2的方法。

又到年底,下月开始休假,所以这周基本上算今年 “努力” 的最后一周,接下来六周都不会有技术文章更新。

和 OpenStack, OpenNebula 类似,CloudStack 是另一款开源云计算平台。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 后重启:

  1. # yum update 
  2. # echo "cloudstack.vpsee.com" > /etc/hostname 
  3. # vi /etc/sysconfig/network 
  4. NETWORKING=yes 
  5. NETWORKING_IPV6=no 
  6. HOSTNAME=cloudstack.vpsee.com 
  7. # echo "192.168.2.150 cloudstack cloudstack.vpsee.com" >> /etc/hosts 
  8. # reboot 

添加 cloudstack 软件包的官方源,安装 ntp, cloudstack-management, mysql 数据库服务器:

  1. # vi /etc/yum.repos.d/cloudstack.repo 
  2. [cloudstack] 
  3. name=cloudstack 
  4. baseurl=http://cloudstack.apt-get.eu/rhel/4.2/ 
  5. enabled=1 
  6. gpgcheck=0 
  7. # yum update 
  8. # yum install ntp 
  9. # yum install cloudstack-management 
  10. # yum install mysql-server 

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

  1. # vi /etc/my.cnf 
  2. ... 
  3. [mysqld] 
  4. ... 
  5. innodb_rollback_on_timeout=1 
  6. innodb_lock_wait_timeout=600 
  7. max_connections=350 
  8. log-bin=mysql-bin 
  9. binlog-format = 'ROW' 
  10. [mysqld_safe] 
  11. ... 
  12. # service ntpd start 
  13. # chkconfig ntpd on 
  14. # service mysqld start 
  15. # chkconfig mysqld on 
  16. # mysql_secure_installation 

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

  1. # vi /etc/selinux/config 
  2. ... 
  3. SELINUX=permissive 
  4. ... 
  5. # setenforce permissive 
  6. # vi /etc/sysconfig/iptables 
  7. ... 
  8. -A INPUT -p tcp --dport 3306 -j ACCEPT 
  9. ... 
  10. # service iptables restart 

使用 cloudstack-setup-databases 初始化 ClouStack 数据库,完成后运行 cloudstack-setup-management:

  1. # cloudstack-setup-databases cloud:cloud@localhost --deploy-as=root:root -i 192.168.2.150 
  2. # cloudstack-setup-management 
  3. Starting to configure CloudStack Management Server: 
  4. Configure sudoers ...         [OK] 
  5. Configure Firewall ...        [OK] 
  6. Configure CloudStack Management Server ...[OK] 
  7. CloudStack Management Server setup is Done! 

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

  1. # yum install nfs-utils 
  2. # mkdir -p /export/primary 
  3. # mkdir -p /export/secondary 
  4. # vi /etc/exports 
  5. /export  *(rw,async,no_root_squash,no_subtree_check) 
  6. # exportfs -a 
  7. # vi /etc/sysconfig/nfs 
  8. ... 
  9. LOCKD_TCPPORT=32803 
  10. LOCKD_UDPPORT=32769 
  11. MOUNTD_PORT=892 
  12. RQUOTAD_PORT=875 
  13. STATD_PORT=662 
  14. STATD_OUTGOING_PORT=2020 
  15. ... 
  16. # service rpcbind start 
  17. # service nfs start 
  18. # chkconfig nfs on 
  19. # chkconfig rpcbind on 
  20. # reboot 
  21. # mkdir -p /mnt/primary 
  22. # mkdir -p /mnt/secondary 
  23. # mount -t nfs 192.168.2.150:/export/primary /mnt/primary 
  24. # mount -t nfs 192.168.2.150:/export/secondary /mnt/secondary 

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

  1. # vi /etc/sysconfig/iptables 
  2. ... 
  3. -A INPUT -s 192.168.2.0/24 -m state --state NEW -p udp --dport 111 -j ACCEPT 
  4. -A INPUT -s 192.168.2.0/24 -m state --state NEW -p tcp --dport 111 -j ACCEPT 
  5. -A INPUT -s 192.168.2.0/24 -m state --state NEW -p tcp --dport 2049 -j ACCEPT 
  6. -A INPUT -s 192.168.2.0/24 -m state --state NEW -p tcp --dport 32803 -j ACCEPT 
  7. -A INPUT -s 192.168.2.0/24 -m state --state NEW -p udp --dport 32769 -j ACCEPT 
  8. -A INPUT -s 192.168.2.0/24 -m state --state NEW -p tcp --dport 892 -j ACCEPT 
  9. -A INPUT -s 192.168.2.0/24 -m state --state NEW -p udp --dport 892 -j ACCEPT 
  10. -A INPUT -s 192.168.2.0/24 -m state --state NEW -p tcp --dport 875 -j ACCEPT 
  11. -A INPUT -s 192.168.2.0/24 -m state --state NEW -p udp --dport 875 -j ACCEPT 
  12. -A INPUT -s 192.168.2.0/24 -m state --state NEW -p tcp --dport 662 -j ACCEPT 
  13. -A INPUT -s 192.168.2.0/24 -m state --state NEW -p udp --dport 662 -j ACCEPT 
  14. ... 
  15. # service iptables restart 
  16. # service iptables save 

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

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

在计算节点上

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

  1. # yum update 
  2. # echo "cloudstack01.vpsee.com" > /etc/hostname 
  3. # vi /etc/sysconfig/network 
  4. NETWORKING=yes 
  5. NETWORKING_IPV6=no 
  6. HOSTNAME=cloudstack01.vpsee.com 
  7. # echo "192.168.2.151 cloudstack01 cloudstack.vpsee.com" >> /etc/hosts 
  8. # reboot 

添加 cloudstack 软件包的官方源,安装 ntp, cloudstack-agent 和 kvm:

  1. # vi /etc/yum.repos.d/cloudstack.repo 
  2. [cloudstack] 
  3. name=cloudstack 
  4. baseurl=http://cloudstack.apt-get.eu/rhel/4.2/ 
  5. enabled=1 
  6. gpgcheck=0 
  7. # yum update 
  8. # yum install ntp 
  9. # yum install cloudstack-agent 
  10. # yum install qemu-kvm 

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

  1. # vi /etc/libvirt/libvirtd.conf 
  2. ... 
  3. listen_tls = 0 
  4. listen_tcp = 1 
  5. tcp_port = "16509" 
  6. auth_tcp = "none" 
  7. mdns_adv = 0 
  8. ... 
  9. # vi /etc/sysconfig/libvirtd 
  10. ... 
  11. LIBVIRTD_ARGS="--listen" 
  12. ... 
  13. # vi /etc/libvirt/qemu.conf 
  14. ... 
  15. vnc_listen = "0.0.0.0" 
  16. ... 
  17. # service libvirtd restart 

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

  1. # iptables -I INPUT -p tcp -m tcp --dport 22 -j ACCEPT 
  2. # iptables -I INPUT -p tcp -m tcp --dport 1798 -j ACCEPT 
  3. # iptables -I INPUT -p tcp -m tcp --dport 16509 -j ACCEPT 
  4. # iptables -I INPUT -p tcp -m tcp --dport 5900:6100 -j ACCEPT 
  5. # iptables -I INPUT -p tcp -m tcp --dport 49152:49216 -j ACCEPT 
  6. # iptables-save > /etc/sysconfig/iptables 

测试

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

a docker web ui

责任编辑:黄丹 来源: vpsee.com
相关推荐

2013-04-07 15:14:41

2011-04-08 10:10:23

2011-02-25 10:36:24

2011-08-17 10:19:30

CentOSOpenStack N

2014-02-19 14:54:58

CentOS 6.5Xen

2020-08-28 11:20:01

CentOS7RocketMQ 4.运维

2011-10-28 16:05:56

Node.js

2022-12-02 11:37:47

2011-03-29 14:17:27

Cacti中文版Centos

2011-03-29 10:22:35

CentOS安装Zabbix

2011-03-11 17:14:27

2024-02-19 16:28:24

2013-03-11 10:37:38

CentOS 6.4

2013-11-27 09:37:38

CentOSCentOS 6.4VPN Server

2010-01-14 14:23:47

2011-03-09 10:52:36

CentOS安装LAMP

2012-10-29 16:45:07

CentOS 6.2Puppet

2017-06-06 14:25:54

CentOS 7Ceph分布式存储系统

2011-02-23 14:47:55

2011-01-20 10:27:39

点赞
收藏

51CTO技术栈公众号